backport175 has been designed to work in highly dynamic environment (such as load-time and runtime weaving for AOP). In environments like this the bytecode on disk is not the "current" one being executed. Since the bytecode has been transformed during the execution of the application. What this means is that annotations can have been added or removed.
We therefore need two things:
- a way for the vendor/user to define a source for the bytecode since it is not available on disk
- an API for refreshing the annotation reader, so we know that the annotations we have reflects the annotation in the latest bytecode
Defining the bytecode source
This is done by implementing the
org.codehaus.backport175.reader.bytecode.spi.BytecodeProvider interface. This interface is a strategy with one single method you need to implement: