Class OfficeFloorNodeImpl
- java.lang.Object
-
- net.officefloor.compile.impl.structure.OfficeFloorNodeImpl
-
- All Implemented Interfaces:
ManagedObjectRegistry
,ManagedObjectSourceVisitor
,Node
,OfficeFloorNode
,OverrideProperties
,TeamVisitor
,SourceIssues
,PropertyConfigurable
,OfficeFloorDeployer
public class OfficeFloorNodeImpl extends java.lang.Object implements OfficeFloorNode, ManagedObjectSourceVisitor, TeamVisitor
OfficeFloorNode
implementation.- Author:
- Daniel Sagenschneider
-
-
Field Summary
-
Fields inherited from interface net.officefloor.compile.internal.structure.OfficeFloorNode
OFFICE_FLOOR_NAME, TYPE
-
-
Constructor Summary
Constructors Constructor Description OfficeFloorNodeImpl(java.lang.String officeFloorSourceClassName, OfficeFloorSource officeFloorSource, java.lang.String officeFloorLocation, NodeContext context, java.util.Map<java.lang.String,Profiler> profilers)
Initiate.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DeployedOffice
addDeployedOffice(java.lang.String officeName, java.lang.String officeSourceClassName, java.lang.String officeLocation)
Adds aDeployedOffice
to theOfficeFloor
.DeployedOffice
addDeployedOffice(java.lang.String officeName, OfficeSource officeSource, java.lang.String officeLocation)
Adds aDeployedOffice
to theOfficeFloor
.OfficeFloorInputManagedObject
addInputManagedObject(java.lang.String inputManagedObjectName, java.lang.String inputObjectType)
Adds anOfficeFloorInputManagedObject
.CompileError
addIssue(java.lang.String issueDescription)
Allows the source to add an issue.CompileError
addIssue(java.lang.String issueDescription, java.lang.Throwable cause)
Allows the source to add an issue along with its cause.ManagedObjectNode
addManagedObjectNode(java.lang.String managedObjectName, ManagedObjectScope managedObjectScope, ManagedObjectSourceNode managedObjectSourceNode)
Adds an initialisedManagedObjectNode
to the registry.OfficeFloorManagedObjectPool
addManagedObjectPool(java.lang.String managedObjectPoolName, java.lang.String managedObjectPoolSourceClassName)
Adds anOfficeFloorManagedObjectPool
.OfficeFloorManagedObjectPool
addManagedObjectPool(java.lang.String managedObjectPoolName, ManagedObjectPoolSource managedObjectPoolSource)
Adds anOfficeFloorManagedObjectPool
.OfficeFloorManagedObjectSource
addManagedObjectSource(java.lang.String managedObjectSourceName, java.lang.String managedObjectSourceClassName)
Adds anOfficeFloorManagedObjectSource
.OfficeFloorManagedObjectSource
addManagedObjectSource(java.lang.String managedObjectSourceName, SuppliedManagedObjectSourceNode suppliedManagedObject)
Adds aOfficeFloorManagedObjectSource
supplied from anOfficeFloorSupplier
.OfficeFloorManagedObjectSource
addManagedObjectSource(java.lang.String managedObjectSourceName, ManagedObjectSource<?,?> managedObjectSource)
Adds anOfficeFloorManagedObjectSource
.void
addManagedObjectSourceAugmentor(ManagedObjectSourceAugmentor managedObjectSourceAugmentor)
Adds aManagedObjectSourceAugmentor
.void
addOfficeFloorListener(OfficeFloorListener listener)
Adds anOfficeFloorListener
.void
addProperty(java.lang.String name, java.lang.String value)
Adds aProperty
to configure the item.OfficeFloorSupplier
addSupplier(java.lang.String supplierName, java.lang.String supplierSourceClassName)
Adds anOfficeFloorSupplier
.OfficeFloorSupplier
addSupplier(java.lang.String supplierName, SupplierSource supplierSource)
Adds anOfficeFloorSupplier
.OfficeFloorTeam
addTeam(java.lang.String teamName, java.lang.String teamSourceClassName)
Adds aOfficeFloorTeam
.OfficeFloorTeam
addTeam(java.lang.String teamName, TeamSource teamSource)
Adds aOfficeFloorTeam
.void
addTeamAugmentor(TeamAugmentor teamAugmentor)
Adds aTeamAugmentor
.OfficeFloor
deployOfficeFloor(java.lang.String officeFloorName, OfficeFloorBuilder builder, CompileContext compileContext)
Deploys theOfficeFloor
.void
enableAutoWireObjects()
Flags to attempt to auto wire any non-configured object links.void
enableAutoWireTeams()
Flags to attempt to auto wire any non-configuredTeam
links.AvailableType[]
getAvailableTypes(CompileContext compileContext)
Obtains theAvailableType
instances.Node[]
getChildNodes()
Obtains the childNode
instances.DeployedOffice
getDeployedOffice(java.lang.String officeName)
Obtains theDeployedOffice
.DeployedOffice[]
getDeployedOffices()
Obtains the currently addedDeployedOffice
instances.InternalSupplier[]
getInternalSuppliers()
Obtains theInternalSupplier
instances.java.lang.String
getLocation()
Obtains the location of theNode
.ManagedObjectNode
getManagedObjectNode(java.lang.String managedObjectName)
Obtains theManagedObjectNode
from the registry.java.lang.String
getNodeName()
Obtains the name of theNode
.java.lang.String
getNodeType()
Obtains theNode
type.OfficeFloorListener[]
getOfficeFloorListeners()
Obtains theOfficeFloorDeployer
configuredOfficeFloorListener
instances.PropertyList
getOverridePropertyList()
Obtains the overridePropertyList
.Node
getParentNode()
java.lang.String
getQualifiedName(java.lang.String name)
Obtains the qualified name for childNode
.void
initialise()
Initialises theOfficeFloorNode
.boolean
isDefaultExecutionStrategy()
Indicates if defaultExecutionStrategy
is being used.boolean
isInitialised()
Indicates if theNode
has been initialised.void
link(ManagingOffice managingOffice, DeployedOffice office)
Links theManagingOffice
to be managed by theDeployedOffice
.void
link(OfficeFloorDependencyRequireNode dependencyRequireNode, OfficeFloorDependencyObjectNode dependencyObjectNode)
Links theOfficeFloorDependencyObjectNode
to be fulfilled by theOfficeFloorDependencyObjectNode
.void
link(OfficeFloorFlowSourceNode flowSourceNode, OfficeFloorFlowSinkNode flowSinkNode)
Links theOfficeFloorFlowSourceNode
to be undertake by theOfficeFloorFlowSinkNode
.void
link(OfficeFloorManagedObjectExecutionStrategy managedObjectExecutionStrategy, OfficeFloorExecutionStrategy executionStrategy)
Links theOfficeFloorManagedObjectExecutionStrategy
to theOfficeFloorExecutionStrategy
.void
link(OfficeFloorManagedObjectSource managedObjectSource, OfficeFloorInputManagedObject inputManagedObject)
Links theOfficeFloorInputManagedObject
to be input by theOfficeFloorManagedObjectSource
.void
link(OfficeFloorManagedObjectSource managedObjectSource, OfficeFloorManagedObjectPool managedObjectPool)
Links theOfficeFloorManagedObjectSource
to be pooled by theOfficeFloorManagedObjectPool
.void
link(OfficeFloorResponsibility responsibility, OfficeFloorTeam officeFloorTeam)
Links theOfficeFloorResponsibility
to theOfficeFloorTeam
.AutoWirer<ManagedObjectExtensionNode>
loadAutoWireExtensionTargets(AutoWirer<ManagedObjectExtensionNode> autoWirer, CompileContext compileContext)
Loads theAutoWire
extension targets for theOfficeFloorManagedObject
.AutoWirer<ManagedObjectSourceNode>
loadAutoWireManagedObjectSourceTargets(AutoWirer<ManagedObjectSourceNode> autoWirer, CompileContext compileContext)
Loads theAutoWire
targets for theManagedObjectSourceNode
instances.AutoWirer<LinkObjectNode>
loadAutoWireObjectTargets(AutoWirer<LinkObjectNode> autoWirer, CompileContext compileContext)
Loads theAutoWire
targets for theOfficeFloorManagedObject
instances.void
loadAutoWireTeamTargets(AutoWirer<LinkTeamNode> autoWirer, OfficeTeamRegistry officeTeamRegistry, CompileContext compileContext)
Loads theAutoWire
targets for theOfficeFloorTeam
instances.void
loadExternalServicing(OfficeFloor officeFloor)
Loads theFunctionManager
instances to externally trigger thisOfficeFloorNode
.OfficeFloorType
loadOfficeFloorType(CompileContext compileContext)
Loads theOfficeFloorType
.OfficeFloorExecutive
setExecutive(java.lang.String executiveSourceClassName)
Sets theOfficeFloorExecutive
.OfficeFloorExecutive
setExecutive(ExecutiveSource executiveSource)
Sets theOfficeFloorExecutive
.boolean
sourceOfficeFloor(CompileContext compileContext)
Sources theOfficeFloor
into thisOfficeFloorNode
.boolean
sourceOfficeFloorTree(AutoWirerVisitor autoWirerVisitor, CompileContext compileContext)
Sources thisOfficeFloorNode
and all its descendantNode
instances recursively.void
startAfter(OfficeFloorManagedObjectSource managedObjectSource, java.lang.String managedObjectTypeName)
Flags anOfficeFloorManagedObjectSource
to be started afterManagedObjectSource
instances providing the type.void
startAfter(OfficeFloorManagedObjectSource startLater, OfficeFloorManagedObjectSource startEarlier)
Flags anOfficeFloorManagedObjectSource
to be started after anotherOfficeFloorManagedObjectSource
.void
startBefore(OfficeFloorManagedObjectSource managedObjectSource, java.lang.String managedObjectTypeName)
Flags anOfficeFloorManagedObjectSource
to be started beforeManagedObjectSource
instances providing the type.void
startBefore(OfficeFloorManagedObjectSource startEarlier, OfficeFloorManagedObjectSource startLater)
Flags anOfficeFloorManagedObjectSource
to be started before anotherOfficeFloorManagedObjectSource
.void
visit(ManagedObjectType<?> managedObjectType, ManagedObjectSourceNode managedObjectSourceNode, CompileContext compileContext)
Visits theManagedObjectSourceNode
.void
visit(TeamType teamType, TeamNode teamNode, CompileContext compileContext)
Visits theTeamNode
.-
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
-
-
-
-
Constructor Detail
-
OfficeFloorNodeImpl
public OfficeFloorNodeImpl(java.lang.String officeFloorSourceClassName, OfficeFloorSource officeFloorSource, java.lang.String officeFloorLocation, NodeContext context, java.util.Map<java.lang.String,Profiler> profilers)
Initiate.- Parameters:
officeFloorSourceClassName
-OfficeFloorSource
class name.officeFloorSource
- Optional instantiatedOfficeFloorSource
. May benull
.officeFloorLocation
- Location of theOfficeFloor
.context
-NodeContext
.profilers
- Mapping ofProfiler
by theirOffice
name.
-
-
Method Detail
-
getNodeName
public java.lang.String getNodeName()
Description copied from interface:Node
Obtains the name of theNode
.- Specified by:
getNodeName
in interfaceNode
- Returns:
- Name of the
Node
.
-
getNodeType
public java.lang.String getNodeType()
Description copied from interface:Node
Obtains theNode
type.- Specified by:
getNodeType
in interfaceNode
- Returns:
Node
type.
-
getLocation
public java.lang.String getLocation()
Description copied from interface:Node
Obtains the location of theNode
.- Specified by:
getLocation
in interfaceNode
- Returns:
- Location of the
Node
. May benull
ifNode
does not support a location.
-
getParentNode
public Node getParentNode()
Description copied from interface:Node
- Specified by:
getParentNode
in interfaceNode
- Returns:
Node
containing thisNode
.
-
getQualifiedName
public java.lang.String getQualifiedName(java.lang.String name)
Description copied from interface:Node
Obtains the qualified name for childNode
.- Specified by:
getQualifiedName
in interfaceNode
- Parameters:
name
- Name of childNode
.- Returns:
- Name qualified by this
Node
.
-
getChildNodes
public Node[] getChildNodes()
Description copied from interface:Node
Obtains the childNode
instances.- Specified by:
getChildNodes
in interfaceNode
- Returns:
- Child
Node
instances.
-
isInitialised
public boolean isInitialised()
Description copied from interface:Node
Indicates if theNode
has been initialised.Node
instances should only be initialised once. Initialising theNode
twice is an issue.- Specified by:
isInitialised
in interfaceNode
- Returns:
true
if initialised.
-
initialise
public void initialise()
Description copied from interface:OfficeFloorNode
Initialises theOfficeFloorNode
.- Specified by:
initialise
in interfaceOfficeFloorNode
-
getOverridePropertyList
public PropertyList getOverridePropertyList()
Description copied from interface:OverrideProperties
Obtains the overridePropertyList
.- Specified by:
getOverridePropertyList
in interfaceOverrideProperties
- Returns:
- Override
PropertyList
.
-
visit
public void visit(ManagedObjectType<?> managedObjectType, ManagedObjectSourceNode managedObjectSourceNode, CompileContext compileContext)
Description copied from interface:ManagedObjectSourceVisitor
Visits theManagedObjectSourceNode
.- Specified by:
visit
in interfaceManagedObjectSourceVisitor
- Parameters:
managedObjectType
-ManagedObjectType
.managedObjectSourceNode
-ManagedObjectSourceNode
.compileContext
-CompileContext
.
-
visit
public void visit(TeamType teamType, TeamNode teamNode, CompileContext compileContext)
Description copied from interface:TeamVisitor
Visits theTeamNode
.- Specified by:
visit
in interfaceTeamVisitor
- Parameters:
teamType
-TeamType
.teamNode
-TeamNode
.compileContext
-CompileContext
.
-
getManagedObjectNode
public ManagedObjectNode getManagedObjectNode(java.lang.String managedObjectName)
Description copied from interface:ManagedObjectRegistry
Obtains the
ManagedObjectNode
from the registry.The returned
ManagedObjectNode
may or may not be initialised.- Specified by:
getManagedObjectNode
in interfaceManagedObjectRegistry
- Parameters:
managedObjectName
- Name of theManagedObjectNode
.- Returns:
ManagedObjectNode
from the registry.
-
addManagedObjectNode
public ManagedObjectNode addManagedObjectNode(java.lang.String managedObjectName, ManagedObjectScope managedObjectScope, ManagedObjectSourceNode managedObjectSourceNode)
Description copied from interface:ManagedObjectRegistry
Adds an initialised
ManagedObjectNode
to the registry.Should an
ManagedObjectNode
already be added by the name, then an issue is reported to theCompilerIssue
.- Specified by:
addManagedObjectNode
in interfaceManagedObjectRegistry
- Parameters:
managedObjectName
- Name of theManagedObjectNode
.managedObjectScope
-ManagedObjectScope
.managedObjectSourceNode
-ManagedObjectSourceNode
for theManagedObjectNode
.- Returns:
- Initialised
ManagedObjectNode
by the name.
-
enableAutoWireObjects
public void enableAutoWireObjects()
Description copied from interface:OfficeFloorDeployer
Flags to attempt to auto wire any non-configured object links.- Specified by:
enableAutoWireObjects
in interfaceOfficeFloorDeployer
-
enableAutoWireTeams
public void enableAutoWireTeams()
Description copied from interface:OfficeFloorDeployer
Flags to attempt to auto wire any non-configuredTeam
links.- Specified by:
enableAutoWireTeams
in interfaceOfficeFloorDeployer
-
addOfficeFloorListener
public void addOfficeFloorListener(OfficeFloorListener listener)
Description copied from interface:OfficeFloorDeployer
Adds an
OfficeFloorListener
.This enables external services to operate in the open/close life-cycle of
OfficeFloor
.- Specified by:
addOfficeFloorListener
in interfaceOfficeFloorDeployer
- Parameters:
listener
-OfficeFloorListener
.
-
addManagedObjectSourceAugmentor
public void addManagedObjectSourceAugmentor(ManagedObjectSourceAugmentor managedObjectSourceAugmentor)
Description copied from interface:OfficeFloorDeployer
Adds aManagedObjectSourceAugmentor
.- Specified by:
addManagedObjectSourceAugmentor
in interfaceOfficeFloorDeployer
- Parameters:
managedObjectSourceAugmentor
-ManagedObjectSourceAugmentor
.
-
addTeamAugmentor
public void addTeamAugmentor(TeamAugmentor teamAugmentor)
Description copied from interface:OfficeFloorDeployer
Adds aTeamAugmentor
.- Specified by:
addTeamAugmentor
in interfaceOfficeFloorDeployer
- Parameters:
teamAugmentor
-TeamAugmentor
.
-
addManagedObjectSource
public OfficeFloorManagedObjectSource addManagedObjectSource(java.lang.String managedObjectSourceName, java.lang.String managedObjectSourceClassName)
Description copied from interface:OfficeFloorDeployer
Adds anOfficeFloorManagedObjectSource
.- Specified by:
addManagedObjectSource
in interfaceOfficeFloorDeployer
- Parameters:
managedObjectSourceName
- Name of theOfficeFloorManagedObjectSource
.managedObjectSourceClassName
- Fully qualified class name of theManagedObjectSource
.- Returns:
- Added
OfficeFloorManagedObjectSource
.
-
addManagedObjectSource
public OfficeFloorManagedObjectSource addManagedObjectSource(java.lang.String managedObjectSourceName, ManagedObjectSource<?,?> managedObjectSource)
Description copied from interface:OfficeFloorDeployer
Adds anOfficeFloorManagedObjectSource
.- Specified by:
addManagedObjectSource
in interfaceOfficeFloorDeployer
- Parameters:
managedObjectSourceName
- Name of theOfficeFloorManagedObjectSource
.managedObjectSource
-ManagedObjectSource
instance to use.- Returns:
- Added
OfficeFloorManagedObjectSource
.
-
addInputManagedObject
public OfficeFloorInputManagedObject addInputManagedObject(java.lang.String inputManagedObjectName, java.lang.String inputObjectType)
Description copied from interface:OfficeFloorDeployer
Adds anOfficeFloorInputManagedObject
.- Specified by:
addInputManagedObject
in interfaceOfficeFloorDeployer
- Parameters:
inputManagedObjectName
- Name of theOfficeFloorInputManagedObject
.inputObjectType
- InputObject
type.- Returns:
- Added
OfficeFloorInputManagedObject
.
-
addManagedObjectPool
public OfficeFloorManagedObjectPool addManagedObjectPool(java.lang.String managedObjectPoolName, java.lang.String managedObjectPoolSourceClassName)
Description copied from interface:OfficeFloorDeployer
Adds anOfficeFloorManagedObjectPool
.- Specified by:
addManagedObjectPool
in interfaceOfficeFloorDeployer
- Parameters:
managedObjectPoolName
- Name of theOfficeFloorManagedObjectPool
.managedObjectPoolSourceClassName
- Fully qualified class name of theManagedObjectPoolSource
.- Returns:
- Added
OfficeFloorManagedObjectPool
.
-
addManagedObjectPool
public OfficeFloorManagedObjectPool addManagedObjectPool(java.lang.String managedObjectPoolName, ManagedObjectPoolSource managedObjectPoolSource)
Description copied from interface:OfficeFloorDeployer
Adds anOfficeFloorManagedObjectPool
.- Specified by:
addManagedObjectPool
in interfaceOfficeFloorDeployer
- Parameters:
managedObjectPoolName
- Name of theOfficeFloorManagedObjectPool
.managedObjectPoolSource
-ManagedObjectPoolSource
instance to use.- Returns:
OfficeFloorManagedObjectPool
.
-
addSupplier
public OfficeFloorSupplier addSupplier(java.lang.String supplierName, java.lang.String supplierSourceClassName)
Description copied from interface:OfficeFloorDeployer
Adds anOfficeFloorSupplier
.- Specified by:
addSupplier
in interfaceOfficeFloorDeployer
- Parameters:
supplierName
- Name of theOfficeFloorSupplier
.supplierSourceClassName
- Fully qualified class name of theSupplierSource
.- Returns:
OfficeFloorSupplier
.
-
addSupplier
public OfficeFloorSupplier addSupplier(java.lang.String supplierName, SupplierSource supplierSource)
Description copied from interface:OfficeFloorDeployer
Adds anOfficeFloorSupplier
.- Specified by:
addSupplier
in interfaceOfficeFloorDeployer
- Parameters:
supplierName
- Name of theOfficeFloorSupplier
.supplierSource
-SupplierSource
instance to use.- Returns:
OfficeFloorSupplier
.
-
addTeam
public OfficeFloorTeam addTeam(java.lang.String teamName, java.lang.String teamSourceClassName)
Description copied from interface:OfficeFloorDeployer
Adds aOfficeFloorTeam
.- Specified by:
addTeam
in interfaceOfficeFloorDeployer
- Parameters:
teamName
- Name of theOfficeFloorTeam
.teamSourceClassName
- Fully qualified class name of theTeamSource
.- Returns:
- Added
OfficeFloorTeam
.
-
addTeam
public OfficeFloorTeam addTeam(java.lang.String teamName, TeamSource teamSource)
Description copied from interface:OfficeFloorDeployer
Adds aOfficeFloorTeam
.- Specified by:
addTeam
in interfaceOfficeFloorDeployer
- Parameters:
teamName
- Name of theOfficeFloorTeam
.teamSource
-TeamSource
.- Returns:
- Added
OfficeFloorTeam
.
-
setExecutive
public OfficeFloorExecutive setExecutive(java.lang.String executiveSourceClassName)
Description copied from interface:OfficeFloorDeployer
Sets theOfficeFloorExecutive
.- Specified by:
setExecutive
in interfaceOfficeFloorDeployer
- Parameters:
executiveSourceClassName
- Fully qualified class name of theExecutiveSource
.- Returns:
- Set
OfficeFloorExecutive
.
-
setExecutive
public OfficeFloorExecutive setExecutive(ExecutiveSource executiveSource)
Description copied from interface:OfficeFloorDeployer
Sets theOfficeFloorExecutive
.- Specified by:
setExecutive
in interfaceOfficeFloorDeployer
- Parameters:
executiveSource
-ExecutiveSource
.- Returns:
- Set
OfficeFloorExecutive
.
-
addDeployedOffice
public DeployedOffice addDeployedOffice(java.lang.String officeName, OfficeSource officeSource, java.lang.String officeLocation)
Description copied from interface:OfficeFloorDeployer
Adds aDeployedOffice
to theOfficeFloor
.- Specified by:
addDeployedOffice
in interfaceOfficeFloorDeployer
- Parameters:
officeName
- Name of theOffice
.officeSource
-OfficeSource
instance.officeLocation
- Location of theOffice
.- Returns:
DeployedOffice
.
-
addDeployedOffice
public DeployedOffice addDeployedOffice(java.lang.String officeName, java.lang.String officeSourceClassName, java.lang.String officeLocation)
Description copied from interface:OfficeFloorDeployer
Adds aDeployedOffice
to theOfficeFloor
.- Specified by:
addDeployedOffice
in interfaceOfficeFloorDeployer
- Parameters:
officeName
- Name of theOffice
.officeSourceClassName
- Fully qualified class name of theOfficeSource
.officeLocation
- Location of theOffice
.- Returns:
DeployedOffice
.
-
getDeployedOffice
public DeployedOffice getDeployedOffice(java.lang.String officeName)
Description copied from interface:OfficeFloorDeployer
Obtains theDeployedOffice
.- Specified by:
getDeployedOffice
in interfaceOfficeFloorDeployer
- Parameters:
officeName
- Name of theDeployedOffice
.- Returns:
DeployedOffice
.
-
getDeployedOffices
public DeployedOffice[] getDeployedOffices()
Description copied from interface:OfficeFloorDeployer
Obtains the currently addedDeployedOffice
instances.- Specified by:
getDeployedOffices
in interfaceOfficeFloorDeployer
- Returns:
- Currently added
DeployedOffice
instances.
-
link
public void link(OfficeFloorManagedObjectSource managedObjectSource, OfficeFloorInputManagedObject inputManagedObject)
Description copied from interface:OfficeFloorDeployer
Links theOfficeFloorInputManagedObject
to be input by theOfficeFloorManagedObjectSource
.- Specified by:
link
in interfaceOfficeFloorDeployer
- Parameters:
managedObjectSource
-OfficeFloorManagedObjectSource
.inputManagedObject
-OfficeFloorInputManagedObject
.
-
link
public void link(OfficeFloorManagedObjectSource managedObjectSource, OfficeFloorManagedObjectPool managedObjectPool)
Description copied from interface:OfficeFloorDeployer
Links theOfficeFloorManagedObjectSource
to be pooled by theOfficeFloorManagedObjectPool
.- Specified by:
link
in interfaceOfficeFloorDeployer
- Parameters:
managedObjectSource
-OfficeFloorManagedObject
.managedObjectPool
-OfficeFloorManagedObjectPool
.
-
link
public void link(OfficeFloorFlowSourceNode flowSourceNode, OfficeFloorFlowSinkNode flowSinkNode)
Description copied from interface:OfficeFloorDeployer
Links theOfficeFloorFlowSourceNode
to be undertake by theOfficeFloorFlowSinkNode
.- Specified by:
link
in interfaceOfficeFloorDeployer
- Parameters:
flowSourceNode
-OfficeFloorFlowSourceNode
.flowSinkNode
-OfficeFloorFlowSinkNode
.
-
link
public void link(OfficeFloorDependencyRequireNode dependencyRequireNode, OfficeFloorDependencyObjectNode dependencyObjectNode)
Description copied from interface:OfficeFloorDeployer
Links theOfficeFloorDependencyObjectNode
to be fulfilled by theOfficeFloorDependencyObjectNode
.- Specified by:
link
in interfaceOfficeFloorDeployer
- Parameters:
dependencyRequireNode
-OfficeFloorDependencyRequireNode
.dependencyObjectNode
-OfficeFloorDependencyObjectNode
.
-
link
public void link(OfficeFloorResponsibility responsibility, OfficeFloorTeam officeFloorTeam)
Description copied from interface:OfficeFloorDeployer
Links theOfficeFloorResponsibility
to theOfficeFloorTeam
.- Specified by:
link
in interfaceOfficeFloorDeployer
- Parameters:
responsibility
-OfficeFloorResponsibility
.officeFloorTeam
-OfficeFloorTeam
.
-
link
public void link(OfficeFloorManagedObjectExecutionStrategy managedObjectExecutionStrategy, OfficeFloorExecutionStrategy executionStrategy)
Description copied from interface:OfficeFloorDeployer
Links theOfficeFloorManagedObjectExecutionStrategy
to theOfficeFloorExecutionStrategy
.- Specified by:
link
in interfaceOfficeFloorDeployer
- Parameters:
managedObjectExecutionStrategy
-OfficeFloorManagedObjectExecutionStrategy
.executionStrategy
-OfficeFloorExecutionStrategy
.
-
link
public void link(ManagingOffice managingOffice, DeployedOffice office)
Description copied from interface:OfficeFloorDeployer
Links theManagingOffice
to be managed by theDeployedOffice
.- Specified by:
link
in interfaceOfficeFloorDeployer
- Parameters:
managingOffice
-ManagingOffice
.office
-DeployedOffice
.
-
startBefore
public void startBefore(OfficeFloorManagedObjectSource startEarlier, OfficeFloorManagedObjectSource startLater)
Description copied from interface:OfficeFloorDeployer
Flags anOfficeFloorManagedObjectSource
to be started before anotherOfficeFloorManagedObjectSource
.- Specified by:
startBefore
in interfaceOfficeFloorDeployer
- Parameters:
startEarlier
-OfficeFloorManagedObjectSource
to be started up before.startLater
-OfficeFloorManagedObjectSource
to be started up afterwards.
-
startBefore
public void startBefore(OfficeFloorManagedObjectSource managedObjectSource, java.lang.String managedObjectTypeName)
Description copied from interface:OfficeFloorDeployer
Flags anOfficeFloorManagedObjectSource
to be started beforeManagedObjectSource
instances providing the type.- Specified by:
startBefore
in interfaceOfficeFloorDeployer
- Parameters:
managedObjectSource
-OfficeFloorManagedObjectSource
to be started up before.managedObjectTypeName
- Fully qualified type name ofManagedObject
object type for theManagedObjectSource
to be started up afterwards.
-
startAfter
public void startAfter(OfficeFloorManagedObjectSource startLater, OfficeFloorManagedObjectSource startEarlier)
Description copied from interface:OfficeFloorDeployer
Flags anOfficeFloorManagedObjectSource
to be started after anotherOfficeFloorManagedObjectSource
.- Specified by:
startAfter
in interfaceOfficeFloorDeployer
- Parameters:
startLater
-OfficeFloorManagedObjectSource
to be started up afterwards.startEarlier
-OfficeFloorManagedObjectSource
to be started up before.
-
startAfter
public void startAfter(OfficeFloorManagedObjectSource managedObjectSource, java.lang.String managedObjectTypeName)
Description copied from interface:OfficeFloorDeployer
Flags anOfficeFloorManagedObjectSource
to be started afterManagedObjectSource
instances providing the type.- Specified by:
startAfter
in interfaceOfficeFloorDeployer
- Parameters:
managedObjectSource
-OfficeFloorManagedObjectSource
to be started up after.managedObjectTypeName
- Fully qualified type name ofManagedObject
object type for theManagedObjectSource
to be started up beforehand.
-
addIssue
public CompileError addIssue(java.lang.String issueDescription)
Description copied from interface:SourceIssues
Allows the source to add an issue.
This is available to report invalid configuration.
- Specified by:
addIssue
in interfaceSourceIssues
- Parameters:
issueDescription
- Description of the issue.- Returns:
CompileError
to be used inthrow
statement when addingCompilerIssue
to avoid further compiling.
-
addIssue
public CompileError addIssue(java.lang.String issueDescription, java.lang.Throwable cause)
Description copied from interface:SourceIssues
Allows the source to add an issue along with its cause.
This is available to report invalid configuration.
- Specified by:
addIssue
in interfaceSourceIssues
- Parameters:
issueDescription
- Description of the issue.cause
- Cause of the issue.- Returns:
CompileError
to be used inthrow
statement when addingCompilerIssue
to avoid further compiling.
-
addProperty
public void addProperty(java.lang.String name, java.lang.String value)
Description copied from interface:PropertyConfigurable
Adds aProperty
to configure the item.- Specified by:
addProperty
in interfacePropertyConfigurable
- Parameters:
name
- Name ofProperty
.value
- Value ofProperty
.
-
addManagedObjectSource
public OfficeFloorManagedObjectSource addManagedObjectSource(java.lang.String managedObjectSourceName, SuppliedManagedObjectSourceNode suppliedManagedObject)
Description copied from interface:OfficeFloorNode
Adds aOfficeFloorManagedObjectSource
supplied from anOfficeFloorSupplier
.- Specified by:
addManagedObjectSource
in interfaceOfficeFloorNode
- Parameters:
managedObjectSourceName
- Name of theOfficeFloorManagedObjectSource
.suppliedManagedObject
-SuppliedManagedObjectSourceNode
to supply theOfficeFloorManagedObjectSource
.- Returns:
OfficeFloorManagedObjectSource
.
-
sourceOfficeFloor
public boolean sourceOfficeFloor(CompileContext compileContext)
Description copied from interface:OfficeFloorNode
Sources the
OfficeFloor
into thisOfficeFloorNode
.This will only source the top level
OfficeSection
.- Specified by:
sourceOfficeFloor
in interfaceOfficeFloorNode
- Parameters:
compileContext
-CompileContext
.- Returns:
true
if successfully sourced. Otherwisefalse
with issue reported to theCompilerIssues
.
-
sourceOfficeFloorTree
public boolean sourceOfficeFloorTree(AutoWirerVisitor autoWirerVisitor, CompileContext compileContext)
Description copied from interface:OfficeFloorNode
Sources thisOfficeFloorNode
and all its descendantNode
instances recursively.- Specified by:
sourceOfficeFloorTree
in interfaceOfficeFloorNode
- Parameters:
autoWirerVisitor
-AutoWirerVisitor
.compileContext
-CompileContext
.- Returns:
true
if successfully sourced. Otherwisefalse
with issue reported to theCompilerIssues
.
-
getAvailableTypes
public AvailableType[] getAvailableTypes(CompileContext compileContext)
Description copied from interface:OfficeFloorNode
Obtains theAvailableType
instances.- Specified by:
getAvailableTypes
in interfaceOfficeFloorNode
- Parameters:
compileContext
-CompileContext
.- Returns:
AvailableType
instances.
-
loadAutoWireObjectTargets
public AutoWirer<LinkObjectNode> loadAutoWireObjectTargets(AutoWirer<LinkObjectNode> autoWirer, CompileContext compileContext)
Description copied from interface:OfficeFloorNode
Loads theAutoWire
targets for theOfficeFloorManagedObject
instances.- Specified by:
loadAutoWireObjectTargets
in interfaceOfficeFloorNode
- Parameters:
autoWirer
-AutoWirer
to be loaded with theOfficeFloorManagedObject
targets.compileContext
-CompileContext
.- Returns:
AutoWirer
with context for theOfficeFloor
.
-
loadAutoWireManagedObjectSourceTargets
public AutoWirer<ManagedObjectSourceNode> loadAutoWireManagedObjectSourceTargets(AutoWirer<ManagedObjectSourceNode> autoWirer, CompileContext compileContext)
Description copied from interface:OfficeFloorNode
Loads theAutoWire
targets for theManagedObjectSourceNode
instances.- Specified by:
loadAutoWireManagedObjectSourceTargets
in interfaceOfficeFloorNode
- Parameters:
autoWirer
-AutoWirer
to be loaded with theOfficeFloorManagedObjectSource
targets.compileContext
-CompileContext
.- Returns:
AutoWirer
with context for theOfficeFloor
.
-
loadAutoWireExtensionTargets
public AutoWirer<ManagedObjectExtensionNode> loadAutoWireExtensionTargets(AutoWirer<ManagedObjectExtensionNode> autoWirer, CompileContext compileContext)
Description copied from interface:OfficeFloorNode
Loads theAutoWire
extension targets for theOfficeFloorManagedObject
.- Specified by:
loadAutoWireExtensionTargets
in interfaceOfficeFloorNode
- Parameters:
autoWirer
-AutoWirer
to be loaded with theOfficeFloorManagedObject
extension targets.compileContext
-CompileContext
.- Returns:
AutoWirer
with context for theOfficeFloor
.
-
loadAutoWireTeamTargets
public void loadAutoWireTeamTargets(AutoWirer<LinkTeamNode> autoWirer, OfficeTeamRegistry officeTeamRegistry, CompileContext compileContext)
Description copied from interface:OfficeFloorNode
Loads theAutoWire
targets for theOfficeFloorTeam
instances.- Specified by:
loadAutoWireTeamTargets
in interfaceOfficeFloorNode
- Parameters:
autoWirer
-AutoWire
to be loaded with theOfficeFloorTeam
targets.officeTeamRegistry
-OfficeTeamRegistry
.compileContext
-CompileContext
.
-
loadOfficeFloorType
public OfficeFloorType loadOfficeFloorType(CompileContext compileContext)
Description copied from interface:OfficeFloorNode
Loads theOfficeFloorType
.- Specified by:
loadOfficeFloorType
in interfaceOfficeFloorNode
- Parameters:
compileContext
-CompileContext
.- Returns:
true
if theOfficeFloorType
was loaded.
-
getOfficeFloorListeners
public OfficeFloorListener[] getOfficeFloorListeners()
Description copied from interface:OfficeFloorNode
Obtains theOfficeFloorDeployer
configuredOfficeFloorListener
instances.- Specified by:
getOfficeFloorListeners
in interfaceOfficeFloorNode
- Returns:
OfficeFloorDeployer
configuredOfficeFloorListener
instances.
-
isDefaultExecutionStrategy
public boolean isDefaultExecutionStrategy()
Description copied from interface:OfficeFloorNode
Indicates if defaultExecutionStrategy
is being used.- Specified by:
isDefaultExecutionStrategy
in interfaceOfficeFloorNode
- Returns:
true
if defaultExecutionStrategy
is being used.
-
deployOfficeFloor
public OfficeFloor deployOfficeFloor(java.lang.String officeFloorName, OfficeFloorBuilder builder, CompileContext compileContext)
Description copied from interface:OfficeFloorNode
Deploys theOfficeFloor
.- Specified by:
deployOfficeFloor
in interfaceOfficeFloorNode
- Parameters:
officeFloorName
- Name of theOfficeFloor
.builder
-OfficeFloorBuilder
to build the deployedOfficeFloor
.compileContext
-CompileContext
.- Returns:
OfficeFloor
.
-
loadExternalServicing
public void loadExternalServicing(OfficeFloor officeFloor) throws UnknownOfficeException, UnknownFunctionException
Description copied from interface:OfficeFloorNode
Loads theFunctionManager
instances to externally trigger thisOfficeFloorNode
.- Specified by:
loadExternalServicing
in interfaceOfficeFloorNode
- Parameters:
officeFloor
-OfficeFloor
for thisOfficeFloorNode
.- Throws:
UnknownOfficeException
-UnknownOfficeException
.UnknownFunctionException
-UnknownFunctionException
.
-
getInternalSuppliers
public InternalSupplier[] getInternalSuppliers()
Description copied from interface:OfficeFloorNode
Obtains theInternalSupplier
instances.- Specified by:
getInternalSuppliers
in interfaceOfficeFloorNode
- Returns:
InternalSupplier
instances.
-
-