Class SectionNodeImpl
- java.lang.Object
-
- net.officefloor.compile.impl.structure.SectionNodeImpl
-
- All Implemented Interfaces:
ManagedFunctionRegistry,ManagedObjectRegistry,Node,SectionNode,SourceIssues,PropertyConfigurable,OfficeSection,OfficeSectionTransformerContext,OfficeSubSection,SectionDesigner,SubSection
public class SectionNodeImpl extends java.lang.Object implements SectionNode
SectionNodeimplementation.- Author:
- Daniel Sagenschneider
-
-
Field Summary
-
Fields inherited from interface net.officefloor.compile.internal.structure.SectionNode
TYPE
-
-
Constructor Summary
Constructors Constructor Description SectionNodeImpl(boolean isSectionNamed, java.lang.String sectionName, SectionNode parentSection, OfficeNode office, NodeContext context)Initialises thisSectionNodewith the basic information.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddGovernance(OfficeGovernance governance)AddsGovernancefor thisOfficeSubSection.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.ManagedFunctionNodeaddManagedFunctionNode(java.lang.String functionName, java.lang.String functionTypeName, FunctionNamespaceNode namespaceNode)Adds an initialisedManagedFunctionNodeto the registry.ManagedObjectNodeaddManagedObjectNode(java.lang.String managedObjectName, ManagedObjectScope managedObjectScope, ManagedObjectSourceNode managedObjectSourceNode)Adds an initialisedManagedObjectNodeto the registry.SectionManagedObjectPooladdManagedObjectPool(java.lang.String managedObjectPoolName, java.lang.String managedObjectPoolSourceClassName)Adds anSectionManagedObjectPool.SectionManagedObjectPooladdManagedObjectPool(java.lang.String managedObjectPoolName, ManagedObjectPoolSource managedObjectPoolSource)Adds aSectionManagedObjectPool.voidaddProperty(java.lang.String name, java.lang.String value)Adds aPropertyto configure the item.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.voidautoWireObjects(AutoWirer<LinkObjectNode> autoWirer, CompileContext compileContext)Auto-wires theSectionObjectNodeinstances that are unlinked.voidautoWireTeams(AutoWirer<LinkTeamNode> autoWirer, CompileContext compileContext)Auto-wires theSectionFunctioninstances to a possible responsibleTeam.voidbuildSection(OfficeBuilder officeBuilder, OfficeBindings officeBindings, CompileContext compileContext)Builds thisOfficeSectionfor thisSectionNode.PropertyListcreatePropertyList()Creates a newPropertyList.Node[]getChildNodes()Obtains the childNodeinstances.DeployedOfficeInputgetDeployedOfficeInput(java.lang.String inputName)Obtains theDeployedOfficeInput.GovernanceNode[]getGoverningGovernances()java.lang.StringgetLocation()Obtains the location of theNode.ManagedObjectNodegetManagedObjectNode(java.lang.String managedObjectName)Obtains theManagedObjectNodefrom the registry.java.lang.StringgetNodeName()Obtains the name of theNode.java.lang.StringgetNodeType()Obtains theNodetype.OfficeNodegetOfficeNode()Obtains theOfficeNodecontaining thisSectionNode.OfficeSectionFunctiongetOfficeSectionFunction(java.lang.String functionName)Obtains theOfficeSectionFunctioninstance particular to thisOfficeSubSection.OfficeSectionInputgetOfficeSectionInput(java.lang.String inputName)Obtains theOfficeSectionInput.OfficeSectionManagedObjectgetOfficeSectionManagedObject(java.lang.String managedObjectName)Obtains theOfficeSectionManagedObjectparticular to thisOfficeSubSection.OfficeSectionManagedObjectSourcegetOfficeSectionManagedObjectSource(java.lang.String managedObjectSourceName)Obtains theOfficeSectionManagedObjectSourceparticular to thisOfficeSubSection.java.lang.StringgetOfficeSectionName()Obtains the name of theOfficeSection.OfficeSectionObjectgetOfficeSectionObject(java.lang.String objectName)Obtains theOfficeSectionObject.OfficeSectionOutputgetOfficeSectionOutput(java.lang.String outputName)Obtains theOfficeSectionOutput.OfficeSubSectiongetOfficeSubSection(java.lang.String sectionName)Obtains theOfficeSubSection.NodegetParentNode()SectionNodegetParentSectionNode()Obtains the parentSectionNodecontaining thisSectionNode.java.lang.StringgetQualifiedName()Obtains the qualified name of theNode.java.lang.StringgetSectionLocation()Obtains the location of theOfficeSectionbeing transformed.SectionOutputNodegetSectionOutputNode(java.lang.String outputName)Obtains the possibleSectionOutputNode.PropertyListgetSectionProperties()Obtains thePropertyListof theOfficeSectionbeing transformed.java.lang.StringgetSectionQualifiedName(java.lang.String simpleName)Obtains theSectionNodequalified name within theOfficeNode.java.lang.StringgetSectionSourceClassName()SubSectionInputgetSubSectionInput(java.lang.String inputName)Obtains theSubSectionInput.java.lang.StringgetSubSectionName()Obtains the name of thisSubSection.SubSectionObjectgetSubSectionObject(java.lang.String objectName)Obtains theSubSectionObject.SubSectionOutputgetSubSectionOutput(java.lang.String outputName)Obtains theSubSectionOutput.SectionNodegetSuperSection()Obtains the parentSectionNodeto thisSectionNode.voidinitialise(java.lang.String sectionSourceClassName, SectionSource sectionSource, java.lang.String sectionLocation)Initialises thisSectionNode.booleanisInitialised()Indicates if theNodehas been initialised.voidlink(FunctionFlow functionFlow, SectionFlowSinkNode sectionSinkNode, boolean isSpawnThreadState)Links theFunctionFlowto be undertaken by theSectionFlowSinkNode.voidlink(SectionDependencyRequireNode dependencyRequireNode, SectionDependencyObjectNode dependencyObjectNode)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.voidloadAutoWireExtensionTargets(AutoWirer<ManagedObjectExtensionNode> autoWirer, CompileContext compileContext)Loads theAutoWireextension targets for theOfficeSectionManagedObjectextension targets..voidloadExternalServicing(Office office)Loads theFunctionManagerinstances to externally trigger thisSectionNode.voidloadManagedFunctionNodes(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctionNodes)Loads theManagedFunctionNodeinstances.OfficeAvailableSectionInputType[]loadOfficeAvailableSectionInputTypes(CompileContext compileContext)Loads theOfficeAvailableSectionInputTypeinstances.OfficeSectionTypeloadOfficeSectionType(CompileContext compileContext)Loads theOfficeSectionType.OfficeSectionTypeloadOfficeSubSectionType(OfficeSubSectionType parentSectionType, CompileContext compileContext)Loads theOfficeSubSectionType.SectionTypeloadSectionType(CompileContext compileContext)Loads theSectionType.booleanrunExecutionExplorers(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctions, CompileContext compileContext)Runs theExecutionExplorerinstances.voidsetSuperOfficeSection(OfficeSection superSection)Specifies anOfficeSectionthat thisOfficeSectionwill inherit its links from.voidsetTransformedOfficeSection(java.lang.String sectionSourceClassName, java.lang.String sectionLocation, PropertyList sectionProperties)Specifies the transformedOfficeSection.voidsetTransformedOfficeSection(SectionSource sectionSource, java.lang.String sectionLocation, PropertyList sectionProperties)Specifies the transformedOfficeSection.booleansourceInheritance(CompileContext compileContext)Sources the inheritance of theSectionNode.booleansourceSection(ManagedFunctionVisitor managedFunctionVisitor, ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext, boolean isLoadingType)Sources the section into thisSectionNode.booleansourceSectionTree(ManagedFunctionVisitor managedFunctionVisitor, ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext, boolean isLoadingType)Sources thisSectionNodeand all its descendantNodeinstances recursively.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.officefloor.compile.internal.structure.Node
getQualifiedName
-
-
-
-
Constructor Detail
-
SectionNodeImpl
public SectionNodeImpl(boolean isSectionNamed, java.lang.String sectionName, SectionNode parentSection, OfficeNode office, NodeContext context)Initialises thisSectionNodewith the basic information.- Parameters:
isSectionNamed- Indicates if named.sectionName- Name of thisOfficeSection.parentSection- Optional parentSectionNode. May benull.office-Officecontaining theOfficeSection.context-NodeContext.
-
-
Method Detail
-
getNodeName
public java.lang.String getNodeName()
Description copied from interface:NodeObtains the name of theNode.- Specified by:
getNodeNamein interfaceNode- Returns:
- Name of the
Node.
-
getQualifiedName
public java.lang.String getQualifiedName()
Description copied from interface:NodeObtains the qualified name of theNode.- Specified by:
getQualifiedNamein interfaceNode- Returns:
- Qualified name of the
Node.
-
getNodeType
public java.lang.String getNodeType()
Description copied from interface:NodeObtains theNodetype.- Specified by:
getNodeTypein interfaceNode- Returns:
Nodetype.
-
getLocation
public java.lang.String getLocation()
Description copied from interface:NodeObtains the location of theNode.- Specified by:
getLocationin interfaceNode- Returns:
- Location of the
Node. May benullifNodedoes not support a location.
-
getParentNode
public Node getParentNode()
Description copied from interface:Node- Specified by:
getParentNodein interfaceNode- Returns:
Nodecontaining thisNode.
-
getChildNodes
public Node[] getChildNodes()
Description copied from interface:NodeObtains the childNodeinstances.- Specified by:
getChildNodesin interfaceNode- Returns:
- Child
Nodeinstances.
-
isInitialised
public boolean isInitialised()
Description copied from interface:NodeIndicates if theNodehas been initialised.Nodeinstances should only be initialised once. Initialising theNodetwice is an issue.- Specified by:
isInitialisedin interfaceNode- Returns:
trueif initialised.
-
initialise
public void initialise(java.lang.String sectionSourceClassName, SectionSource sectionSource, java.lang.String sectionLocation)Description copied from interface:SectionNodeInitialises thisSectionNode.- Specified by:
initialisein interfaceSectionNode- Parameters:
sectionSourceClassName-SectionSourceclass name.sectionSource- Optional instantiatedSectionSource. May benull.sectionLocation- Location of theOfficeSection.
-
addManagedFunctionNode
public ManagedFunctionNode addManagedFunctionNode(java.lang.String functionName, java.lang.String functionTypeName, FunctionNamespaceNode namespaceNode)
Description copied from interface:ManagedFunctionRegistryAdds an initialised
ManagedFunctionNodeto the registry.Should an
ManagedFunctionNodealready be added by the name, then an issue is reported to theCompilerIssue.- Specified by:
addManagedFunctionNodein interfaceManagedFunctionRegistry- Parameters:
functionName- Name of theManagedFunctionNode.functionTypeName- Type name of theManagedFunctionwithin theManagedFunctionSource.namespaceNode- ParentFunctionNamespaceNode.- Returns:
- Initialised
ManagedFunctionNodeby the name.
-
getManagedObjectNode
public ManagedObjectNode getManagedObjectNode(java.lang.String managedObjectName)
Description copied from interface:ManagedObjectRegistryObtains the
ManagedObjectNodefrom the registry.The returned
ManagedObjectNodemay or may not be initialised.- Specified by:
getManagedObjectNodein interfaceManagedObjectRegistry- Parameters:
managedObjectName- Name of theManagedObjectNode.- Returns:
ManagedObjectNodefrom the registry.
-
addManagedObjectNode
public ManagedObjectNode addManagedObjectNode(java.lang.String managedObjectName, ManagedObjectScope managedObjectScope, ManagedObjectSourceNode managedObjectSourceNode)
Description copied from interface:ManagedObjectRegistryAdds an initialised
ManagedObjectNodeto the registry.Should an
ManagedObjectNodealready be added by the name, then an issue is reported to theCompilerIssue.- Specified by:
addManagedObjectNodein interfaceManagedObjectRegistry- Parameters:
managedObjectName- Name of theManagedObjectNode.managedObjectScope-ManagedObjectScope.managedObjectSourceNode-ManagedObjectSourceNodefor theManagedObjectNode.- Returns:
- Initialised
ManagedObjectNodeby the name.
-
sourceSection
public boolean sourceSection(ManagedFunctionVisitor managedFunctionVisitor, ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext, boolean isLoadingType)
Description copied from interface:SectionNodeSources the section into this
SectionNode.This will only source the top level
OfficeSection.- Specified by:
sourceSectionin interfaceSectionNode- Parameters:
managedFunctionVisitor-ManagedFunctionVisitor.managedObjectSourceVisitor-ManagedObjectSourceVisitor.compileContext-CompileContext.isLoadingType- Indicates if used for loading type.- Returns:
trueif successfully sourced. Otherwisefalsewith issue reported to theCompilerIssues.
-
sourceSectionTree
public boolean sourceSectionTree(ManagedFunctionVisitor managedFunctionVisitor, ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext, boolean isLoadingType)
Description copied from interface:SectionNodeSources thisSectionNodeand all its descendantNodeinstances recursively.- Specified by:
sourceSectionTreein interfaceSectionNode- Parameters:
managedFunctionVisitor-ManagedFunctionVisitor.managedObjectSourceVisitor-ManagedObjectSourceVisitor.compileContext-CompileContext.isLoadingType- Indicates if used for loading type.- Returns:
trueif successfully sourced. Otherwisefalsewith issue reported to theCompilerIssues.
-
sourceInheritance
public boolean sourceInheritance(CompileContext compileContext)
Description copied from interface:SectionNodeSources the inheritance of theSectionNode.- Specified by:
sourceInheritancein interfaceSectionNode- Parameters:
compileContext-CompileContext.- Returns:
trueif successfully sourced. Otherwisefalsewith issue reported to theCompilerIssues.
-
getSuperSection
public SectionNode getSuperSection()
Description copied from interface:SectionNodeObtains the parentSectionNodeto thisSectionNode.- Specified by:
getSuperSectionin interfaceSectionNode- Returns:
- Parent
SectionNodeto thisSectionNode.
-
getSectionOutputNode
public SectionOutputNode getSectionOutputNode(java.lang.String outputName)
Description copied from interface:SectionNodeObtains the possibleSectionOutputNode.- Specified by:
getSectionOutputNodein interfaceSectionNode- Parameters:
outputName- Name of theSectionOutputNode.- Returns:
SectionOutputNodeornullif noSectionOutputNodeby name on theSectionNode.
-
loadSectionType
public SectionType loadSectionType(CompileContext compileContext)
Description copied from interface:SectionNodeLoads theSectionType.- Specified by:
loadSectionTypein interfaceSectionNode- Parameters:
compileContext-CompileContext.- Returns:
SectionTypeornullif issue loading with issue reported to theCompilerIssues.
-
loadOfficeSectionType
public OfficeSectionType loadOfficeSectionType(CompileContext compileContext)
Description copied from interface:SectionNodeLoads theOfficeSectionType.- Specified by:
loadOfficeSectionTypein interfaceSectionNode- Parameters:
compileContext-CompileContext.- Returns:
OfficeSectionTypeornullif issue loading with issue reported to theCompilerIssues.
-
loadOfficeSubSectionType
public OfficeSectionType loadOfficeSubSectionType(OfficeSubSectionType parentSectionType, CompileContext compileContext)
Description copied from interface:SectionNodeLoads theOfficeSubSectionType.- Specified by:
loadOfficeSubSectionTypein interfaceSectionNode- Parameters:
parentSectionType- ParentOfficeSubSectionType.compileContext-CompileContext.- Returns:
OfficeSubSectionTypeornullif issue loading with issue reported to theCompilerIssues.
-
loadOfficeAvailableSectionInputTypes
public OfficeAvailableSectionInputType[] loadOfficeAvailableSectionInputTypes(CompileContext compileContext)
Description copied from interface:SectionNodeLoads theOfficeAvailableSectionInputTypeinstances.- Specified by:
loadOfficeAvailableSectionInputTypesin interfaceSectionNode- Parameters:
compileContext-CompileContext.- Returns:
OfficeAvailableSectionInputTypeinstances ornullwith issues reported to theCompilerIssues.
-
getGoverningGovernances
public GovernanceNode[] getGoverningGovernances()
Description copied from interface:SectionNodeObtains the
GovernanceNodeinstances providingGovernanceover thisSectionNode.This is list comprised of the:
GovernanceNodeassigned to this particularSectionNodeGovernanceNodeassigned to any parentSectionNode
- Specified by:
getGoverningGovernancesin interfaceSectionNode- Returns:
GovernanceNodeinstances providingGovernanceover thisSectionNode.
-
getSectionQualifiedName
public java.lang.String getSectionQualifiedName(java.lang.String simpleName)
Description copied from interface:SectionNodeObtains theSectionNodequalified name within theOfficeNode.- Specified by:
getSectionQualifiedNamein interfaceSectionNode- Parameters:
simpleName- Simple name to qualify with theSectionNodename space.- Returns:
SectionNodequalified name.
-
loadAutoWireExtensionTargets
public void loadAutoWireExtensionTargets(AutoWirer<ManagedObjectExtensionNode> autoWirer, CompileContext compileContext)
Description copied from interface:SectionNodeLoads theAutoWireextension targets for theOfficeSectionManagedObjectextension targets..- Specified by:
loadAutoWireExtensionTargetsin interfaceSectionNode- Parameters:
autoWirer-AutoWirerto be loaded with theOfficeSectionManagedObjectextension targets.compileContext-CompileContext.
-
autoWireObjects
public void autoWireObjects(AutoWirer<LinkObjectNode> autoWirer, CompileContext compileContext)
Description copied from interface:SectionNodeAuto-wires theSectionObjectNodeinstances that are unlinked.- Specified by:
autoWireObjectsin interfaceSectionNode- Parameters:
autoWirer-AutoWirer.compileContext-CompileContext.
-
autoWireTeams
public void autoWireTeams(AutoWirer<LinkTeamNode> autoWirer, CompileContext compileContext)
Description copied from interface:SectionNodeAuto-wires theSectionFunctioninstances to a possible responsibleTeam.- Specified by:
autoWireTeamsin interfaceSectionNode- Parameters:
autoWirer-AutoWirer.compileContext-CompileContext.
-
loadManagedFunctionNodes
public void loadManagedFunctionNodes(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctionNodes)
Description copied from interface:SectionNodeLoads theManagedFunctionNodeinstances.- Specified by:
loadManagedFunctionNodesin interfaceSectionNode- Parameters:
managedFunctionNodes-Mapto be loaded with theManagedFunctionNodeinstances by their qualified name.
-
runExecutionExplorers
public boolean runExecutionExplorers(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctions, CompileContext compileContext)
Description copied from interface:SectionNodeRuns theExecutionExplorerinstances.- Specified by:
runExecutionExplorersin interfaceSectionNode- Parameters:
managedFunctions-ManagedFunctionNodeinstances by their qualified name.compileContext-CompileContext.- Returns:
trueif successfully explored execution.
-
buildSection
public void buildSection(OfficeBuilder officeBuilder, OfficeBindings officeBindings, CompileContext compileContext)
Description copied from interface:SectionNodeBuilds thisOfficeSectionfor thisSectionNode.- Specified by:
buildSectionin interfaceSectionNode- Parameters:
officeBuilder-OfficeBuilderof theOfficecontaining thisSectionNode.officeBindings-OfficeBindingsof theOfficecontaining thisSectionNode.compileContext-CompileContext.
-
loadExternalServicing
public void loadExternalServicing(Office office) throws UnknownFunctionException
Description copied from interface:SectionNodeLoads theFunctionManagerinstances to externally trigger thisSectionNode.- Specified by:
loadExternalServicingin interfaceSectionNode- Parameters:
office-Officecontaining thisSectionNode.- Throws:
UnknownFunctionException-UnknownFunctionException.
-
getParentSectionNode
public SectionNode getParentSectionNode()
Description copied from interface:SectionNodeObtains the parentSectionNodecontaining thisSectionNode.- Specified by:
getParentSectionNodein interfaceSectionNode- Returns:
- Parent
SectionNodeornullif thisSectionNodeis the top levelSectionNode(in other words aOfficeSection).
-
getOfficeNode
public OfficeNode getOfficeNode()
Description copied from interface:SectionNodeObtains theOfficeNodecontaining thisSectionNode.- Specified by:
getOfficeNodein interfaceSectionNode- Returns:
OfficeNodecontaining thisSectionNode.
-
getDeployedOfficeInput
public DeployedOfficeInput getDeployedOfficeInput(java.lang.String inputName)
Description copied from interface:SectionNodeObtains theDeployedOfficeInput.- Specified by:
getDeployedOfficeInputin interfaceSectionNode- Parameters:
inputName- Input name as per theOfficeAvailableSectionInputType.- Returns:
DeployedOfficeInput.
-
getSubSectionName
public java.lang.String getSubSectionName()
Description copied from interface:SubSectionObtains the name of thisSubSection.- Specified by:
getSubSectionNamein interfaceSubSection- Returns:
- Name of this
SubSection.
-
addProperty
public void addProperty(java.lang.String name, java.lang.String value)Description copied from interface:PropertyConfigurableAdds aPropertyto configure the item.- Specified by:
addPropertyin interfacePropertyConfigurable- Parameters:
name- Name ofProperty.value- Value ofProperty.
-
getSubSectionInput
public SubSectionInput getSubSectionInput(java.lang.String inputName)
Description copied from interface:SubSectionObtains theSubSectionInput.- Specified by:
getSubSectionInputin interfaceSubSection- Parameters:
inputName- Name of theSubSectionInputto obtain.- Returns:
SubSectionInput.
-
getSubSectionOutput
public SubSectionOutput getSubSectionOutput(java.lang.String outputName)
Description copied from interface:SubSectionObtains theSubSectionOutput.- Specified by:
getSubSectionOutputin interfaceSubSection- Parameters:
outputName- Name of theSubSectionOutputto obtain.- Returns:
SubSectionOutput.
-
getSubSectionObject
public SubSectionObject getSubSectionObject(java.lang.String objectName)
Description copied from interface:SubSectionObtains theSubSectionObject.- Specified by:
getSubSectionObjectin interfaceSubSection- Parameters:
objectName- Name of theSubSectionObjectto obtain.- Returns:
SubSectionObject.
-
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.
-
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.
-
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.
-
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 dependencyRequireNode, SectionDependencyObjectNode dependencyObjectNode)
Description copied from interface:SectionDesignerLinks theSectionDependencyRequireNodeto be fulfilled by theSectionDependencyObjectNode.- Specified by:
linkin interfaceSectionDesigner- Parameters:
dependencyRequireNode-SectionDependencyRequireNode.dependencyObjectNode-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.
-
getOfficeSectionName
public java.lang.String getOfficeSectionName()
Description copied from interface:OfficeSectionTransformerContextObtains the name of theOfficeSection.- Specified by:
getOfficeSectionNamein interfaceOfficeSectionTransformerContext- Specified by:
getOfficeSectionNamein interfaceOfficeSubSection- Returns:
- Name of the
OfficeSection.
-
getOfficeSectionInput
public OfficeSectionInput getOfficeSectionInput(java.lang.String inputName)
Description copied from interface:OfficeSectionObtains theOfficeSectionInput.- Specified by:
getOfficeSectionInputin interfaceOfficeSection- Parameters:
inputName- Name of theOfficeSectionInputto obtain.- Returns:
OfficeSectionInput.
-
getOfficeSectionOutput
public OfficeSectionOutput getOfficeSectionOutput(java.lang.String outputName)
Description copied from interface:OfficeSectionObtains theOfficeSectionOutput.- Specified by:
getOfficeSectionOutputin interfaceOfficeSection- Parameters:
outputName- Name of theOfficeSectionOutputto obtain.- Returns:
OfficeSectionOutput.
-
getOfficeSectionObject
public OfficeSectionObject getOfficeSectionObject(java.lang.String objectName)
Description copied from interface:OfficeSectionObtains theOfficeSectionObject.- Specified by:
getOfficeSectionObjectin interfaceOfficeSection- Parameters:
objectName- Name of theOfficeSectionObjectto obtain.- Returns:
OfficeSectionObject.
-
setSuperOfficeSection
public void setSuperOfficeSection(OfficeSection superSection)
Description copied from interface:OfficeSectionSpecifies an
OfficeSectionthat thisOfficeSectionwill inherit its links from.Typical example use would be creating an
OfficeSectionto render a web page. For headers and footers, the various links do not want to have to be configured for eachOfficeSectionpage. This would clutter the graphical configuration. Hence the main page can configure these header and footer links, with all other pages inheriting the links from the main page.- Specified by:
setSuperOfficeSectionin interfaceOfficeSection- Parameters:
superSection- SuperOfficeSection.
-
getOfficeSubSection
public OfficeSubSection getOfficeSubSection(java.lang.String sectionName)
Description copied from interface:OfficeSubSectionObtains theOfficeSubSection.- Specified by:
getOfficeSubSectionin interfaceOfficeSubSection- Parameters:
sectionName- Name of theOfficeSubSectionto obtain.- Returns:
OfficeSubSection.
-
getOfficeSectionFunction
public OfficeSectionFunction getOfficeSectionFunction(java.lang.String functionName)
Description copied from interface:OfficeSubSectionObtains theOfficeSectionFunctioninstance particular to thisOfficeSubSection.- Specified by:
getOfficeSectionFunctionin interfaceOfficeSubSection- Parameters:
functionName- Name of theOfficeSectionFunctionto obtain.- Returns:
OfficeSectionFunction.
-
getOfficeSectionManagedObject
public OfficeSectionManagedObject getOfficeSectionManagedObject(java.lang.String managedObjectName)
Description copied from interface:OfficeSubSectionObtains theOfficeSectionManagedObjectparticular to thisOfficeSubSection.- Specified by:
getOfficeSectionManagedObjectin interfaceOfficeSubSection- Parameters:
managedObjectName- Name of theOfficeSectionManagedObjectto obtain.- Returns:
OfficeSectionManagedObject.
-
getOfficeSectionManagedObjectSource
public OfficeSectionManagedObjectSource getOfficeSectionManagedObjectSource(java.lang.String managedObjectSourceName)
Description copied from interface:OfficeSubSectionObtains theOfficeSectionManagedObjectSourceparticular to thisOfficeSubSection.- Specified by:
getOfficeSectionManagedObjectSourcein interfaceOfficeSubSection- Parameters:
managedObjectSourceName- Name of theOfficeSectionManagedObjectSourceto obtain.- Returns:
OfficeSectionManagedObjectSource.
-
addGovernance
public void addGovernance(OfficeGovernance governance)
Description copied from interface:OfficeSubSectionAdds
Governancefor thisOfficeSubSection.This enables providing
Governanceover allOfficeSectionFunctioninstances within theOfficeSubSectionand all its subsequentOfficeSubSectioninstances.- Specified by:
addGovernancein interfaceOfficeSubSection- Parameters:
governance-OfficeGovernance.
-
getSectionSourceClassName
public java.lang.String getSectionSourceClassName()
Description copied from interface:OfficeSectionTransformerContext- Specified by:
getSectionSourceClassNamein interfaceOfficeSectionTransformerContext- Returns:
SectionSourceClassname of theOfficeSectionbeing transformed.
-
getSectionLocation
public java.lang.String getSectionLocation()
Description copied from interface:OfficeSectionTransformerContextObtains the location of theOfficeSectionbeing transformed.- Specified by:
getSectionLocationin interfaceOfficeSectionTransformerContext- Returns:
- Location of the
OfficeSectionbeing transformed.
-
getSectionProperties
public PropertyList getSectionProperties()
Description copied from interface:OfficeSectionTransformerContextObtains thePropertyListof theOfficeSectionbeing transformed.- Specified by:
getSectionPropertiesin interfaceOfficeSectionTransformerContext- Returns:
PropertyListof theOfficeSectionbeing transformed.
-
createPropertyList
public PropertyList createPropertyList()
Description copied from interface:OfficeSectionTransformerContextCreates a newPropertyList.- Specified by:
createPropertyListin interfaceOfficeSectionTransformerContext- Returns:
- New
PropertyList.
-
setTransformedOfficeSection
public void setTransformedOfficeSection(java.lang.String sectionSourceClassName, java.lang.String sectionLocation, PropertyList sectionProperties)Description copied from interface:OfficeSectionTransformerContextSpecifies the transformedOfficeSection.- Specified by:
setTransformedOfficeSectionin interfaceOfficeSectionTransformerContext- Parameters:
sectionSourceClassName-SectionSourceClassname.sectionLocation-SectionSourcelocation.sectionProperties-OfficeSectionPropertyList.
-
setTransformedOfficeSection
public void setTransformedOfficeSection(SectionSource sectionSource, java.lang.String sectionLocation, PropertyList sectionProperties)
Description copied from interface:OfficeSectionTransformerContextSpecifies the transformedOfficeSection.- Specified by:
setTransformedOfficeSectionin interfaceOfficeSectionTransformerContext- Parameters:
sectionSource-SectionSource.sectionLocation-SectionSourcelocation.sectionProperties-OfficeSectionPropertyList.
-
-