org.apache.tuscany.core.extension.config
Interface ImplementationProcessor
- All Known Implementing Classes:
- AutowireProcessor, ComponentNameProcessor, ContextProcessor, DefaultProcessor, DestroyProcessor, ImplementationProcessorSupport, InitProcessor, MonitorProcessor, ParentContextProcessor, PropertyProcessor, PropertyReferenceValidator, ReferenceProcessor, ScopeProcessor, SDOHelperProcessor, ServiceProcessor
public interface ImplementationProcessor
Implementations process a Java class and contribute to a ComponentType
or provide some validation function. Implementations may contribute to defined ComponentType
metadata, a general ComponentType
extensibility element, or a more specific Java extensibility
element, which is associated with JavaExtensibilityElement
and
stored in the ComponentType
's extensibility collection. Processors will typically use JavaExtensibilityHelper#getExtensibilityElement(org.apache.tuscany.model.assembly.Extensible)
, which
provides methods for retrieving the Java extensibility element.
In the runtime, a ComponentTypeIntrospector
system service introspects component implementation
types when an assembly is loaded, calling out to registered processors in the order defined by ComponentTypeIntrospector#introspect(Class>)
. Generally, processors are also system services which
register themeselves with a ComponentTypeIntrospector
. For convenience, a processor
implementation can extend <@link org.apache.tuscany.core.config.processor.ImplementationProcessorSupport},
which provides mechanisms for doing this.
There are a series of bootsrap, or primordial, processors configured in the runtime, and they serve as
examples of how an ImplementationProcessor
can be implemented.
- Version:
- $$Rev$$ $$Date$$
- See Also:
PropertyProcessor
,
ReferenceProcessor
,
InitProcessor
,
DestroyProcessor
,
ComponentNameProcessor
,
ImplementationProcessorSupport
Method Summary |
void |
visitClass(java.lang.Class<?> clazz,
org.apache.tuscany.model.assembly.ComponentType type)
|
void |
visitConstructor(java.lang.reflect.Constructor<?> constructor,
org.apache.tuscany.model.assembly.ComponentType type)
|
void |
visitEnd(java.lang.Class<?> clazz,
org.apache.tuscany.model.assembly.ComponentType type)
|
void |
visitField(java.lang.reflect.Field field,
org.apache.tuscany.model.assembly.ComponentType type)
|
void |
visitMethod(java.lang.reflect.Method method,
org.apache.tuscany.model.assembly.ComponentType type)
|
void |
visitSuperClass(java.lang.Class<?> clazz,
org.apache.tuscany.model.assembly.ComponentType type)
|
visitClass
void visitClass(java.lang.Class<?> clazz,
org.apache.tuscany.model.assembly.ComponentType type)
throws ConfigurationLoadException
- Throws:
ConfigurationLoadException
visitSuperClass
void visitSuperClass(java.lang.Class<?> clazz,
org.apache.tuscany.model.assembly.ComponentType type)
throws ConfigurationLoadException
- Throws:
ConfigurationLoadException
visitMethod
void visitMethod(java.lang.reflect.Method method,
org.apache.tuscany.model.assembly.ComponentType type)
throws ConfigurationLoadException
- Throws:
ConfigurationLoadException
visitConstructor
void visitConstructor(java.lang.reflect.Constructor<?> constructor,
org.apache.tuscany.model.assembly.ComponentType type)
throws ConfigurationLoadException
- Throws:
ConfigurationLoadException
visitField
void visitField(java.lang.reflect.Field field,
org.apache.tuscany.model.assembly.ComponentType type)
throws ConfigurationLoadException
- Throws:
ConfigurationLoadException
visitEnd
void visitEnd(java.lang.Class<?> clazz,
org.apache.tuscany.model.assembly.ComponentType type)
throws ConfigurationLoadException
- Throws:
ConfigurationLoadException
-