Class AdministrationNodeImpl
- java.lang.Object
-
- net.officefloor.compile.impl.structure.AdministrationNodeImpl
-
- All Implemented Interfaces:
AdministrationNode,LinkTeamNode,Node,PropertyConfigurable,OfficeAdministration,OfficeResponsibility
public class AdministrationNodeImpl extends java.lang.Object implements AdministrationNode
AdministrationNodeimplementation.- Author:
- Daniel Sagenschneider
-
-
Field Summary
-
Fields inherited from interface net.officefloor.compile.internal.structure.AdministrationNode
TYPE
-
-
Constructor Summary
Constructors Constructor Description AdministrationNodeImpl(java.lang.String administrationName, OfficeNode officeNode, NodeContext context)Initiate.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddProperty(java.lang.String name, java.lang.String value)Adds aPropertyto configure the item.voidadministerManagedObject(AdministerableManagedObject managedObject)Administers theAdministerableManagedObject.voidautoWireExtensions(AutoWirer<ManagedObjectExtensionNode> autoWirer, CompileContext compileContext)Auto wires theManagedObjectExtensionNodefor thisAdministration.voidautoWireTeam(AutoWirer<LinkTeamNode> autoWirer, CompileContext compileContext)Auto wires theTeamfor thisAdministration.voidbuildPostFunctionAdministration(ManagedFunctionBuilder<?,?> functionBuilder, CompileContext compileContext)Builds the postManagedFunctionAdministration.voidbuildPreFunctionAdministration(ManagedFunctionBuilder<?,?> functionBuilder, CompileContext compileContext)Builds the preManagedFunctionAdministration.voidbuildPreLoadManagedObjectAdministration(DependencyMappingBuilder dependencyMappingBuilder, CompileContext compileContext)Builds the pre-loadManagedObjectAdministration.voidenableAutoWireExtensions()Enables auto-wiring theAdministerableManagedObjectinstances.Node[]getChildNodes()Obtains the childNodeinstances.LinkTeamNodegetLinkedTeamNode()Obtains theLinkTeamNodelinked to thisLinkTeamNode.java.lang.StringgetLocation()Obtains the location of theNode.java.lang.StringgetNodeName()Obtains the name of theNode.java.lang.StringgetNodeType()Obtains theNodetype.java.lang.StringgetOfficeAdministrationName()Obtains the name of thisOfficeAdministration.NodegetParentNode()voidinitialise(java.lang.String administrationSourceClassName, AdministrationSource<?,?,?> administrationSource)Initialises thisAdministrationNode.booleanisAutoWireAdministration()Indicates whether to auto-wireManagedObjectExtensionNodeinstances forAdministration.booleanisInitialised()Indicates if theNodehas been initialised.booleanlinkTeamNode(LinkTeamNode node)Links the inputLinkTeamNodeto thisLinkTeamNode.AdministrationType<?,?,?>loadAdministrationType(boolean isLoadingType)Obtains theAdministrationTypefor thisAdministrationNode.booleansourceAdministration(CompileContext compileContext)Sources theAdministration.-
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
-
AdministrationNodeImpl
public AdministrationNodeImpl(java.lang.String administrationName, OfficeNode officeNode, NodeContext context)Initiate.- Parameters:
administrationName- Name of thisOfficeAdministration.officeNode- ParentOfficeNode.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 administrationSourceClassName, AdministrationSource<?,?,?> administrationSource)Description copied from interface:AdministrationNodeInitialises thisAdministrationNode.- Specified by:
initialisein interfaceAdministrationNode- Parameters:
administrationSourceClassName- Class name of theAdministrationSource.administrationSource- Optional instantiatedAdministrationSource. May benull.
-
getOfficeAdministrationName
public java.lang.String getOfficeAdministrationName()
Description copied from interface:OfficeAdministrationObtains the name of thisOfficeAdministration.- Specified by:
getOfficeAdministrationNamein interfaceOfficeAdministration- Returns:
- Name of this
OfficeAdministration.
-
addProperty
public void addProperty(java.lang.String name, java.lang.String value)Description copied from interface:PropertyConfigurableAdds aPropertyto configure the item.- Specified by:
addPropertyin interfacePropertyConfigurable- Parameters:
name- Name ofProperty.value- Value ofProperty.
-
administerManagedObject
public void administerManagedObject(AdministerableManagedObject managedObject)
Description copied from interface:OfficeAdministrationAdministers theAdministerableManagedObject.- Specified by:
administerManagedObjectin interfaceOfficeAdministration- Parameters:
managedObject-AdministerableManagedObjectto be administered.
-
enableAutoWireExtensions
public void enableAutoWireExtensions()
Description copied from interface:OfficeAdministrationEnables auto-wiring theAdministerableManagedObjectinstances.- Specified by:
enableAutoWireExtensionsin interfaceOfficeAdministration
-
loadAdministrationType
public AdministrationType<?,?,?> loadAdministrationType(boolean isLoadingType)
Description copied from interface:AdministrationNodeObtains the
AdministrationTypefor thisAdministrationNode.The
OfficeAdministrationmust be fully populated with the necessaryPropertyinstances before calling this.- Specified by:
loadAdministrationTypein interfaceAdministrationNode- Parameters:
isLoadingType- Indicates using to load type.- Returns:
AdministrationTypefor thisAdministrationNode.
-
sourceAdministration
public boolean sourceAdministration(CompileContext compileContext)
Description copied from interface:AdministrationNodeSources theAdministration.- Specified by:
sourceAdministrationin interfaceAdministrationNode- Parameters:
compileContext-CompileContext.- Returns:
trueif successfully sourced. Otherwise,falsewith issues reported to theCompilerIssues.
-
isAutoWireAdministration
public boolean isAutoWireAdministration()
Description copied from interface:AdministrationNodeIndicates whether to auto-wireManagedObjectExtensionNodeinstances forAdministration.- Specified by:
isAutoWireAdministrationin interfaceAdministrationNode- Returns:
trueto auto-wire.
-
autoWireExtensions
public void autoWireExtensions(AutoWirer<ManagedObjectExtensionNode> autoWirer, CompileContext compileContext)
Description copied from interface:AdministrationNodeAuto wires theManagedObjectExtensionNodefor thisAdministration.- Specified by:
autoWireExtensionsin interfaceAdministrationNode- Parameters:
autoWirer-AutoWirer.compileContext-CompileContext.
-
autoWireTeam
public void autoWireTeam(AutoWirer<LinkTeamNode> autoWirer, CompileContext compileContext)
Description copied from interface:AdministrationNodeAuto wires theTeamfor thisAdministration.- Specified by:
autoWireTeamin interfaceAdministrationNode- Parameters:
autoWirer-AutoWirer.compileContext-CompileContext.
-
buildPreFunctionAdministration
public void buildPreFunctionAdministration(ManagedFunctionBuilder<?,?> functionBuilder, CompileContext compileContext)
Description copied from interface:AdministrationNodeBuilds the preManagedFunctionAdministration.- Specified by:
buildPreFunctionAdministrationin interfaceAdministrationNode- Parameters:
functionBuilder-ManagedFunctionBuilder.compileContext-CompileContext.
-
buildPostFunctionAdministration
public void buildPostFunctionAdministration(ManagedFunctionBuilder<?,?> functionBuilder, CompileContext compileContext)
Description copied from interface:AdministrationNodeBuilds the postManagedFunctionAdministration.- Specified by:
buildPostFunctionAdministrationin interfaceAdministrationNode- Parameters:
functionBuilder-ManagedFunctionBuilder.compileContext-CompileContext.
-
buildPreLoadManagedObjectAdministration
public void buildPreLoadManagedObjectAdministration(DependencyMappingBuilder dependencyMappingBuilder, CompileContext compileContext)
Description copied from interface:AdministrationNodeBuilds the pre-loadManagedObjectAdministration.- Specified by:
buildPreLoadManagedObjectAdministrationin interfaceAdministrationNode- Parameters:
dependencyMappingBuilder-DependencyMappingBuilderfor theManagedObject.compileContext-CompileContext.
-
linkTeamNode
public boolean linkTeamNode(LinkTeamNode node)
Description copied from interface:LinkTeamNodeLinks the inputLinkTeamNodeto thisLinkTeamNode.- Specified by:
linkTeamNodein interfaceLinkTeamNode- Parameters:
node-LinkTeamNodeto link to thisLinkTeamNode.- Returns:
trueif linked.
-
getLinkedTeamNode
public LinkTeamNode getLinkedTeamNode()
Description copied from interface:LinkTeamNodeObtains theLinkTeamNodelinked to thisLinkTeamNode.- Specified by:
getLinkedTeamNodein interfaceLinkTeamNode- Returns:
LinkTeamNodelinked to thisLinkTeamNode.
-
-