Class ClassDependenciesManager
java.lang.Object
net.officefloor.plugin.clazz.dependency.ClassDependenciesManager
- All Implemented Interfaces:
ClassDependencies
Manages
Class dependencies.- Author:
- Daniel Sagenschneider
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddClassDependencyManufacturer(ClassDependencyManufacturer manufacturer) Adds an additionalClassDependencyManufacturer.<E extends Throwable>
voidaddEscalation(Class<E> escalationType) Allow registering an additionalEscalation.static ClassDependenciesManagercreate(Class<?> clazz, SourceContext sourceContext, ClassDependenciesContext dependenciesContext) createClassDependencyFactory(Executable executable, int parameterIndex, String qualifier) createClassDependencyFactory(Field field, String qualifier) Creates theClassDependencyFactoryfor aField.createClassDependencyFactory(String dependencyName, Class<?> dependencyType, String qualifier) Creates aClassDependencyFactoryof a particularClass.static ClassItemIndexcreateClassItemIndex(int index, Consumer<Object> annotationAdder) Creates aClassItemIndex.static ClassDependenciesManagercreateNoObjects(Class<?> clazz, SourceContext sourceContext, ClassDependenciesFlowContext flowsContext) static StringgetDependencyName(String qualifier, Class<?> objectType) Obtains the name of the dependency.static booleanisSameArgumentType(Class<?> argumentTypeA, Class<?> argumentTypeB) Determines if same argument type.static booleanisSameObjectType(Class<?> objectTypeA, Class<?> objectTypeB) Determines if same object type.static booleanisSameQualifier(String qualifierA, String qualifierB) Determines if same qualifier.voidloadManagedObjectExecuteContext(ManagedObjectExecuteContext<Indexed> executeContext) Loads theManagedObjectExecuteContextto the createdClassDependencyFactoryinstances.
-
Method Details
-
create
public static ClassDependenciesManager create(Class<?> clazz, SourceContext sourceContext, ClassDependenciesContext dependenciesContext) - Parameters:
clazz-Classbeing interrogated for injection.sourceContext-SourceContext.dependenciesContext-ClassDependenciesContext.- Returns:
ClassDependenciesManager.
-
createNoObjects
public static ClassDependenciesManager createNoObjects(Class<?> clazz, SourceContext sourceContext, ClassDependenciesFlowContext flowsContext) - Parameters:
clazz-Classbeing interrogated for injection.sourceContext-SourceContext.flowsContext-ClassDependenciesFlowContext.- Returns:
ClassDependenciesManager.
-
createClassItemIndex
Creates aClassItemIndex.- Parameters:
index- Index of item.annotationAdder- Adds additional annotations. May benull.- Returns:
- Created
ClassItemIndex.
-
isSameObjectType
Determines if same object type.- Parameters:
objectTypeA- First object type.objectTypeB- Second object type.- Returns:
trueif same.
-
isSameArgumentType
Determines if same argument type.- Parameters:
argumentTypeA- First argument type.argumentTypeB- Second argument type.- Returns:
trueif same (or no argument).
-
isSameQualifier
Determines if same qualifier.- Parameters:
qualifierA- First qualifier.qualifierB- Second qualifier.- Returns:
trueif same qualifier (or no qualification).
-
getDependencyName
Obtains the name of the dependency.- Parameters:
qualifier- Qualifier. May benull.objectType- Dependency type.- Returns:
- Name for the dependency.
-
addClassDependencyManufacturer
Adds an additionalClassDependencyManufacturer.- Parameters:
manufacturer- AdditionalClassDependencyManufacturer.
-
addEscalation
Allow registering an additionalEscalation.- Type Parameters:
E-Escalationtype.- Parameters:
escalationType-Escalationtype.
-
loadManagedObjectExecuteContext
Loads theManagedObjectExecuteContextto the createdClassDependencyFactoryinstances.- Parameters:
executeContext-ManagedObjectExecuteContext.
-
createClassDependencyFactory
public ClassDependencyFactory createClassDependencyFactory(Field field, String qualifier) throws Exception Description copied from interface:ClassDependenciesCreates theClassDependencyFactoryfor aField.- Specified by:
createClassDependencyFactoryin interfaceClassDependencies- Parameters:
field-Field.qualifier- Qualifier.- Returns:
ClassDependencyFactory.- Throws:
Exception- If fails to create.
-
createClassDependencyFactory
public ClassDependencyFactory createClassDependencyFactory(Executable executable, int parameterIndex, String qualifier) throws Exception Description copied from interface:ClassDependencies- Specified by:
createClassDependencyFactoryin interfaceClassDependencies- Parameters:
executable-Executable.parameterIndex- Index of theParameter.qualifier- Qualifier.- Returns:
ClassDependencyFactory.- Throws:
Exception- If fails to create.
-
createClassDependencyFactory
public ClassDependencyFactory createClassDependencyFactory(String dependencyName, Class<?> dependencyType, String qualifier) throws Exception Description copied from interface:ClassDependenciesCreates aClassDependencyFactoryof a particularClass.- Specified by:
createClassDependencyFactoryin interfaceClassDependencies- Parameters:
dependencyName- Name of dependency.dependencyType-Classof the dependency.qualifier- Qualifier.- Returns:
ClassDependencyFactory.- Throws:
Exception- If fails to create.
-