| AJExtender |
Static utility used for aspectJ extension consistency , routing and for
maintaining thread-local extension-bypass context stack.
AspectJ extension routing distinguishes between the following contexts in
which an extended method (i.e.
|
| AJProxyTrait |
Java Proxy InvocationHandler to be used in conjuction with
asprctJ extended traits.
Method calls will be delegated to a given Extensible object method
having the same signature within an AJExtender.ExtensionBypass context.
|
| ExtendedTrait<T extends Trait> |
Trait based extension reference holder.
Keeps track of extension references for one extensible and allows the
collection of those extensions when the extensible is collected.
|
| Extender |
Trait-extender central extension registry and life cycle handler.
Implementors must handle:
ExtensionBundle life cycle operations that start and stop bundles
of extension points implementations at runtime.
|
| ExtenderImpl |
Standard-singleton Extender implementation.
|
| ExtensionPoint<E,M extends Trait> |
Defines a two-way interfacing mechanism between a Trait exposing
object and an extension of that object.
The extended object can call methods of the ExtensionPoint.extensionAPI which will
be able to interact with the extended object through the ExtensionPoint.traitAPI
interface it was paired with in the extension point.
|
| InstanceExtension<E,T extends Trait> |
Sub classes are extension API implementors that get instantiated once per
extensible-extension point definition.
|
| InstanceExtensionFactory<I extends InstanceExtension<E,T>,T extends Trait,E> |
Creates extension sub classes that are extension API implementors once per
extensible-extension point definition.
|
| RegistryExtensionBundle |
|
| RouteExtensions |
An method override extension routing aspect.
Overrides calls to methods marked by an Extend annotation with calls
to methods having the same signature in extensions registered for the
ExtensionPoint referred by the Extend method annotation.
Overriding methods can call the overridden method using its correspondent
Trait representation (i.e.
|
| SingletonExtension<E,T extends Trait> |
A singleton extension API implementor.
|
| SingletonExtensionFactory<E,S extends SingletonExtension<E,T>,T extends Trait> |
Creates singleton extension sub classes that are extension API implementors.
|
| SpringBeanExtension<E,T extends Trait> |
A SingletonExtension extension-API implementor defined as a
spring-bean.
Handles also spring-bundle extension registrations.
|
| SpringExtensionBundle |
|
| SpringExtensionPoint |
|