Implementors are aspectJ extension ignoring closures.
Subinterfaces represent distiguishing features of
Ideally they would be the only means of interaction between extensions and the extended modules.
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.
|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.
Trait-extender central extension registry and life cycle handler.
Implementors must handle:
|ExtensionPoint<E,M extends Trait>||
Defines a two-way interfacing mechanism between a
The extended object can call methods of the
|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.
An method override extension routing aspect.
Overrides calls to methods marked by an
Overriding methods can call the overridden method using its correspondent
|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>||
Handles also spring-bundle extension registrations.
Works in conjunction with
The spring-context XML sample bellow shows the definition of spring-bundled trait-extensions:
Trait-extension runtime target-exception wrapper.
Signals an invalid extension state or extension definition.
A runtime retained annotation that marks AJ-trait-extended methods of
It defines the actual circumstances in which the
Methods marked by this aspect are advised by an extension-routing around advice in
Copyright © 2005–2017 Alfresco Software. All rights reserved.