Class AbstractFlowClassDependencyManufacturer
- java.lang.Object
-
- net.officefloor.plugin.clazz.dependency.impl.AbstractFlowClassDependencyManufacturer
-
- All Implemented Interfaces:
ServiceFactory<ClassDependencyManufacturer>
,ClassDependencyManufacturer
,ClassDependencyManufacturerServiceFactory
- Direct Known Subclasses:
FlowInterfaceClassDependencyManufacturer
,SectionInterfaceClassDependencyManufacturer
public abstract class AbstractFlowClassDependencyManufacturer extends java.lang.Object implements ClassDependencyManufacturer, ClassDependencyManufacturerServiceFactory
ClassDependencyManufacturer
for providingFlow
invocations.- Author:
- Daniel Sagenschneider
-
-
Constructor Summary
Constructors Constructor Description AbstractFlowClassDependencyManufacturer()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected ClassDependencyManufacturerContext.ClassFlow
addFlow(ClassDependencyManufacturerContext dependencyContext, ClassFlowContext flowContext)
Adds aFlow
.protected int
buildFlow(ClassDependencyManufacturerContext.ClassFlow classFlow, ClassFlowContext flowContext)
Builds theFlow
ClassDependencyFactory
createParameterFactory(ClassDependencyManufacturerContext context)
Creates theClassDependencyFactory
for the particular dependency.ClassDependencyManufacturer
createService(ServiceContext context)
Creates the service.protected abstract java.lang.Class<? extends java.lang.annotation.Annotation>
getAnnotationType()
Obtains theAnnotation
type.
-
-
-
Method Detail
-
getAnnotationType
protected abstract java.lang.Class<? extends java.lang.annotation.Annotation> getAnnotationType()
Obtains theAnnotation
type.- Returns:
Annotation
type.
-
addFlow
protected ClassDependencyManufacturerContext.ClassFlow addFlow(ClassDependencyManufacturerContext dependencyContext, ClassFlowContext flowContext)
Adds aFlow
.- Parameters:
dependencyContext
-ClassDependencyManufacturerContext
.flowContext
-ClassFlowContext
.- Returns:
ClassDependencyManufacturerContext.ClassFlow
.
-
buildFlow
protected int buildFlow(ClassDependencyManufacturerContext.ClassFlow classFlow, ClassFlowContext flowContext)
Builds theFlow
- Parameters:
classFlow
-ClassDependencyManufacturerContext.ClassFlow
.flowContext
-ClassFlowContext
.- Returns:
- Index of the
Flow
.
-
createService
public ClassDependencyManufacturer createService(ServiceContext context) throws java.lang.Throwable
Description copied from interface:ServiceFactory
Creates the service.- Specified by:
createService
in interfaceServiceFactory<ClassDependencyManufacturer>
- Parameters:
context
-ServiceContext
.- Returns:
- Service.
- Throws:
java.lang.Throwable
- If fails to create the service.
-
createParameterFactory
public ClassDependencyFactory createParameterFactory(ClassDependencyManufacturerContext context) throws java.lang.Exception
Description copied from interface:ClassDependencyManufacturer
Creates the
ClassDependencyFactory
for the particular dependency.Should the
ClassDependencyManufacturer
not handled the dependency, it should returnnull
. This is because the firstClassDependencyManufacturer
providing aClassDependencyFactory
will be used.- Specified by:
createParameterFactory
in interfaceClassDependencyManufacturer
- Parameters:
context
-ClassDependencyManufacturerContext
.- Returns:
ClassDependencyFactory
ornull
if not able to handle dependency.- Throws:
java.lang.Exception
- If fails to create theClassDependencyFactory
.
-
-