Class TransformSectionDesigner
- java.lang.Object
-
- net.officefloor.plugin.section.transform.TransformSectionDesigner
-
- All Implemented Interfaces:
SourceIssues,SectionDesigner
public class TransformSectionDesigner extends java.lang.Object implements SectionDesigner
SectionDesignerto intercept configuration to provide access to theSectionSourceconfigured items.- Author:
- Daniel Sagenschneider
-
-
Constructor Summary
Constructors Constructor Description TransformSectionDesigner(SectionDesigner delegate)Initiate.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompileErroraddIssue(java.lang.String issueDescription)Allows the source to add an issue.CompileErroraddIssue(java.lang.String issueDescription, java.lang.Throwable cause)Allows the source to add an issue along with its cause.SectionManagedObjectPooladdManagedObjectPool(java.lang.String managedObjectPoolName, java.lang.String managedObjectPoolSourceClassName)Adds anSectionManagedObjectPool.SectionManagedObjectPooladdManagedObjectPool(java.lang.String managedObjectPoolName, ManagedObjectPoolSource managedObjectPoolSource)Adds aSectionManagedObjectPool.SectionFunctionNamespaceaddSectionFunctionNamespace(java.lang.String namespaceName, java.lang.String managedFunctionSourceClassName)Adds aSectionFunctionNamespaceto theSectionNodebeing built.SectionFunctionNamespaceaddSectionFunctionNamespace(java.lang.String namespaceName, ManagedFunctionSource managedFunctionSource)Adds aSectionFunctionNamespaceto theSectionNodebeing built.SectionInputaddSectionInput(java.lang.String inputName, java.lang.String parameterType)Adds aSectionInputto theSectionNodebeing built.SectionManagedObjectSourceaddSectionManagedObjectSource(java.lang.String managedObjectSourceName, java.lang.String managedObjectSourceClassName)Adds aSectionManagedObjectSourceto theSectionNodebeing built.SectionManagedObjectSourceaddSectionManagedObjectSource(java.lang.String managedObjectSourceName, ManagedObjectSource<?,?> managedObjectSource)Adds aSectionManagedObjectSourceto theSectionNodebeing built.SectionObjectaddSectionObject(java.lang.String objectName, java.lang.String objectType)Adds aSectionObjectto theSectionNodebeing built.SectionOutputaddSectionOutput(java.lang.String outputName, java.lang.String argumentType, boolean isEscalationOnly)Adds aSectionOutputto theSectionNodebeing built.SubSectionaddSubSection(java.lang.String subSectionName, java.lang.String sectionSourceClassName, java.lang.String location)Adds aSubSectionto theSectionNodebeing built.SubSectionaddSubSection(java.lang.String subSectionName, SectionSource sectionSource, java.lang.String location)Adds aSubSectionto theSectionNodebeing built.SectionInputgetSectionInput(java.lang.String inputName)Obtains theSectionInput.SectionOutputgetSectionOutput(java.lang.String outputName)Obtains theSectionOutput.SubSectiongetSubSection(java.lang.String subSectionName)Obtains theSubSection.voidlink(FunctionFlow functionFlow, SectionFlowSinkNode sectionSinkNode, boolean isSpawnThreadState)Links theFunctionFlowto be undertaken by theSectionFlowSinkNode.voidlink(SectionDependencyRequireNode sectionRequireNode, SectionDependencyObjectNode sectionObjectNode)Links theSectionDependencyRequireNodeto be fulfilled by theSectionDependencyObjectNode.voidlink(SectionFlowSourceNode flowSourceNode, SectionFlowSinkNode flowSinkNode)Links theSectionFlowSourceNodeto undertaken by theSectionFlowSinkNode.voidlink(SectionManagedObjectSource managedObjectSource, SectionManagedObjectPool managedObjectPool)Links theSectionManagedObjectSourceto be pooled by theSectionManagedObjectPool.
-
-
-
Constructor Detail
-
TransformSectionDesigner
public TransformSectionDesigner(SectionDesigner delegate)
Initiate.- Parameters:
delegate- DelegateSectionDesigner.
-
-
Method Detail
-
getSectionInput
public SectionInput getSectionInput(java.lang.String inputName)
Obtains theSectionInput.- Parameters:
inputName- Name of theSectionInput.- Returns:
SectionInput.
-
getSectionOutput
public SectionOutput getSectionOutput(java.lang.String outputName)
Obtains theSectionOutput.- Parameters:
outputName- Name of theSectionOutput.- Returns:
SectionOutput.
-
getSubSection
public SubSection getSubSection(java.lang.String subSectionName)
Obtains theSubSection.- Parameters:
subSectionName- Name of theSubSection.- Returns:
SubSection.
-
addSectionInput
public SectionInput addSectionInput(java.lang.String inputName, java.lang.String parameterType)
Description copied from interface:SectionDesignerAdds aSectionInputto theSectionNodebeing built.- Specified by:
addSectionInputin interfaceSectionDesigner- Parameters:
inputName- Name of theSectionInput.parameterType- Parameter type for theSectionInputType.- Returns:
SectionInputfor linking.
-
addSectionOutput
public SectionOutput addSectionOutput(java.lang.String outputName, java.lang.String argumentType, boolean isEscalationOnly)
Description copied from interface:SectionDesignerAdds aSectionOutputto theSectionNodebeing built.- Specified by:
addSectionOutputin interfaceSectionDesigner- Parameters:
outputName- Name of theSectionOutput.argumentType- Argument type for theSectionOutputType.isEscalationOnly-trueif onlyManagedFunctionEscalationTypeinstances are using theSectionOutputType.- Returns:
SectionOutputfor linking.
-
addSectionObject
public SectionObject addSectionObject(java.lang.String objectName, java.lang.String objectType)
Description copied from interface:SectionDesignerAdds aSectionObjectto theSectionNodebeing built.- Specified by:
addSectionObjectin interfaceSectionDesigner- Parameters:
objectName- Name of theSectionObject.objectType- Type required for theSectionObjectType.- Returns:
SectionObjectfor linking.
-
addSectionFunctionNamespace
public SectionFunctionNamespace addSectionFunctionNamespace(java.lang.String namespaceName, java.lang.String managedFunctionSourceClassName)
Description copied from interface:SectionDesignerAdds aSectionFunctionNamespaceto theSectionNodebeing built.- Specified by:
addSectionFunctionNamespacein interfaceSectionDesigner- Parameters:
namespaceName- Name of theSectionFunctionNamespace.managedFunctionSourceClassName- Fully qualified class name of theManagedFunctionSource. This allows adding theSectionFunctionNamespacewithout having to worry if theManagedFunctionSourceis available on the class path.- Returns:
SectionFunctionNamespace.
-
addSectionFunctionNamespace
public SectionFunctionNamespace addSectionFunctionNamespace(java.lang.String namespaceName, ManagedFunctionSource managedFunctionSource)
Description copied from interface:SectionDesignerAdds aSectionFunctionNamespaceto theSectionNodebeing built.- Specified by:
addSectionFunctionNamespacein interfaceSectionDesigner- Parameters:
namespaceName- Name of theSectionFunctionNamespace.managedFunctionSource-ManagedFunctionSourceinstance to use.- Returns:
SectionFunctionNamespace.
-
addSectionManagedObjectSource
public SectionManagedObjectSource addSectionManagedObjectSource(java.lang.String managedObjectSourceName, java.lang.String managedObjectSourceClassName)
Description copied from interface:SectionDesignerAdds aSectionManagedObjectSourceto theSectionNodebeing built.- Specified by:
addSectionManagedObjectSourcein interfaceSectionDesigner- Parameters:
managedObjectSourceName- Name of theSectionManagedObjectSource.managedObjectSourceClassName- Fully qualified class name of theManagedObjectSource. This allows adding theSectionManagedObjectwithout having to worry if theManagedObjectSourceis available on the class path.- Returns:
SectionManagedObject.
-
addSectionManagedObjectSource
public SectionManagedObjectSource addSectionManagedObjectSource(java.lang.String managedObjectSourceName, ManagedObjectSource<?,?> managedObjectSource)
Description copied from interface:SectionDesignerAdds aSectionManagedObjectSourceto theSectionNodebeing built.- Specified by:
addSectionManagedObjectSourcein interfaceSectionDesigner- Parameters:
managedObjectSourceName- Name of theSectionManagedObjectSource.managedObjectSource-ManagedObjectSourceinstance to use.- Returns:
SectionManagedObject.
-
addManagedObjectPool
public SectionManagedObjectPool addManagedObjectPool(java.lang.String managedObjectPoolName, java.lang.String managedObjectPoolSourceClassName)
Description copied from interface:SectionDesignerAdds anSectionManagedObjectPool.- Specified by:
addManagedObjectPoolin interfaceSectionDesigner- Parameters:
managedObjectPoolName- Name of theSectionManagedObjectPool.managedObjectPoolSourceClassName- Fully qualified class name of theManagedObjectPoolSource.- Returns:
- Added
SectionManagedObjectPool.
-
addManagedObjectPool
public SectionManagedObjectPool addManagedObjectPool(java.lang.String managedObjectPoolName, ManagedObjectPoolSource managedObjectPoolSource)
Description copied from interface:SectionDesignerAdds aSectionManagedObjectPool.- Specified by:
addManagedObjectPoolin interfaceSectionDesigner- Parameters:
managedObjectPoolName- Name of theSectionManagedObjectPool.managedObjectPoolSource-ManagedObjectPoolSourceinstance to use.- Returns:
SectionManagedObjectPool.
-
addSubSection
public SubSection addSubSection(java.lang.String subSectionName, java.lang.String sectionSourceClassName, java.lang.String location)
Description copied from interface:SectionDesignerAdds aSubSectionto theSectionNodebeing built.- Specified by:
addSubSectionin interfaceSectionDesigner- Parameters:
subSectionName- Name of theSubSection.sectionSourceClassName- Fully qualified class name of theSectionSourcefor theSubSection. This allows adding theSubSectionwithout having to worry if theSectionSourceis available on the class path. This should be used over attempting to find theSectionSource- as should leave to the compiler to find theSectionSource.location- Location of theSubSection.- Returns:
SubSection.
-
addSubSection
public SubSection addSubSection(java.lang.String subSectionName, SectionSource sectionSource, java.lang.String location)
Description copied from interface:SectionDesignerAdds aSubSectionto theSectionNodebeing built.- Specified by:
addSubSectionin interfaceSectionDesigner- Parameters:
subSectionName- Name of theSubSection.sectionSource-SectionSourceto enable providing direct instances. This should only be used should theSectionSourcewant to create aSubSectioninstance by supplying its own instantiatedSectionSourceimplementation.location- Location of theSubSection.- Returns:
SubSection.
-
link
public void link(SectionManagedObjectSource managedObjectSource, SectionManagedObjectPool managedObjectPool)
Description copied from interface:SectionDesignerLinks theSectionManagedObjectSourceto be pooled by theSectionManagedObjectPool.- Specified by:
linkin interfaceSectionDesigner- Parameters:
managedObjectSource-SectionManagedObjectSource.managedObjectPool-SectionManagedObjectPool.
-
link
public void link(SectionFlowSourceNode flowSourceNode, SectionFlowSinkNode flowSinkNode)
Description copied from interface:SectionDesignerLinks theSectionFlowSourceNodeto undertaken by theSectionFlowSinkNode.- Specified by:
linkin interfaceSectionDesigner- Parameters:
flowSourceNode-SectionFlowSourceNode.flowSinkNode-SectionFlowSinkNode.
-
link
public void link(FunctionFlow functionFlow, SectionFlowSinkNode sectionSinkNode, boolean isSpawnThreadState)
Description copied from interface:SectionDesignerLinks theFunctionFlowto be undertaken by theSectionFlowSinkNode.- Specified by:
linkin interfaceSectionDesigner- Parameters:
functionFlow-FunctionFlow.sectionSinkNode-SectionFlowSinkNode.isSpawnThreadState- Indicates if spawnsThreadStateforFlow.
-
link
public void link(SectionDependencyRequireNode sectionRequireNode, SectionDependencyObjectNode sectionObjectNode)
Description copied from interface:SectionDesignerLinks theSectionDependencyRequireNodeto be fulfilled by theSectionDependencyObjectNode.- Specified by:
linkin interfaceSectionDesigner- Parameters:
sectionRequireNode-SectionDependencyRequireNode.sectionObjectNode-SectionDependencyObjectNode.
-
addIssue
public CompileError addIssue(java.lang.String issueDescription)
Description copied from interface:SourceIssuesAllows the source to add an issue.
This is available to report invalid configuration.
- Specified by:
addIssuein interfaceSourceIssues- Parameters:
issueDescription- Description of the issue.- Returns:
CompileErrorto be used inthrowstatement when addingCompilerIssueto avoid further compiling.
-
addIssue
public CompileError addIssue(java.lang.String issueDescription, java.lang.Throwable cause)
Description copied from interface:SourceIssuesAllows the source to add an issue along with its cause.
This is available to report invalid configuration.
- Specified by:
addIssuein interfaceSourceIssues- Parameters:
issueDescription- Description of the issue.cause- Cause of the issue.- Returns:
CompileErrorto be used inthrowstatement when addingCompilerIssueto avoid further compiling.
-
-