Class AssistedTypeRegistrationExtension
- java.lang.Object
-
- org.int4.dirk.extensions.assisted.AssistedTypeRegistrationExtension
-
- All Implemented Interfaces:
TypeRegistrationExtension
public class AssistedTypeRegistrationExtension extends java.lang.Object implements TypeRegistrationExtension
Extension which provides implementations of abstract classes or interfaces annotated with the configured assist annotation. The types must have a single abstract method with a concrete, non primitive return type.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAssistedTypeRegistrationExtension.Interceptor<P>Interceptor for generated subclass of assisted injection factories.-
Nested classes/interfaces inherited from interface org.int4.dirk.spi.discovery.TypeRegistrationExtension
TypeRegistrationExtension.Registry
-
-
Constructor Summary
Constructors Constructor Description AssistedTypeRegistrationExtension(AnnotationStrategy annotationStrategy, LifeCycleCallbacksFactory lifeCycleCallbacksFactory, AssistedAnnotationStrategy<?> strategy)Constructs a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidderiveTypes(TypeRegistrationExtension.Registry registry, java.lang.reflect.Type factoryType)Called during registration of new types to allow the extension to register further types that can be directly derived from the givenType.
-
-
-
Constructor Detail
-
AssistedTypeRegistrationExtension
public AssistedTypeRegistrationExtension(AnnotationStrategy annotationStrategy, LifeCycleCallbacksFactory lifeCycleCallbacksFactory, AssistedAnnotationStrategy<?> strategy)
Constructs a new instance.- Parameters:
annotationStrategy- anAnnotationStrategy, cannot benulllifeCycleCallbacksFactory- aLifeCycleCallbacksFactory, cannot benullstrategy- anAssistedAnnotationStrategy, cannot benull
-
-
Method Detail
-
deriveTypes
public void deriveTypes(TypeRegistrationExtension.Registry registry, java.lang.reflect.Type factoryType) throws DefinitionException
Description copied from interface:TypeRegistrationExtensionCalled during registration of new types to allow the extension to register further types that can be directly derived from the givenType. For example, the given type could have special annotations which define further types.- Specified by:
deriveTypesin interfaceTypeRegistrationExtension- Parameters:
registry- aTypeRegistrationExtension.Registrywhere derived types can be registered, nevernullfactoryType- aTypeused as a base for derivation, nevernull- Throws:
DefinitionException- when a definition problem was encountered during derivation
-
-