Package org.int4.dirk.core
Class StandardInjector
- java.lang.Object
-
- org.int4.dirk.core.StandardInjector
-
- All Implemented Interfaces:
org.int4.dirk.api.CandidateRegistry,org.int4.dirk.api.Injector,org.int4.dirk.api.InstanceResolver
public class StandardInjector extends java.lang.Object implements org.int4.dirk.api.InjectorA standard implementation ofInjectorprovided with the framework.
-
-
Constructor Summary
Constructors Constructor Description StandardInjector(java.util.Collection<InjectionTargetExtension<?,?>> injectionTargetExtensions, java.util.Collection<TypeRegistrationExtension> typeRegistrationExtensions, java.util.List<ScopeResolver> scopeResolvers, InjectorStrategy strategy, boolean autoDiscovery)Constructs a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontains(java.lang.reflect.Type type, java.lang.Object... qualifiers)org.int4.dirk.api.CandidateRegistrygetCandidateRegistry()<T> TgetInstance(java.lang.Class<T> cls, java.lang.Object... qualifiers)<T> TgetInstance(java.lang.reflect.Type type, java.lang.Object... qualifiers)org.int4.dirk.api.InstanceResolvergetInstanceResolver()<T> java.util.List<T>getInstances(java.lang.Class<T> cls, java.lang.Object... qualifiers)<T> java.util.List<T>getInstances(java.lang.reflect.Type type, java.lang.Object... qualifiers)voidregister(java.lang.reflect.Type concreteType)voidregister(java.util.Collection<java.lang.reflect.Type> concreteTypes)voidregisterInstance(java.lang.Object instance, java.lang.annotation.Annotation... qualifiers)voidremove(java.lang.reflect.Type concreteType)voidremove(java.util.Collection<java.lang.reflect.Type> concreteTypes)voidremoveInstance(java.lang.Object instance, java.lang.annotation.Annotation... qualifiers)
-
-
-
Constructor Detail
-
StandardInjector
public StandardInjector(java.util.Collection<InjectionTargetExtension<?,?>> injectionTargetExtensions, java.util.Collection<TypeRegistrationExtension> typeRegistrationExtensions, java.util.List<ScopeResolver> scopeResolvers, InjectorStrategy strategy, boolean autoDiscovery)
Constructs a new instance.- Parameters:
injectionTargetExtensions- a collection ofInjectionTargetExtensions, cannot benullor containnullbut can be emptytypeRegistrationExtensions- a collection ofTypeRegistrationExtensions, cannot benullor containnullbut can be emptyscopeResolvers- a list ofScopeResolvers, cannot benullor containnullbut can be emptystrategy- anInjectorStrategy, cannot benullautoDiscovery-trueif the injector should automatically register (auto discover) types encountered during instantiation that have not been explicitly registered, or {code false} to allow manual registration only
-
-
Method Detail
-
getInstanceResolver
public org.int4.dirk.api.InstanceResolver getInstanceResolver()
- Specified by:
getInstanceResolverin interfaceorg.int4.dirk.api.Injector
-
getCandidateRegistry
public org.int4.dirk.api.CandidateRegistry getCandidateRegistry()
- Specified by:
getCandidateRegistryin interfaceorg.int4.dirk.api.Injector
-
getInstance
public <T> T getInstance(java.lang.reflect.Type type, java.lang.Object... qualifiers) throws org.int4.dirk.api.instantiation.UnsatisfiedResolutionException, org.int4.dirk.api.instantiation.AmbiguousResolutionException, org.int4.dirk.api.instantiation.CreationException, org.int4.dirk.api.scope.ScopeNotActiveException- Specified by:
getInstancein interfaceorg.int4.dirk.api.InstanceResolver- Throws:
org.int4.dirk.api.instantiation.UnsatisfiedResolutionExceptionorg.int4.dirk.api.instantiation.AmbiguousResolutionExceptionorg.int4.dirk.api.instantiation.CreationExceptionorg.int4.dirk.api.scope.ScopeNotActiveException
-
getInstance
public <T> T getInstance(java.lang.Class<T> cls, java.lang.Object... qualifiers) throws org.int4.dirk.api.instantiation.UnsatisfiedResolutionException, org.int4.dirk.api.instantiation.AmbiguousResolutionException, org.int4.dirk.api.instantiation.CreationException, org.int4.dirk.api.scope.ScopeNotActiveException- Specified by:
getInstancein interfaceorg.int4.dirk.api.InstanceResolver- Throws:
org.int4.dirk.api.instantiation.UnsatisfiedResolutionExceptionorg.int4.dirk.api.instantiation.AmbiguousResolutionExceptionorg.int4.dirk.api.instantiation.CreationExceptionorg.int4.dirk.api.scope.ScopeNotActiveException
-
getInstances
public <T> java.util.List<T> getInstances(java.lang.reflect.Type type, java.lang.Object... qualifiers) throws org.int4.dirk.api.instantiation.CreationException- Specified by:
getInstancesin interfaceorg.int4.dirk.api.InstanceResolver- Throws:
org.int4.dirk.api.instantiation.CreationException
-
getInstances
public <T> java.util.List<T> getInstances(java.lang.Class<T> cls, java.lang.Object... qualifiers) throws org.int4.dirk.api.instantiation.CreationException- Specified by:
getInstancesin interfaceorg.int4.dirk.api.InstanceResolver- Throws:
org.int4.dirk.api.instantiation.CreationException
-
contains
public boolean contains(java.lang.reflect.Type type, java.lang.Object... qualifiers)- Specified by:
containsin interfaceorg.int4.dirk.api.CandidateRegistry
-
register
public void register(java.lang.reflect.Type concreteType) throws org.int4.dirk.api.definition.AutoDiscoveryException, org.int4.dirk.api.definition.DefinitionException, org.int4.dirk.api.definition.DependencyException- Specified by:
registerin interfaceorg.int4.dirk.api.CandidateRegistry- Throws:
org.int4.dirk.api.definition.AutoDiscoveryExceptionorg.int4.dirk.api.definition.DefinitionExceptionorg.int4.dirk.api.definition.DependencyException
-
register
public void register(java.util.Collection<java.lang.reflect.Type> concreteTypes) throws org.int4.dirk.api.definition.AutoDiscoveryException, org.int4.dirk.api.definition.DefinitionException, org.int4.dirk.api.definition.DependencyException- Specified by:
registerin interfaceorg.int4.dirk.api.CandidateRegistry- Throws:
org.int4.dirk.api.definition.AutoDiscoveryExceptionorg.int4.dirk.api.definition.DefinitionExceptionorg.int4.dirk.api.definition.DependencyException
-
registerInstance
public void registerInstance(java.lang.Object instance, java.lang.annotation.Annotation... qualifiers) throws org.int4.dirk.api.definition.DefinitionException, org.int4.dirk.api.definition.DependencyException- Specified by:
registerInstancein interfaceorg.int4.dirk.api.CandidateRegistry- Throws:
org.int4.dirk.api.definition.DefinitionExceptionorg.int4.dirk.api.definition.DependencyException
-
remove
public void remove(java.lang.reflect.Type concreteType) throws org.int4.dirk.api.definition.AutoDiscoveryException, org.int4.dirk.api.definition.DefinitionException, org.int4.dirk.api.definition.DependencyException- Specified by:
removein interfaceorg.int4.dirk.api.CandidateRegistry- Throws:
org.int4.dirk.api.definition.AutoDiscoveryExceptionorg.int4.dirk.api.definition.DefinitionExceptionorg.int4.dirk.api.definition.DependencyException
-
remove
public void remove(java.util.Collection<java.lang.reflect.Type> concreteTypes) throws org.int4.dirk.api.definition.AutoDiscoveryException, org.int4.dirk.api.definition.DefinitionException, org.int4.dirk.api.definition.DependencyException- Specified by:
removein interfaceorg.int4.dirk.api.CandidateRegistry- Throws:
org.int4.dirk.api.definition.AutoDiscoveryExceptionorg.int4.dirk.api.definition.DefinitionExceptionorg.int4.dirk.api.definition.DependencyException
-
removeInstance
public void removeInstance(java.lang.Object instance, java.lang.annotation.Annotation... qualifiers) throws org.int4.dirk.api.definition.DefinitionException, org.int4.dirk.api.definition.DependencyException- Specified by:
removeInstancein interfaceorg.int4.dirk.api.CandidateRegistry- Throws:
org.int4.dirk.api.definition.DefinitionExceptionorg.int4.dirk.api.definition.DependencyException
-
-