Package org.apache.tuscany.sca.implementation.java.introspect.impl

Class Summary
AbstractPropertyProcessor<A extends Annotation> Base class for ImplementationProcessors that handle annotations that add Properties.
AllowsPassByReferenceProcessor Processes AllowsPassByReference on an implementation
BaseJavaClassVisitor A convenience class for annotation processors which alleviates the need to implement unused callbacks
ComponentNameProcessor Processes @ComponentName annotations on a component implementation and adds a JavaMappedProperty to the component type which will be used to inject the appropriate component name.
ConstructorProcessor Handles processing of a constructor decorated with Constructor
ContextProcessor Processes @Context annotations on a component implementation and adds a JavaMappedProperty to the component type which will be used to inject the appropriate context
ConversationIDProcessor Processes @ConversationID annotations on a component implementation and adds a JavaMappedProperty to the component type which will be used to inject the appropriate conversationId
ConversationProcessor  
DestroyProcessor Processes the @Destroy annotation on a component implementation and updates the component type with the decorated destructor method
EagerInitProcessor Handles processing of EagerInit
HeuristicPojoProcessor Heuristically evaluates an un-annotated Java implementation type to determine services, references, and properties according to the algorithm described in the SCA Java Client and Implementation Model Specification

TODO Implement:

When no service interface is annotated, need to calculate a single service comprising all public methods that are not reference or property injection sites.

InitProcessor Processes the @Init annotation on a component implementation and updates the component type with the decorated initializer method
JavaIntrospectionHelper Implements various reflection-related operations
JSR250PolicyProcessor Processes an javax.annotation.security.* annotation Below is a list of annotations Type Method RunAs x RolesAllowed x x PermitAll x x DenyAll x
PolicyProcessor Processes an Requires annotation
PropertyProcessor Processes an @Property annotation, updating the component type with corresponding JavaMappedProperty
ReferenceProcessor Processes an @Reference annotation, updating the component type with corresponding org.apache.tuscany.spi.implementation.java.JavaMappedReference
ResourceProcessor Processes an @Resource annotation, updating the component type with corresponding org.apache.tuscany.spi.implementation.java.JavaResourceImpl
ScopeProcessor Processes the JavaScopeImpl annotation and updates the component type with the corresponding implmentation scope
ServiceProcessor Processes an Service annotation and updates the component type with corresponding Services.
 

Exception Summary
AmbiguousConstructorException Thrown when constructor parameters cannot be unambiguously resolved to a property or reference
DuplicateConstructorException Thrown when more than one component implementation constructor is annotated with Constructor
DuplicateDestructorException Thrown when an implementation is annotated multiple times with Destroy
DuplicateInitException Thrown when an implementation is annotated multiple times with @org.osoa.sca.annotations.Init
DuplicatePropertyException Thrown when an implementation has more than one property injection site with the same name
DuplicateReferenceException Thrown when an implementation has more than one reference injection site with the same name
DuplicateResourceException Thrown when an implementation has more than one resource injection site with the same name
IllegalCallbackReferenceException Denotes an illegal use of Callback on a reference
IllegalContextException Denotes an illegal signature for a method decorated with Context
IllegalDestructorException Denotes an illegal signature for a method decorated with Destroy
IllegalInitException Denotes an illegal signature for a method decorated with @org.osoa.sca.annotations.Init
IllegalPropertyException Denotes an illegal property definition in a component type
IllegalReferenceException Denotes an illegal reference definition in a component type
IllegalResourceException Denotes an illegal resource definition in a component type
IllegalServiceDefinitionException Denotes an illegal use of the @org.osoa.sca.annotations.Service annotation
InvalidConstructorException Denotes an invalid constructor definition, e.g.
InvalidConversationalImplementation Raised when an implementation specifies improper conversational metadata
InvalidPropertyException Denotes an invalid usage of Property
InvalidReferenceException Denotes an invalid usage of Reference
InvalidResourceException Denotes an invalid usage of @org.apache.tuscany.api.annotation.Resource
InvalidServiceType Thrown when a service type specified by an Service annotation is invalid, e.g.
NoConstructorException Thrown when a suitable constructor for a component implementation cannot be found
ServiceTypeNotFoundException Thrown when a service interface cannot be determined based on a heuristic evaluation of an implementation
UnknownContextTypeException Thrown when a method or field marked with Context takes an unknown type
 

Annotation Types Summary
Resource Annotation used to indicate a resource should be provided to an implementation by the runtime.