Interface | Description |
---|---|
AJExtender.ExtensionBypass<R> |
Implementors are aspectJ extension ignoring closures.
|
Extensible |
An
Extensible object exposes a set of Trait s as
ExtendedTrait s objects.An ExtendedTrait is an association between a Trait exposing
object and several extension objects.The actual Trait s and associated extensions provided by an
Extensible object are given by its ExtensionPoint handling
strategy and by the current set of registered extensions (see
Extender ).The exposed Trait s can be thought of as parts of an object's
interface that will be exposed to an extension. |
ExtensionBundle |
Implementors are sets of extension implementations that are registered on
specific
ExtensionPoint for given Extender s. |
ExtensionFactory<E> |
Creates extension instances for given
Trait s and
ExtensionPoint s. |
Trait |
Markup interface.
Subinterfaces represent distiguishing features of Extensible objects
that are meant to be extended and exposed to the extending code.Ideally they would be the only means of interaction between extensions and the extended modules. |
Class | Description |
---|---|
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 |
A
SpringBeanExtension s collection that get registered on the
Extender 's registry on SpringExtensionBundle.afterPropertiesSet() .Works in conjunction with SpringBeanExtension s and
SpringExtensionPoint s to define and start spring based
ExtensionBundle s of SingletonExtension s.The spring-context XML sample bellow shows the definition of spring-bundled trait-extensions: |
SpringExtensionPoint |
An
ExtensionPoint spring bean wrapper with spring registering
life-cycle management.Works in conjunction with SpringBeanExtension s and
SpringExtensionBundle s to define spring based ExtensionBundle
s of singleton extensions. |
Exception | Description |
---|---|
ExtensionTargetException |
Trait-extension runtime target-exception wrapper.
|
InvalidExtension |
Signals an invalid extension state or extension definition.
|
Annotation Type | Description |
---|---|
Extend |
A runtime retained annotation that marks AJ-trait-extended methods of
Extensible objects.It defines the actual circumstances in which the ExtensionPoint
defined using Extend.extensionAPI() and Extend.traitAPI() has its
extension invoked.Methods marked by this aspect are advised by an extension-routing around advice in RouteExtensions . |
Copyright © 2005–2017 Alfresco Software. All rights reserved.