Interface SectionNode
-
- All Superinterfaces:
ManagedFunctionRegistry,ManagedObjectRegistry,Node,OfficeSection,OfficeSectionTransformerContext,OfficeSubSection,PropertyConfigurable,SectionDesigner,SourceIssues,SubSection
- All Known Implementing Classes:
SectionNodeImpl
public interface SectionNode extends Node, ManagedObjectRegistry, ManagedFunctionRegistry, OfficeSectionTransformerContext, SectionDesigner, SubSection, OfficeSection
Node within the hierarchy ofOfficeSectioninstances.- Author:
- Daniel Sagenschneider
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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.DeployedOfficeInputgetDeployedOfficeInput(java.lang.String inputName)Obtains theDeployedOfficeInput.GovernanceNode[]getGoverningGovernances()OfficeNodegetOfficeNode()Obtains theOfficeNodecontaining thisSectionNode.SectionNodegetParentSectionNode()Obtains the parentSectionNodecontaining thisSectionNode.SectionOutputNodegetSectionOutputNode(java.lang.String outputName)Obtains the possibleSectionOutputNode.java.lang.StringgetSectionQualifiedName(java.lang.String simpleName)Obtains theSectionNodequalified name within theOfficeNode.SectionNodegetSuperSection()Obtains the parentSectionNodeto thisSectionNode.voidinitialise(java.lang.String sectionSourceClassName, SectionSource sectionSource, java.lang.String sectionLocation)Initialises thisSectionNode.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.OfficeSubSectionTypeloadOfficeSubSectionType(OfficeSubSectionType parentSectionType, CompileContext compileContext)Loads theOfficeSubSectionType.SectionTypeloadSectionType(CompileContext compileContext)Loads theSectionType.booleanrunExecutionExplorers(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctions, CompileContext compileContext)Runs theExecutionExplorerinstances.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 interface net.officefloor.compile.internal.structure.ManagedFunctionRegistry
addManagedFunctionNode
-
Methods inherited from interface net.officefloor.compile.internal.structure.ManagedObjectRegistry
addManagedObjectNode, getManagedObjectNode
-
Methods inherited from interface net.officefloor.compile.internal.structure.Node
getChildNodes, getLocation, getNodeName, getNodeType, getParentNode, getQualifiedName, getQualifiedName, isInitialised
-
Methods inherited from interface net.officefloor.compile.spi.office.OfficeSection
getOfficeSectionInput, getOfficeSectionObject, getOfficeSectionOutput, setSuperOfficeSection
-
Methods inherited from interface net.officefloor.compile.spi.office.OfficeSectionTransformerContext
createPropertyList, getOfficeSectionName, getSectionLocation, getSectionProperties, getSectionSourceClassName, setTransformedOfficeSection, setTransformedOfficeSection
-
Methods inherited from interface net.officefloor.compile.spi.office.OfficeSubSection
addGovernance, getOfficeSectionFunction, getOfficeSectionManagedObject, getOfficeSectionManagedObjectSource, getOfficeSectionName, getOfficeSubSection
-
Methods inherited from interface net.officefloor.compile.properties.PropertyConfigurable
addProperty
-
Methods inherited from interface net.officefloor.compile.spi.section.SectionDesigner
addManagedObjectPool, addManagedObjectPool, addSectionFunctionNamespace, addSectionFunctionNamespace, addSectionInput, addSectionManagedObjectSource, addSectionManagedObjectSource, addSectionObject, addSectionOutput, addSubSection, addSubSection, link, link, link, link
-
Methods inherited from interface net.officefloor.compile.issues.SourceIssues
addIssue, addIssue
-
Methods inherited from interface net.officefloor.compile.spi.section.SubSection
getSubSectionInput, getSubSectionName, getSubSectionObject, getSubSectionOutput
-
-
-
-
Field Detail
-
TYPE
static final java.lang.String TYPE
Nodetype.- See Also:
- Constant Field Values
-
-
Method Detail
-
initialise
void initialise(java.lang.String sectionSourceClassName, SectionSource sectionSource, java.lang.String sectionLocation)Initialises thisSectionNode.- Parameters:
sectionSourceClassName-SectionSourceclass name.sectionSource- Optional instantiatedSectionSource. May benull.sectionLocation- Location of theOfficeSection.
-
sourceSection
boolean sourceSection(ManagedFunctionVisitor managedFunctionVisitor, ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext, boolean isLoadingType)
Sources the section into this
SectionNode.This will only source the top level
OfficeSection.- Parameters:
managedFunctionVisitor-ManagedFunctionVisitor.managedObjectSourceVisitor-ManagedObjectSourceVisitor.compileContext-CompileContext.isLoadingType- Indicates if used for loading type.- Returns:
trueif successfully sourced. Otherwisefalsewith issue reported to theCompilerIssues.
-
sourceSectionTree
boolean sourceSectionTree(ManagedFunctionVisitor managedFunctionVisitor, ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext, boolean isLoadingType)
Sources thisSectionNodeand all its descendantNodeinstances recursively.- Parameters:
managedFunctionVisitor-ManagedFunctionVisitor.managedObjectSourceVisitor-ManagedObjectSourceVisitor.compileContext-CompileContext.isLoadingType- Indicates if used for loading type.- Returns:
trueif successfully sourced. Otherwisefalsewith issue reported to theCompilerIssues.
-
sourceInheritance
boolean sourceInheritance(CompileContext compileContext)
Sources the inheritance of theSectionNode.- Parameters:
compileContext-CompileContext.- Returns:
trueif successfully sourced. Otherwisefalsewith issue reported to theCompilerIssues.
-
getSuperSection
SectionNode getSuperSection()
Obtains the parentSectionNodeto thisSectionNode.- Returns:
- Parent
SectionNodeto thisSectionNode.
-
getSectionOutputNode
SectionOutputNode getSectionOutputNode(java.lang.String outputName)
Obtains the possibleSectionOutputNode.- Parameters:
outputName- Name of theSectionOutputNode.- Returns:
SectionOutputNodeornullif noSectionOutputNodeby name on theSectionNode.
-
loadSectionType
SectionType loadSectionType(CompileContext compileContext)
Loads theSectionType.- Parameters:
compileContext-CompileContext.- Returns:
SectionTypeornullif issue loading with issue reported to theCompilerIssues.
-
loadOfficeSectionType
OfficeSectionType loadOfficeSectionType(CompileContext compileContext)
Loads theOfficeSectionType.- Parameters:
compileContext-CompileContext.- Returns:
OfficeSectionTypeornullif issue loading with issue reported to theCompilerIssues.
-
loadOfficeSubSectionType
OfficeSubSectionType loadOfficeSubSectionType(OfficeSubSectionType parentSectionType, CompileContext compileContext)
Loads theOfficeSubSectionType.- Parameters:
parentSectionType- ParentOfficeSubSectionType.compileContext-CompileContext.- Returns:
OfficeSubSectionTypeornullif issue loading with issue reported to theCompilerIssues.
-
loadOfficeAvailableSectionInputTypes
OfficeAvailableSectionInputType[] loadOfficeAvailableSectionInputTypes(CompileContext compileContext)
Loads theOfficeAvailableSectionInputTypeinstances.- Parameters:
compileContext-CompileContext.- Returns:
OfficeAvailableSectionInputTypeinstances ornullwith issues reported to theCompilerIssues.
-
getDeployedOfficeInput
DeployedOfficeInput getDeployedOfficeInput(java.lang.String inputName)
Obtains theDeployedOfficeInput.- Parameters:
inputName- Input name as per theOfficeAvailableSectionInputType.- Returns:
DeployedOfficeInput.
-
getGoverningGovernances
GovernanceNode[] getGoverningGovernances()
Obtains the
GovernanceNodeinstances providingGovernanceover thisSectionNode.This is list comprised of the:
GovernanceNodeassigned to this particularSectionNodeGovernanceNodeassigned to any parentSectionNode
- Returns:
GovernanceNodeinstances providingGovernanceover thisSectionNode.
-
getParentSectionNode
SectionNode getParentSectionNode()
Obtains the parentSectionNodecontaining thisSectionNode.- Returns:
- Parent
SectionNodeornullif thisSectionNodeis the top levelSectionNode(in other words aOfficeSection).
-
getOfficeNode
OfficeNode getOfficeNode()
Obtains theOfficeNodecontaining thisSectionNode.- Returns:
OfficeNodecontaining thisSectionNode.
-
getSectionQualifiedName
java.lang.String getSectionQualifiedName(java.lang.String simpleName)
Obtains theSectionNodequalified name within theOfficeNode.- Parameters:
simpleName- Simple name to qualify with theSectionNodename space.- Returns:
SectionNodequalified name.
-
loadAutoWireExtensionTargets
void loadAutoWireExtensionTargets(AutoWirer<ManagedObjectExtensionNode> autoWirer, CompileContext compileContext)
Loads theAutoWireextension targets for theOfficeSectionManagedObjectextension targets..- Parameters:
autoWirer-AutoWirerto be loaded with theOfficeSectionManagedObjectextension targets.compileContext-CompileContext.
-
autoWireObjects
void autoWireObjects(AutoWirer<LinkObjectNode> autoWirer, CompileContext compileContext)
Auto-wires theSectionObjectNodeinstances that are unlinked.- Parameters:
autoWirer-AutoWirer.compileContext-CompileContext.
-
autoWireTeams
void autoWireTeams(AutoWirer<LinkTeamNode> autoWirer, CompileContext compileContext)
Auto-wires theSectionFunctioninstances to a possible responsibleTeam.- Parameters:
autoWirer-AutoWirer.compileContext-CompileContext.
-
loadManagedFunctionNodes
void loadManagedFunctionNodes(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctionNodes)
Loads theManagedFunctionNodeinstances.- Parameters:
managedFunctionNodes-Mapto be loaded with theManagedFunctionNodeinstances by their qualified name.
-
runExecutionExplorers
boolean runExecutionExplorers(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctions, CompileContext compileContext)
Runs theExecutionExplorerinstances.- Parameters:
managedFunctions-ManagedFunctionNodeinstances by their qualified name.compileContext-CompileContext.- Returns:
trueif successfully explored execution.
-
buildSection
void buildSection(OfficeBuilder officeBuilder, OfficeBindings officeBindings, CompileContext compileContext)
Builds thisOfficeSectionfor thisSectionNode.- Parameters:
officeBuilder-OfficeBuilderof theOfficecontaining thisSectionNode.officeBindings-OfficeBindingsof theOfficecontaining thisSectionNode.compileContext-CompileContext.
-
loadExternalServicing
void loadExternalServicing(Office office) throws UnknownFunctionException
Loads theFunctionManagerinstances to externally trigger thisSectionNode.- Parameters:
office-Officecontaining thisSectionNode.- Throws:
UnknownFunctionException-UnknownFunctionException.
-
-