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 ofOfficeSection
instances.- Author:
- Daniel Sagenschneider
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
autoWireObjects(AutoWirer<LinkObjectNode> autoWirer, CompileContext compileContext)
Auto-wires theSectionObjectNode
instances that are unlinked.void
autoWireTeams(AutoWirer<LinkTeamNode> autoWirer, CompileContext compileContext)
Auto-wires theSectionFunction
instances to a possible responsibleTeam
.void
buildSection(OfficeBuilder officeBuilder, OfficeBindings officeBindings, CompileContext compileContext)
Builds thisOfficeSection
for thisSectionNode
.DeployedOfficeInput
getDeployedOfficeInput(java.lang.String inputName)
Obtains theDeployedOfficeInput
.GovernanceNode[]
getGoverningGovernances()
OfficeNode
getOfficeNode()
Obtains theOfficeNode
containing thisSectionNode
.SectionNode
getParentSectionNode()
Obtains the parentSectionNode
containing thisSectionNode
.SectionOutputNode
getSectionOutputNode(java.lang.String outputName)
Obtains the possibleSectionOutputNode
.java.lang.String
getSectionQualifiedName(java.lang.String simpleName)
Obtains theSectionNode
qualified name within theOfficeNode
.SectionNode
getSuperSection()
Obtains the parentSectionNode
to thisSectionNode
.void
initialise(java.lang.String sectionSourceClassName, SectionSource sectionSource, java.lang.String sectionLocation)
Initialises thisSectionNode
.void
loadAutoWireExtensionTargets(AutoWirer<ManagedObjectExtensionNode> autoWirer, CompileContext compileContext)
Loads theAutoWire
extension targets for theOfficeSectionManagedObject
extension targets..void
loadExternalServicing(Office office)
Loads theFunctionManager
instances to externally trigger thisSectionNode
.void
loadManagedFunctionNodes(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctionNodes)
Loads theManagedFunctionNode
instances.OfficeAvailableSectionInputType[]
loadOfficeAvailableSectionInputTypes(CompileContext compileContext)
Loads theOfficeAvailableSectionInputType
instances.OfficeSectionType
loadOfficeSectionType(CompileContext compileContext)
Loads theOfficeSectionType
.OfficeSubSectionType
loadOfficeSubSectionType(OfficeSubSectionType parentSectionType, CompileContext compileContext)
Loads theOfficeSubSectionType
.SectionType
loadSectionType(CompileContext compileContext)
Loads theSectionType
.boolean
runExecutionExplorers(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctions, CompileContext compileContext)
Runs theExecutionExplorer
instances.boolean
sourceInheritance(CompileContext compileContext)
Sources the inheritance of theSectionNode
.boolean
sourceSection(ManagedFunctionVisitor managedFunctionVisitor, ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext, boolean isLoadingType)
Sources the section into thisSectionNode
.boolean
sourceSectionTree(ManagedFunctionVisitor managedFunctionVisitor, ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext, boolean isLoadingType)
Sources thisSectionNode
and all its descendantNode
instances 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
Node
type.- See Also:
- Constant Field Values
-
-
Method Detail
-
initialise
void initialise(java.lang.String sectionSourceClassName, SectionSource sectionSource, java.lang.String sectionLocation)
Initialises thisSectionNode
.- Parameters:
sectionSourceClassName
-SectionSource
class 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:
true
if successfully sourced. Otherwisefalse
with issue reported to theCompilerIssues
.
-
sourceSectionTree
boolean sourceSectionTree(ManagedFunctionVisitor managedFunctionVisitor, ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext, boolean isLoadingType)
Sources thisSectionNode
and all its descendantNode
instances recursively.- Parameters:
managedFunctionVisitor
-ManagedFunctionVisitor
.managedObjectSourceVisitor
-ManagedObjectSourceVisitor
.compileContext
-CompileContext
.isLoadingType
- Indicates if used for loading type.- Returns:
true
if successfully sourced. Otherwisefalse
with issue reported to theCompilerIssues
.
-
sourceInheritance
boolean sourceInheritance(CompileContext compileContext)
Sources the inheritance of theSectionNode
.- Parameters:
compileContext
-CompileContext
.- Returns:
true
if successfully sourced. Otherwisefalse
with issue reported to theCompilerIssues
.
-
getSuperSection
SectionNode getSuperSection()
Obtains the parentSectionNode
to thisSectionNode
.- Returns:
- Parent
SectionNode
to thisSectionNode
.
-
getSectionOutputNode
SectionOutputNode getSectionOutputNode(java.lang.String outputName)
Obtains the possibleSectionOutputNode
.- Parameters:
outputName
- Name of theSectionOutputNode
.- Returns:
SectionOutputNode
ornull
if noSectionOutputNode
by name on theSectionNode
.
-
loadSectionType
SectionType loadSectionType(CompileContext compileContext)
Loads theSectionType
.- Parameters:
compileContext
-CompileContext
.- Returns:
SectionType
ornull
if issue loading with issue reported to theCompilerIssues
.
-
loadOfficeSectionType
OfficeSectionType loadOfficeSectionType(CompileContext compileContext)
Loads theOfficeSectionType
.- Parameters:
compileContext
-CompileContext
.- Returns:
OfficeSectionType
ornull
if issue loading with issue reported to theCompilerIssues
.
-
loadOfficeSubSectionType
OfficeSubSectionType loadOfficeSubSectionType(OfficeSubSectionType parentSectionType, CompileContext compileContext)
Loads theOfficeSubSectionType
.- Parameters:
parentSectionType
- ParentOfficeSubSectionType
.compileContext
-CompileContext
.- Returns:
OfficeSubSectionType
ornull
if issue loading with issue reported to theCompilerIssues
.
-
loadOfficeAvailableSectionInputTypes
OfficeAvailableSectionInputType[] loadOfficeAvailableSectionInputTypes(CompileContext compileContext)
Loads theOfficeAvailableSectionInputType
instances.- Parameters:
compileContext
-CompileContext
.- Returns:
OfficeAvailableSectionInputType
instances ornull
with 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
GovernanceNode
instances providingGovernance
over thisSectionNode
.This is list comprised of the:
GovernanceNode
assigned to this particularSectionNode
GovernanceNode
assigned to any parentSectionNode
- Returns:
GovernanceNode
instances providingGovernance
over thisSectionNode
.
-
getParentSectionNode
SectionNode getParentSectionNode()
Obtains the parentSectionNode
containing thisSectionNode
.- Returns:
- Parent
SectionNode
ornull
if thisSectionNode
is the top levelSectionNode
(in other words aOfficeSection
).
-
getOfficeNode
OfficeNode getOfficeNode()
Obtains theOfficeNode
containing thisSectionNode
.- Returns:
OfficeNode
containing thisSectionNode
.
-
getSectionQualifiedName
java.lang.String getSectionQualifiedName(java.lang.String simpleName)
Obtains theSectionNode
qualified name within theOfficeNode
.- Parameters:
simpleName
- Simple name to qualify with theSectionNode
name space.- Returns:
SectionNode
qualified name.
-
loadAutoWireExtensionTargets
void loadAutoWireExtensionTargets(AutoWirer<ManagedObjectExtensionNode> autoWirer, CompileContext compileContext)
Loads theAutoWire
extension targets for theOfficeSectionManagedObject
extension targets..- Parameters:
autoWirer
-AutoWirer
to be loaded with theOfficeSectionManagedObject
extension targets.compileContext
-CompileContext
.
-
autoWireObjects
void autoWireObjects(AutoWirer<LinkObjectNode> autoWirer, CompileContext compileContext)
Auto-wires theSectionObjectNode
instances that are unlinked.- Parameters:
autoWirer
-AutoWirer
.compileContext
-CompileContext
.
-
autoWireTeams
void autoWireTeams(AutoWirer<LinkTeamNode> autoWirer, CompileContext compileContext)
Auto-wires theSectionFunction
instances to a possible responsibleTeam
.- Parameters:
autoWirer
-AutoWirer
.compileContext
-CompileContext
.
-
loadManagedFunctionNodes
void loadManagedFunctionNodes(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctionNodes)
Loads theManagedFunctionNode
instances.- Parameters:
managedFunctionNodes
-Map
to be loaded with theManagedFunctionNode
instances by their qualified name.
-
runExecutionExplorers
boolean runExecutionExplorers(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctions, CompileContext compileContext)
Runs theExecutionExplorer
instances.- Parameters:
managedFunctions
-ManagedFunctionNode
instances by their qualified name.compileContext
-CompileContext
.- Returns:
true
if successfully explored execution.
-
buildSection
void buildSection(OfficeBuilder officeBuilder, OfficeBindings officeBindings, CompileContext compileContext)
Builds thisOfficeSection
for thisSectionNode
.- Parameters:
officeBuilder
-OfficeBuilder
of theOffice
containing thisSectionNode
.officeBindings
-OfficeBindings
of theOffice
containing thisSectionNode
.compileContext
-CompileContext
.
-
loadExternalServicing
void loadExternalServicing(Office office) throws UnknownFunctionException
Loads theFunctionManager
instances to externally trigger thisSectionNode
.- Parameters:
office
-Office
containing thisSectionNode
.- Throws:
UnknownFunctionException
-UnknownFunctionException
.
-
-