Class ManagedFunctionNodeImpl
- java.lang.Object
-
- net.officefloor.compile.impl.structure.ManagedFunctionNodeImpl
-
- All Implemented Interfaces:
LinkFlowNode,ManagedFunctionNode,Node,OfficeSectionFunction,SectionFlowSinkNode,SectionFlowSourceNode,SectionFunction
public class ManagedFunctionNodeImpl extends java.lang.Object implements ManagedFunctionNode
ManagedFunctionNodeimplementation.- Author:
- Daniel Sagenschneider
-
-
Field Summary
-
Fields inherited from interface net.officefloor.compile.internal.structure.ManagedFunctionNode
TYPE
-
-
Constructor Summary
Constructors Constructor Description ManagedFunctionNodeImpl(java.lang.String functionName, SectionNode sectionNode, NodeContext context)Initiate.
-
Method Summary
-
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, getQualifiedName
-
-
-
-
Constructor Detail
-
ManagedFunctionNodeImpl
public ManagedFunctionNodeImpl(java.lang.String functionName, SectionNode sectionNode, NodeContext context)Initiate.- Parameters:
functionName- Name of thisSectionFunction.sectionNode-SectionNodecontaining thisManagedFunctionNode.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.
-
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 managedFunctionTypeName, FunctionNamespaceNode namespaceNode)Description copied from interface:ManagedFunctionNodeInitialises thisManagedFunctionNode.- Specified by:
initialisein interfaceManagedFunctionNode- Parameters:
managedFunctionTypeName-ManagedFunctionTypename.namespaceNode-FunctionNamespaceNodefor theManagedFunctionNode.
-
getQualifiedFunctionName
public java.lang.String getQualifiedFunctionName()
Description copied from interface:ManagedFunctionNodeObtains the fully qualified name of thisManagedFunction.- Specified by:
getQualifiedFunctionNamein interfaceManagedFunctionNode- Returns:
- Fully qualified name of this
ManagedFunction.
-
getFunctionNamespaceNode
public FunctionNamespaceNode getFunctionNamespaceNode()
Description copied from interface:ManagedFunctionNodeObtains theFunctionNamespaceNodecontaining thisManagedFunctionNode.- Specified by:
getFunctionNamespaceNodein interfaceManagedFunctionNode- Returns:
FunctionNamespaceNodecontaining thisManagedFunctionNode.
-
getAugmentedFunctionObject
public AugmentedFunctionObject getAugmentedFunctionObject(java.lang.String objectName)
Description copied from interface:ManagedFunctionNodeObtains theAugmentedFunctionObject.- Specified by:
getAugmentedFunctionObjectin interfaceManagedFunctionNode- Parameters:
objectName- Name of theAugmentedFunctionObject.- Returns:
AugmentedFunctionObject.
-
loadManagedFunctionType
public ManagedFunctionType<?,?> loadManagedFunctionType(CompileContext compileContext)
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
public boolean souceManagedFunction(ManagedFunctionVisitor visitor, CompileContext compileContext)
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
public ExecutionManagedFunction createExecutionManagedFunction(CompileContext compileContext)
Description copied from interface:ManagedFunctionNodeCreates anExecutionManagedFunctionfor thisManagedFunctionNode.- Specified by:
createExecutionManagedFunctionin interfaceManagedFunctionNode- Parameters:
compileContext-CompileContext.- Returns:
ExecutionManagedFunctionfor thisManagedFunctionNode.
-
buildManagedFunction
public void buildManagedFunction(OfficeBuilder officeBuilder, CompileContext compileContext)
Description copied from interface:ManagedFunctionNodeBuilds theManagedFunctionfor thisManagedFunctionNode.- Specified by:
buildManagedFunctionin interfaceManagedFunctionNode- Parameters:
officeBuilder-OfficeBuilder.compileContext-CompileContext.
-
getSectionFunctionName
public java.lang.String getSectionFunctionName()
Description copied from interface:SectionFunctionObtains the name of thisSectionFunction.- Specified by:
getSectionFunctionNamein interfaceSectionFunction- Returns:
- Name of this
SectionFunction.
-
getFunctionFlow
public FunctionFlow getFunctionFlow(java.lang.String functionFlowName)
Description copied from interface:SectionFunctionObtains theFunctionFlowfor theManagedFunctionFlowType.- Specified by:
getFunctionFlowin interfaceSectionFunction- Parameters:
functionFlowName- Name of theManagedFunctionFlowType.- Returns:
FunctionFlow.
-
getFunctionObject
public FunctionObject getFunctionObject(java.lang.String functionObjectName)
Description copied from interface:SectionFunctionObtains theFunctionObjectfor theManagedFunctionObjectType.- Specified by:
getFunctionObjectin interfaceSectionFunction- Parameters:
functionObjectName- Name of theManagedFunctionObjectType.- Returns:
FunctionObject.
-
getFunctionEscalation
public FunctionFlow getFunctionEscalation(java.lang.String functionEscalationName)
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
public boolean linkFlowNode(LinkFlowNode node)
Description copied from interface:LinkFlowNodeLinks the inputLinkFlowNodeto thisLinkFlowNode.- Specified by:
linkFlowNodein interfaceLinkFlowNode- Parameters:
node-LinkFlowNodeto link to thisLinkFlowNode.- Returns:
trueif linked.
-
getLinkedFlowNode
public LinkFlowNode getLinkedFlowNode()
Description copied from interface:LinkFlowNodeObtains theLinkFlowNodelinked to thisLinkFlowNode.- Specified by:
getLinkedFlowNodein interfaceLinkFlowNode- Returns:
LinkFlowNodelinked to thisLinkFlowNode.
-
getOfficeFunctionName
public java.lang.String getOfficeFunctionName()
Description copied from interface:OfficeSectionFunctionObtains the name of theOfficeSectionFunction.- Specified by:
getOfficeFunctionNamein interfaceOfficeSectionFunction- Returns:
- Name of the
OfficeSectionFunction.
-
getResponsibleTeam
public ResponsibleTeam getResponsibleTeam()
Description copied from interface:OfficeSectionFunctionObtains theResponsibleTeamresponsible for thisOfficeSectionFunction.- Specified by:
getResponsibleTeamin interfaceOfficeSectionFunction- Returns:
ResponsibleTeamresponsible for thisOfficeSectionFunction.
-
addPreAdministration
public void addPreAdministration(OfficeAdministration administration)
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
public void addPostAdministration(OfficeAdministration administration)
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
public void addGovernance(OfficeGovernance governance)
Description copied from interface:OfficeSectionFunctionAdds
Governancefor thisOfficeSectionFunction.This enables specifying specifically which
OfficeSectionFunctioninstances requireGovernance.- Specified by:
addGovernancein interfaceOfficeSectionFunction- Parameters:
governance-OfficeGovernance.
-
-