Class ManagedFunctionNodeImpl
java.lang.Object
net.officefloor.compile.impl.structure.ManagedFunctionNodeImpl
- All Implemented Interfaces:
LinkFlowNode,ManagedFunctionNode,Node,OfficeSectionFunction,SectionFlowSinkNode,SectionFlowSourceNode,SectionFunction
ManagedFunctionNode implementation.- Author:
- Daniel Sagenschneider
-
Field Summary
Fields inherited from interface net.officefloor.compile.internal.structure.ManagedFunctionNode
TYPE -
Constructor Summary
ConstructorsConstructorDescriptionManagedFunctionNodeImpl(String functionName, SectionNode sectionNode, NodeContext context) Initiate. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddGovernance(OfficeGovernance governance) AddsGovernancefor thisOfficeSectionFunction.voidaddPostAdministration(OfficeAdministration administration) Adds anOfficeAdministrationto be done after completing thisOfficeSectionFunction.voidaddPreAdministration(OfficeAdministration administration) Adds anOfficeAdministrationto be done before attempting thisOfficeSectionFunction.voidautoWireManagedFunctionResponsibility(AutoWirer<LinkTeamNode> autoWirer, CompileContext compileContext) Auto wires theResponsibleTeamfor thisManagedFunction.voidbuildManagedFunction(OfficeBuilder officeBuilder, OfficeBindings officeBindings, CompileContext compileContext) Builds theManagedFunctionfor thisManagedFunctionNode.createExecutionManagedFunction(CompileContext compileContext) Creates anExecutionManagedFunctionfor thisManagedFunctionNode.getAugmentedFunctionObject(String objectName) Obtains theAugmentedFunctionObject.Node[]Obtains the childNodeinstances.getFunctionEscalation(String functionEscalationName) Obtains theFunctionFlowfor theManagedFunctionEscalationType.getFunctionFlow(String functionFlowName) Obtains theFunctionFlowfor theManagedFunctionFlowType.Obtains theFunctionNamespaceNodecontaining thisManagedFunctionNode.getFunctionObject(String functionObjectName) Obtains theFunctionObjectfor theManagedFunctionObjectType.Obtains theLinkFlowNodelinked to thisLinkFlowNode.Obtains the location of theNode.Obtains the name of theNode.Obtains theNodetype.Obtains the name of theOfficeSectionFunction.Obtains the fully qualified name of thisManagedFunction.Obtains theResponsibleTeamresponsible for thisOfficeSectionFunction.Obtains the name of thisSectionFunction.voidinitialise(String managedFunctionTypeName, FunctionNamespaceNode namespaceNode) Initialises thisManagedFunctionNode.booleanIndicates if theNodehas been initialised.booleanlinkFlowNode(LinkFlowNode node) Links the inputLinkFlowNodeto thisLinkFlowNode.ManagedFunctionType<?,?> loadManagedFunctionType(CompileContext compileContext) Loads theManagedFunctionTypefor thisManagedFunctionNode.loadOfficeFunctionType(OfficeSubSectionType parentSubSectionType, CompileContext compileContext) Loads theOfficeFunctionType.booleansouceManagedFunction(ManagedFunctionVisitor visitor, CompileContext compileContext) Sources theManagedFunction.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.officefloor.compile.internal.structure.Node
getQualifiedName, getQualifiedName
-
Constructor Details
-
ManagedFunctionNodeImpl
Initiate.- Parameters:
functionName- Name of thisSectionFunction.sectionNode-SectionNodecontaining thisManagedFunctionNode.context-NodeContext.
-
-
Method Details
-
getNodeName
Description copied from interface:NodeObtains the name of theNode.- Specified by:
getNodeNamein interfaceNode- Returns:
- Name of the
Node.
-
getNodeType
Description copied from interface:NodeObtains theNodetype.- Specified by:
getNodeTypein interfaceNode- Returns:
Nodetype.
-
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
Description copied from interface:Node- Specified by:
getParentNodein interfaceNode- Returns:
Nodecontaining thisNode.
-
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
Description copied from interface:ManagedFunctionNodeInitialises thisManagedFunctionNode.- Specified by:
initialisein interfaceManagedFunctionNode- Parameters:
managedFunctionTypeName-ManagedFunctionTypename.namespaceNode-FunctionNamespaceNodefor theManagedFunctionNode.
-
getQualifiedFunctionName
Description copied from interface:ManagedFunctionNodeObtains the fully qualified name of thisManagedFunction.- Specified by:
getQualifiedFunctionNamein interfaceManagedFunctionNode- Returns:
- Fully qualified name of this
ManagedFunction.
-
getFunctionNamespaceNode
Description copied from interface:ManagedFunctionNodeObtains theFunctionNamespaceNodecontaining thisManagedFunctionNode.- Specified by:
getFunctionNamespaceNodein interfaceManagedFunctionNode- Returns:
FunctionNamespaceNodecontaining thisManagedFunctionNode.
-
getAugmentedFunctionObject
Description copied from interface:ManagedFunctionNodeObtains theAugmentedFunctionObject.- Specified by:
getAugmentedFunctionObjectin interfaceManagedFunctionNode- Parameters:
objectName- Name of theAugmentedFunctionObject.- Returns:
AugmentedFunctionObject.
-
loadManagedFunctionType
Description copied from interface:ManagedFunctionNodeLoads theManagedFunctionTypefor thisManagedFunctionNode.- Specified by:
loadManagedFunctionTypein interfaceManagedFunctionNode- Parameters:
compileContext-CompileContext.- Returns:
ManagedFunctionTypefor thisManagedFunctionNode. May benullif can not determineManagedFunctionType.
-
loadOfficeFunctionType
public OfficeFunctionType loadOfficeFunctionType(OfficeSubSectionType parentSubSectionType, CompileContext compileContext) Description copied from interface:ManagedFunctionNodeLoads theOfficeFunctionType.- Specified by:
loadOfficeFunctionTypein interfaceManagedFunctionNode- Parameters:
parentSubSectionType- ContainingOfficeSubSectionTypeto thisOfficeSectionFunction.compileContext-CompileContext.- Returns:
OfficeFunctionTypeornullwith issues reported to theCompilerIssues.
-
souceManagedFunction
Description copied from interface:ManagedFunctionNodeSources theManagedFunction.- Specified by:
souceManagedFunctionin interfaceManagedFunctionNode- Parameters:
visitor-ManagedFunctionVisitor.compileContext-CompileContext.- Returns:
trueif successfully sourced theManagedFunction.falseif failed to source with issues reported to theCompilerIssues.
-
autoWireManagedFunctionResponsibility
public void autoWireManagedFunctionResponsibility(AutoWirer<LinkTeamNode> autoWirer, CompileContext compileContext) Description copied from interface:ManagedFunctionNodeAuto wires theResponsibleTeamfor thisManagedFunction.- Specified by:
autoWireManagedFunctionResponsibilityin interfaceManagedFunctionNode- Parameters:
autoWirer-AutoWirer.compileContext-CompileContext.
-
createExecutionManagedFunction
Description copied from interface:ManagedFunctionNodeCreates anExecutionManagedFunctionfor thisManagedFunctionNode.- Specified by:
createExecutionManagedFunctionin interfaceManagedFunctionNode- Parameters:
compileContext-CompileContext.- Returns:
ExecutionManagedFunctionfor thisManagedFunctionNode.
-
buildManagedFunction
public void buildManagedFunction(OfficeBuilder officeBuilder, OfficeBindings officeBindings, CompileContext compileContext) Description copied from interface:ManagedFunctionNodeBuilds theManagedFunctionfor thisManagedFunctionNode.- Specified by:
buildManagedFunctionin interfaceManagedFunctionNode- Parameters:
officeBuilder-OfficeBuilder.officeBindings-OfficeBindings.compileContext-CompileContext.
-
getSectionFunctionName
Description copied from interface:SectionFunctionObtains the name of thisSectionFunction.- Specified by:
getSectionFunctionNamein interfaceSectionFunction- Returns:
- Name of this
SectionFunction.
-
getFunctionFlow
Description copied from interface:SectionFunctionObtains theFunctionFlowfor theManagedFunctionFlowType.- Specified by:
getFunctionFlowin interfaceSectionFunction- Parameters:
functionFlowName- Name of theManagedFunctionFlowType.- Returns:
FunctionFlow.
-
getFunctionObject
Description copied from interface:SectionFunctionObtains theFunctionObjectfor theManagedFunctionObjectType.- Specified by:
getFunctionObjectin interfaceSectionFunction- Parameters:
functionObjectName- Name of theManagedFunctionObjectType.- Returns:
FunctionObject.
-
getFunctionEscalation
Description copied from interface:SectionFunctionObtains theFunctionFlowfor theManagedFunctionEscalationType.- Specified by:
getFunctionEscalationin interfaceSectionFunction- Parameters:
functionEscalationName- Fully qualified class name of theThrowableidentifying theManagedFunctionEscalationType. TheEscalationtype is used rather than the name as handling is done by theEscalationtype.- Returns:
FunctionFlowfor theManagedFunctionEscalationType.
-
linkFlowNode
Description copied from interface:LinkFlowNodeLinks the inputLinkFlowNodeto thisLinkFlowNode.- Specified by:
linkFlowNodein interfaceLinkFlowNode- Parameters:
node-LinkFlowNodeto link to thisLinkFlowNode.- Returns:
trueif linked.
-
getLinkedFlowNode
Description copied from interface:LinkFlowNodeObtains theLinkFlowNodelinked to thisLinkFlowNode.- Specified by:
getLinkedFlowNodein interfaceLinkFlowNode- Returns:
LinkFlowNodelinked to thisLinkFlowNode.
-
getOfficeFunctionName
Description copied from interface:OfficeSectionFunctionObtains the name of theOfficeSectionFunction.- Specified by:
getOfficeFunctionNamein interfaceOfficeSectionFunction- Returns:
- Name of the
OfficeSectionFunction.
-
getResponsibleTeam
Description copied from interface:OfficeSectionFunctionObtains theResponsibleTeamresponsible for thisOfficeSectionFunction.- Specified by:
getResponsibleTeamin interfaceOfficeSectionFunction- Returns:
ResponsibleTeamresponsible for thisOfficeSectionFunction.
-
addPreAdministration
Description copied from interface:OfficeSectionFunctionAdds an
OfficeAdministrationto be done before attempting thisOfficeSectionFunction.The order that the
OfficeAdministrationinstances are added is the order they will be done before thisOfficeSectionFunction.- Specified by:
addPreAdministrationin interfaceOfficeSectionFunction- Parameters:
administration-OfficeAdministrationto be done before attempting thisOfficeSectionFunction.
-
addPostAdministration
Description copied from interface:OfficeSectionFunctionAdds an
OfficeAdministrationto be done after completing thisOfficeSectionFunction.The order that the
OfficeAdministrationinstances are added is the order they will be done after thisOfficeSectionFunctionis complete.- Specified by:
addPostAdministrationin interfaceOfficeSectionFunction- Parameters:
administration-OfficeAdministrationto be done after completing thisOfficeSectionFunction.
-
addGovernance
Description copied from interface:OfficeSectionFunctionAdds
Governancefor thisOfficeSectionFunction.This enables specifying specifically which
OfficeSectionFunctioninstances requireGovernance.- Specified by:
addGovernancein interfaceOfficeSectionFunction- Parameters:
governance-OfficeGovernance.
-