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 of
OfficeSection instances.- Author:
- Daniel Sagenschneider
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionvoidautoWireObjects(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.getDeployedOfficeInput(String inputName) Obtains theDeployedOfficeInput.Obtains theOfficeNodecontaining thisSectionNode.Obtains the parentSectionNodecontaining thisSectionNode.getSectionOutputNode(String outputName) Obtains the possibleSectionOutputNode.getSectionQualifiedName(String simpleName) Obtains theSectionNodequalified name within theOfficeNode.Obtains the parentSectionNodeto thisSectionNode.voidinitialise(String sectionSourceClassName, SectionSource sectionSource, 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(Map<String, ManagedFunctionNode> managedFunctionNodes) Loads theManagedFunctionNodeinstances.loadOfficeAvailableSectionInputTypes(CompileContext compileContext) Loads theOfficeAvailableSectionInputTypeinstances.loadOfficeSectionType(CompileContext compileContext) Loads theOfficeSectionType.loadOfficeSubSectionType(OfficeSubSectionType parentSectionType, CompileContext compileContext) Loads theOfficeSubSectionType.loadSectionType(CompileContext compileContext) Loads theSectionType.booleanremoveSectionObjectIfUnused(SectionObjectNode sectionObject) Removes theSectionObjectNodeif unused.booleanrunExecutionExplorers(Map<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
addManagedFunctionNodeMethods inherited from interface net.officefloor.compile.internal.structure.ManagedObjectRegistry
addManagedObjectNode, getManagedObjectNodeMethods inherited from interface net.officefloor.compile.internal.structure.Node
getChildNodes, getLocation, getNodeName, getNodeType, getParentNode, getQualifiedName, getQualifiedName, isInitialisedMethods inherited from interface net.officefloor.compile.spi.office.OfficeSection
getOfficeSectionInput, getOfficeSectionObject, getOfficeSectionOutput, setSuperOfficeSectionMethods inherited from interface net.officefloor.compile.spi.office.OfficeSectionTransformerContext
createPropertyList, getOfficeSectionName, getSectionLocation, getSectionProperties, getSectionSourceClassName, setTransformedOfficeSection, setTransformedOfficeSectionMethods inherited from interface net.officefloor.compile.spi.office.OfficeSubSection
addGovernance, getOfficeSectionFunction, getOfficeSectionManagedObject, getOfficeSectionManagedObjectSource, getOfficeSectionName, getOfficeSubSectionMethods inherited from interface net.officefloor.compile.properties.PropertyConfigurable
addPropertyMethods inherited from interface net.officefloor.compile.spi.section.SectionDesigner
addManagedObjectPool, addManagedObjectPool, addSectionFunctionNamespace, addSectionFunctionNamespace, addSectionInput, addSectionManagedObjectSource, addSectionManagedObjectSource, addSectionObject, addSectionOutput, addSubSection, addSubSection, link, link, link, linkMethods inherited from interface net.officefloor.compile.issues.SourceIssues
addIssue, addIssueMethods inherited from interface net.officefloor.compile.spi.section.SubSection
getSubSectionInput, getSubSectionName, getSubSectionObject, getSubSectionOutput
-
Field Details
-
TYPE
Nodetype.- See Also:
-
-
Method Details
-
initialise
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
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
Obtains the possibleSectionOutputNode.- Parameters:
outputName- Name of theSectionOutputNode.- Returns:
SectionOutputNodeornullif noSectionOutputNodeby name on theSectionNode.
-
removeSectionObjectIfUnused
Removes theSectionObjectNodeif unused.- Parameters:
sectionObject-SectionObjectNodeto remove if unused.- Returns:
trueif removed.
-
loadSectionType
Loads theSectionType.- Parameters:
compileContext-CompileContext.- Returns:
SectionTypeornullif issue loading with issue reported to theCompilerIssues.
-
loadOfficeSectionType
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
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
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
Auto-wires theSectionObjectNodeinstances that are unlinked.- Parameters:
autoWirer-AutoWirer.compileContext-CompileContext.
-
autoWireTeams
Auto-wires theSectionFunctioninstances to a possible responsibleTeam.- Parameters:
autoWirer-AutoWirer.compileContext-CompileContext.
-
loadManagedFunctionNodes
Loads theManagedFunctionNodeinstances.- Parameters:
managedFunctionNodes-Mapto be loaded with theManagedFunctionNodeinstances by their qualified name.
-
runExecutionExplorers
boolean runExecutionExplorers(Map<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
Loads theFunctionManagerinstances to externally trigger thisSectionNode.- Parameters:
office-Officecontaining thisSectionNode.- Throws:
UnknownFunctionException-UnknownFunctionException.
-