Class OfficeNodeImpl
- java.lang.Object
-
- net.officefloor.compile.impl.structure.OfficeNodeImpl
-
- All Implemented Interfaces:
LinkOfficeNode
,ManagedFunctionVisitor
,ManagedObjectRegistry
,Node
,OfficeNode
,OfficeTeamRegistry
,OverrideProperties
,SourceIssues
,PropertyConfigurable
,OfficeArchitect
,DeployedOffice
public class OfficeNodeImpl extends java.lang.Object implements OfficeNode, ManagedFunctionVisitor
OfficeNode
implementation.- Author:
- Daniel Sagenschneider
-
-
Field Summary
-
Fields inherited from interface net.officefloor.compile.internal.structure.OfficeNode
TYPE
-
-
Constructor Summary
Constructors Constructor Description OfficeNodeImpl(java.lang.String officeName, OfficeFloorNode officeFloor, NodeContext context)
Initialise with all parameters.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAdditionalProfile(java.lang.String profile)
Adds an additional profile specific to theDeployedOffice
.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.void
addManagedFunctionAugmentor(ManagedFunctionAugmentor managedFunctionAugmentor)
Adds aManagedFunctionAugmentor
.ManagedObjectNode
addManagedObjectNode(java.lang.String managedObjectName, ManagedObjectScope managedObjectScope, ManagedObjectSourceNode managedObjectSourceNode)
Adds an initialisedManagedObjectNode
to the registry.OfficeManagedObjectPool
addManagedObjectPool(java.lang.String managedObjectPoolName, java.lang.String managedObjectPoolSourceClassName)
Adds anOfficeManagedObjectPool
.OfficeManagedObjectPool
addManagedObjectPool(java.lang.String managedObjectPoolName, ManagedObjectPoolSource managedObjectPoolSource)
Adds anOfficeManagedObjectPool
.OfficeManagedObjectSource
addManagedObjectSource(java.lang.String managedObjectSourceName, SuppliedManagedObjectSourceNode suppliedManagedObject)
Adds aOfficeManagedObjectSource
supplied from anOfficeSupplier
.OfficeAdministration
addOfficeAdministration(java.lang.String administrationName, java.lang.String administrationSourceClassName)
Adds anOfficeAdministration
.OfficeAdministration
addOfficeAdministration(java.lang.String administrationName, AdministrationSource<?,?,?> administrationSource)
Adds anOfficeAdministration
.void
addOfficeCompletionExplorer(CompletionExplorer completionExplorer)
Adds aCompletionExplorer
to be notified of completion of exploring the execution tree.OfficeEscalation
addOfficeEscalation(java.lang.String escalationTypeName)
Adds anOfficeEscalation
.void
addOfficeEscalationExplorer(EscalationExplorer escalationExplorer)
Adds anEscalationExplorer
for the execution tree from the addedOfficeEscalation
instances.OfficeGovernance
addOfficeGovernance(java.lang.String governanceName, java.lang.String governanceSourceClassName)
Adds aOfficeGovernance
.OfficeGovernance
addOfficeGovernance(java.lang.String governanceName, GovernanceSource<?,?> governanceSource)
Adds anOfficeGovernance
.OfficeInput
addOfficeInput(java.lang.String inputName, java.lang.String parameterType)
Adds aOfficeInput
.OfficeManagedObjectSource
addOfficeManagedObjectSource(java.lang.String managedObjectSourceName, java.lang.String managedObjectSourceClassName)
Adds aOfficeManagedObjectSource
.OfficeManagedObjectSource
addOfficeManagedObjectSource(java.lang.String managedObjectSourceName, ManagedObjectSource<?,?> managedObjectSource)
Adds aOfficeManagedObjectSource
.OfficeObject
addOfficeObject(java.lang.String officeManagedObjectName, java.lang.String objectType)
Adds anOfficeObject
.OfficeOutput
addOfficeOutput(java.lang.String outputName, java.lang.String argumentType)
Adds aOfficeOutput
.OfficeSection
addOfficeSection(java.lang.String sectionName, java.lang.String sectionSourceClassName, java.lang.String sectionLocation)
Adds anOfficeSection
.OfficeSection
addOfficeSection(java.lang.String sectionName, SectionSource sectionSource, java.lang.String sectionLocation)
Adds anOfficeSection
.void
addOfficeSectionTransformer(OfficeSectionTransformer transformer)
OfficeStart
addOfficeStart(java.lang.String startName)
Adds anOfficeStart
.OfficeTeam
addOfficeTeam(java.lang.String officeTeamName)
Adds anOfficeTeam
.void
addOverrideProperty(java.lang.String name, java.lang.String value)
Adds an overrideProperty
.void
addProperty(java.lang.String name, java.lang.String value)
Adds aProperty
to configure the item.OfficeSupplier
addSupplier(java.lang.String supplierName, java.lang.String supplierSourceClassName)
Adds anOfficeSupplier
.OfficeSupplier
addSupplier(java.lang.String supplierName, SupplierSource supplierSource)
Adds anOfficeSupplier
.void
autoWireObjects(AutoWirer<LinkObjectNode> autoWirer, CompileContext compileContext)
Auto-wires theOfficeObjectNode
instances that are unlinked.void
autoWireTeams(AutoWirer<LinkTeamNode> autoWirer, CompileContext compileContext)
Auto-wires theOfficeTeamNode
instances that are unlinked.OfficeBindings
buildOffice(OfficeFloorBuilder builder, CompileContext compileContext, Profiler profiler)
Builds theOffice
for thisOfficeNode
.OfficeTeamNode
createOfficeTeam(java.lang.String officeTeamName)
Creates theOfficeTeamNode
.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.java.lang.String[]
getAdditionalProfiles()
Obtains the additional profiles.AvailableType[]
getAvailableTypes(CompileContext compileContext)
Obtains theAvailableType
instances.Node[]
getChildNodes()
Obtains the childNode
instances.DeployedOfficeInput
getDeployedOfficeInput(java.lang.String sectionName, java.lang.String inputName)
Obtains theDeployedOfficeInput
for theOfficeAvailableSectionInputType
.java.lang.String
getDeployedOfficeName()
Obtains the name of thisDeployedOffice
.OfficeObject
getDeployedOfficeObject(java.lang.String officeManagedObjectName)
Obtains theOfficeObject
for theOfficeManagedObjectType
.OfficeTeam
getDeployedOfficeTeam(java.lang.String officeTeamName)
Obtains theOfficeTeam
for theOfficeTeamType
.InternalSupplier[]
getInternalSuppliers()
Obtains theInternalSupplier
instances for theOffice
.LinkOfficeNode
getLinkedOfficeNode()
Obtains theLinkOfficeNode
linked to thisLinkOfficeNode
.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.OfficeFloorNode
getOfficeFloorNode()
Obtains theOfficeFloorNode
containing thisOfficeNode
.OfficeSection
getOfficeSection(java.lang.String sectionName)
Obtains theOfficeSection
.OfficeTeamNode[]
getOfficeTeams()
Obtains theOfficeTeamNode
instances.PropertyList
getOverridePropertyList()
Obtains the overridePropertyList
.Node
getParentNode()
void
initialise(java.lang.String officeSourceClassName, OfficeSource officeSource, java.lang.String officeLocation)
Initialises theOfficeNode
.boolean
isInitialised()
Indicates if theNode
has been initialised.void
link(OfficeDependencyRequireNode dependencyRequiredNode, OfficeDependencyObjectNode dependencyObjectNode)
Links theOfficeDependencyRequireNode
to be fulfilled by theOfficeDependencyObjectNode
.void
link(OfficeFlowSourceNode flowSourceNode, OfficeFlowSinkNode flowSinkNode)
Links theOfficeFlowSourceNode
to be undertaken by theOfficeFlowSinkNode
.void
link(OfficeManagedObjectSource managedObjectSource, OfficeManagedObjectPool managedObjectPool)
Links theOfficeManagedObjectSource
to be pooled by theOfficeManagedObjectPool
.void
link(OfficeResponsibility responsibility, OfficeTeam officeTeam)
Links theOfficeResponsibility
to theOfficeTeam
.boolean
linkOfficeNode(LinkOfficeNode node)
Links the inputLinkOfficeNode
to thisLinkOfficeNode
.void
loadExternalServicing(Office office)
Loads theFunctionManager
instances to externally trigger thisOfficeNode
.OfficeType
loadOfficeType(CompileContext compileContext)
Loads theOfficeType
.boolean
runExecutionExplorers(CompileContext compileContext)
Runs theExecutionExplorer
instances.boolean
sourceOfficeTree(ManagedObjectSourceVisitor managedObjectSourceVisitor, AutoWirerVisitor autoWirerVisitor, CompileContext compileContext)
boolean
sourceOfficeWithTopLevelSections(ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext)
void
startAfter(OfficeManagedObjectSource managedObjectSource, java.lang.String managedObjectTypeName)
Flags anOfficeManagedObjectSource
to be started afterManagedObjectSource
instances providing the type.void
startAfter(OfficeManagedObjectSource startLater, OfficeManagedObjectSource startEarlier)
Flags anOfficeManagedObjectSource
to be started after anotherOfficeManagedObjectSource
.void
startBefore(OfficeManagedObjectSource managedObjectSource, java.lang.String managedObjectTypeName)
Flags anOfficeManagedObjectSource
to be started beforeManagedObjectSource
instances providing the type.void
startBefore(OfficeManagedObjectSource startEarlier, OfficeManagedObjectSource startLater)
Flags anOfficeManagedObjectSource
to be started before anotherOfficeManagedObjectSource
.void
visit(ManagedFunctionType<?,?> managedFunctionType, ManagedFunctionNode managedFunctionNode, CompileContext compileContext)
Visits theManagedFunctionNode
.-
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
-
OfficeNodeImpl
public OfficeNodeImpl(java.lang.String officeName, OfficeFloorNode officeFloor, NodeContext context)
Initialise with all parameters.- Parameters:
officeName
- Name of theDeployedOffice
.officeFloor
- ParentOfficeFloorNode
.context
-NodeContext
.
-
-
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
.
-
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(java.lang.String officeSourceClassName, OfficeSource officeSource, java.lang.String officeLocation)
Description copied from interface:OfficeNode
Initialises theOfficeNode
.- Specified by:
initialise
in interfaceOfficeNode
- Parameters:
officeSourceClassName
-OfficeSource
class name.officeSource
- Optional instantiatedOfficeSource
. May benull
.officeLocation
- Location of theOffice
.
-
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.
-
getOfficeTeams
public OfficeTeamNode[] getOfficeTeams()
Description copied from interface:OfficeTeamRegistry
Obtains theOfficeTeamNode
instances.- Specified by:
getOfficeTeams
in interfaceOfficeTeamRegistry
- Returns:
OfficeTeamNode
instances.
-
createOfficeTeam
public OfficeTeamNode createOfficeTeam(java.lang.String officeTeamName)
Description copied from interface:OfficeTeamRegistry
Creates the
OfficeTeamNode
.The name of the
OfficeTeamNode
may be adjusted to ensure uniqueness.- Specified by:
createOfficeTeam
in interfaceOfficeTeamRegistry
- Parameters:
officeTeamName
-OfficeTeam
name.- Returns:
OfficeTeamNode
.
-
visit
public void visit(ManagedFunctionType<?,?> managedFunctionType, ManagedFunctionNode managedFunctionNode, CompileContext compileContext)
Description copied from interface:ManagedFunctionVisitor
Visits theManagedFunctionNode
.- Specified by:
visit
in interfaceManagedFunctionVisitor
- Parameters:
managedFunctionType
-ManagedFunctionType
.managedFunctionNode
-ManagedFunctionNode
.compileContext
-CompileContext
.
-
getOverridePropertyList
public PropertyList getOverridePropertyList()
Description copied from interface:OverrideProperties
Obtains the overridePropertyList
.- Specified by:
getOverridePropertyList
in interfaceOverrideProperties
- Returns:
- Override
PropertyList
.
-
getAdditionalProfiles
public java.lang.String[] getAdditionalProfiles()
Description copied from interface:OfficeNode
Obtains the additional profiles.- Specified by:
getAdditionalProfiles
in interfaceOfficeNode
- Returns:
- Additional profiles.
-
getOfficeFloorNode
public OfficeFloorNode getOfficeFloorNode()
Description copied from interface:OfficeNode
Obtains theOfficeFloorNode
containing thisOfficeNode
.- Specified by:
getOfficeFloorNode
in interfaceOfficeNode
- Returns:
OfficeFloorNode
containing thisOfficeNode
.
-
addManagedObjectSource
public OfficeManagedObjectSource addManagedObjectSource(java.lang.String managedObjectSourceName, SuppliedManagedObjectSourceNode suppliedManagedObject)
Description copied from interface:OfficeNode
Adds aOfficeManagedObjectSource
supplied from anOfficeSupplier
.- Specified by:
addManagedObjectSource
in interfaceOfficeNode
- Parameters:
managedObjectSourceName
- Name of theOfficeManagedObjectSource
.suppliedManagedObject
-SuppliedManagedObjectSourceNode
to supply theOfficeManagedObjectSource
.- Returns:
OfficeManagedObjectSource
.
-
sourceOfficeWithTopLevelSections
public boolean sourceOfficeWithTopLevelSections(ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext)
Description copied from interface:OfficeNode
- Specified by:
sourceOfficeWithTopLevelSections
in interfaceOfficeNode
- Parameters:
managedObjectSourceVisitor
-ManagedObjectSourceVisitor
.compileContext
-CompileContext
.- Returns:
true
if successfully sourced. Otherwisefalse
with issue reported to theCompilerIssues
.
-
sourceOfficeTree
public boolean sourceOfficeTree(ManagedObjectSourceVisitor managedObjectSourceVisitor, AutoWirerVisitor autoWirerVisitor, CompileContext compileContext)
Description copied from interface:OfficeNode
- Specified by:
sourceOfficeTree
in interfaceOfficeNode
- Parameters:
managedObjectSourceVisitor
-ManagedObjectSourceVisitor
.compileContext
-CompileContext
.- Returns:
true
if successfully sourced. Otherwisefalse
with issue reported to theCompilerIssues
.
-
getAvailableTypes
public AvailableType[] getAvailableTypes(CompileContext compileContext)
Description copied from interface:OfficeNode
Obtains theAvailableType
instances.- Specified by:
getAvailableTypes
in interfaceOfficeNode
- Parameters:
compileContext
-CompileContext
.- Returns:
AvailableType
instances.
-
loadOfficeType
public OfficeType loadOfficeType(CompileContext compileContext)
Description copied from interface:OfficeNode
Loads theOfficeType
.- Specified by:
loadOfficeType
in interfaceOfficeNode
- Parameters:
compileContext
-CompileContext
.- Returns:
OfficeType
ornull
if issue loading with issue reported to theCompilerIssues
.
-
autoWireObjects
public void autoWireObjects(AutoWirer<LinkObjectNode> autoWirer, CompileContext compileContext)
Description copied from interface:OfficeNode
Auto-wires theOfficeObjectNode
instances that are unlinked.- Specified by:
autoWireObjects
in interfaceOfficeNode
- Parameters:
autoWirer
-AutoWirer
.compileContext
-CompileContext
.
-
autoWireTeams
public void autoWireTeams(AutoWirer<LinkTeamNode> autoWirer, CompileContext compileContext)
Description copied from interface:OfficeNode
Auto-wires theOfficeTeamNode
instances that are unlinked.- Specified by:
autoWireTeams
in interfaceOfficeNode
- Parameters:
autoWirer
-AutoWirer
.compileContext
-CompileContext
.
-
runExecutionExplorers
public boolean runExecutionExplorers(CompileContext compileContext)
Description copied from interface:OfficeNode
Runs theExecutionExplorer
instances.- Specified by:
runExecutionExplorers
in interfaceOfficeNode
- Parameters:
compileContext
-CompileContext
.- Returns:
true
if successfully explored execution.
-
buildOffice
public OfficeBindings buildOffice(OfficeFloorBuilder builder, CompileContext compileContext, Profiler profiler)
Description copied from interface:OfficeNode
Builds theOffice
for thisOfficeNode
.- Specified by:
buildOffice
in interfaceOfficeNode
- Parameters:
builder
-OfficeFloorBuilder
.compileContext
-CompileContext
.profiler
- OptionalProfiler
. May benull
.- Returns:
OfficeBuilder
for the builtOffice
.
-
loadExternalServicing
public void loadExternalServicing(Office office) throws UnknownFunctionException
Description copied from interface:OfficeNode
Loads theFunctionManager
instances to externally trigger thisOfficeNode
.- Specified by:
loadExternalServicing
in interfaceOfficeNode
- Parameters:
office
-Office
for thisOfficeNode
.- Throws:
UnknownFunctionException
-UnknownFunctionException
.
-
getInternalSuppliers
public InternalSupplier[] getInternalSuppliers()
Description copied from interface:OfficeNode
Obtains theInternalSupplier
instances for theOffice
.- Specified by:
getInternalSuppliers
in interfaceOfficeNode
- Returns:
InternalSupplier
instances for theOffice
.
-
enableAutoWireObjects
public void enableAutoWireObjects()
Description copied from interface:OfficeArchitect
Flags to attempt to auto wire any non-configured object links.- Specified by:
enableAutoWireObjects
in interfaceOfficeArchitect
-
enableAutoWireTeams
public void enableAutoWireTeams()
Description copied from interface:OfficeArchitect
Flags to attempt to auto wire any non-configuredTeam
links.- Specified by:
enableAutoWireTeams
in interfaceOfficeArchitect
-
addOfficeObject
public OfficeObject addOfficeObject(java.lang.String officeManagedObjectName, java.lang.String objectType)
Description copied from interface:OfficeArchitect
Adds anOfficeObject
.- Specified by:
addOfficeObject
in interfaceOfficeArchitect
- Parameters:
officeManagedObjectName
- Name of theOfficeObject
.objectType
- Object type.- Returns:
- Added
OfficeObject
.
-
addOfficeInput
public OfficeInput addOfficeInput(java.lang.String inputName, java.lang.String parameterType)
Description copied from interface:OfficeArchitect
Adds aOfficeInput
.- Specified by:
addOfficeInput
in interfaceOfficeArchitect
- Parameters:
inputName
- Name of theOfficeInput
.parameterType
- Fully qualified type name of the parameter to thisOfficeInput
.- Returns:
- Added
OfficeInput
.
-
addOfficeOutput
public OfficeOutput addOfficeOutput(java.lang.String outputName, java.lang.String argumentType)
Description copied from interface:OfficeArchitect
Adds aOfficeOutput
.- Specified by:
addOfficeOutput
in interfaceOfficeArchitect
- Parameters:
outputName
- Name of theOfficeOutput
.argumentType
- Fully qualified type name of the argument from thisOfficeOutput
.- Returns:
- Added
OfficeOutput
.
-
addOfficeTeam
public OfficeTeam addOfficeTeam(java.lang.String officeTeamName)
Description copied from interface:OfficeArchitect
Adds anOfficeTeam
.- Specified by:
addOfficeTeam
in interfaceOfficeArchitect
- Parameters:
officeTeamName
- Name of theOfficeTeam
.- Returns:
- Added
OfficeTeam
.
-
addOfficeSection
public OfficeSection addOfficeSection(java.lang.String sectionName, java.lang.String sectionSourceClassName, java.lang.String sectionLocation)
Description copied from interface:OfficeArchitect
Adds anOfficeSection
.- Specified by:
addOfficeSection
in interfaceOfficeArchitect
- Parameters:
sectionName
- Name of theOfficeSection
.sectionSourceClassName
- Fully qualified class name of theSectionSource
.sectionLocation
- Location of theOfficeSection
.- Returns:
- Added
OfficeSection
.
-
addOfficeSection
public OfficeSection addOfficeSection(java.lang.String sectionName, SectionSource sectionSource, java.lang.String sectionLocation)
Description copied from interface:OfficeArchitect
Adds anOfficeSection
.- Specified by:
addOfficeSection
in interfaceOfficeArchitect
- Parameters:
sectionName
- Name of theOfficeSection
.sectionSource
-SectionSource
instance to use.sectionLocation
- Location of theOfficeSection
.- Returns:
- Added
OfficeSection
.
-
getOfficeSection
public OfficeSection getOfficeSection(java.lang.String sectionName)
Description copied from interface:OfficeArchitect
Obtains theOfficeSection
.- Specified by:
getOfficeSection
in interfaceOfficeArchitect
- Parameters:
sectionName
- Name of theOfficeSection
.- Returns:
OfficeSection
.
-
addOfficeSectionTransformer
public void addOfficeSectionTransformer(OfficeSectionTransformer transformer)
Description copied from interface:OfficeArchitect
- Specified by:
addOfficeSectionTransformer
in interfaceOfficeArchitect
- Parameters:
transformer
-OfficeSectionTransformer
.
-
addManagedFunctionAugmentor
public void addManagedFunctionAugmentor(ManagedFunctionAugmentor managedFunctionAugmentor)
Description copied from interface:OfficeArchitect
Adds aManagedFunctionAugmentor
.- Specified by:
addManagedFunctionAugmentor
in interfaceOfficeArchitect
- Parameters:
managedFunctionAugmentor
-ManagedFunctionAugmentor
.
-
addOfficeManagedObjectSource
public OfficeManagedObjectSource addOfficeManagedObjectSource(java.lang.String managedObjectSourceName, java.lang.String managedObjectSourceClassName)
Description copied from interface:OfficeArchitect
Adds aOfficeManagedObjectSource
.- Specified by:
addOfficeManagedObjectSource
in interfaceOfficeArchitect
- Parameters:
managedObjectSourceName
- Name of theOfficeManagedObjectSource
.managedObjectSourceClassName
- Fully qualified class name of theManagedObjectSource
.- Returns:
- Added
OfficeManagedObjectSource
.
-
addOfficeManagedObjectSource
public OfficeManagedObjectSource addOfficeManagedObjectSource(java.lang.String managedObjectSourceName, ManagedObjectSource<?,?> managedObjectSource)
Description copied from interface:OfficeArchitect
Adds aOfficeManagedObjectSource
.- Specified by:
addOfficeManagedObjectSource
in interfaceOfficeArchitect
- Parameters:
managedObjectSourceName
- Name of theOfficeManagedObjectSource
.managedObjectSource
-ManagedObjectSource
instance to use.- Returns:
- Added
OfficeManagedObjectSource
.
-
addManagedObjectPool
public OfficeManagedObjectPool addManagedObjectPool(java.lang.String managedObjectPoolName, java.lang.String managedObjectPoolSourceClassName)
Description copied from interface:OfficeArchitect
Adds anOfficeManagedObjectPool
.- Specified by:
addManagedObjectPool
in interfaceOfficeArchitect
- Parameters:
managedObjectPoolName
- Name of theOfficeManagedObjectPool
.managedObjectPoolSourceClassName
- Fully qualified class name of theManagedObjectPoolSource
.- Returns:
- Added
OfficeManagedObjectPool
.
-
addManagedObjectPool
public OfficeManagedObjectPool addManagedObjectPool(java.lang.String managedObjectPoolName, ManagedObjectPoolSource managedObjectPoolSource)
Description copied from interface:OfficeArchitect
Adds anOfficeManagedObjectPool
.- Specified by:
addManagedObjectPool
in interfaceOfficeArchitect
- Parameters:
managedObjectPoolName
- Name of theOfficeManagedObjectPool
.managedObjectPoolSource
-ManagedObjectPoolSource
instance to use.- Returns:
OfficeManagedObjectPool
.
-
addSupplier
public OfficeSupplier addSupplier(java.lang.String supplierName, java.lang.String supplierSourceClassName)
Description copied from interface:OfficeArchitect
Adds anOfficeSupplier
.- Specified by:
addSupplier
in interfaceOfficeArchitect
- Parameters:
supplierName
- Name of theOfficeSupplier
.supplierSourceClassName
- Fully qualified class name of theSupplierSource
.- Returns:
OfficeSupplier
.
-
addSupplier
public OfficeSupplier addSupplier(java.lang.String supplierName, SupplierSource supplierSource)
Description copied from interface:OfficeArchitect
Adds anOfficeSupplier
.- Specified by:
addSupplier
in interfaceOfficeArchitect
- Parameters:
supplierName
- Name of theOfficeSupplier
.supplierSource
-SupplierSource
instance to use.- Returns:
OfficeFloorSupplier
.
-
addOfficeGovernance
public OfficeGovernance addOfficeGovernance(java.lang.String governanceName, java.lang.String governanceSourceClassName)
Description copied from interface:OfficeArchitect
Adds aOfficeGovernance
.- Specified by:
addOfficeGovernance
in interfaceOfficeArchitect
- Parameters:
governanceName
- Name of theOfficeGovernance
.governanceSourceClassName
- Fully qualified class name of theGovernanceSource
.- Returns:
- Added
OfficeGovernance
.
-
addOfficeGovernance
public OfficeGovernance addOfficeGovernance(java.lang.String governanceName, GovernanceSource<?,?> governanceSource)
Description copied from interface:OfficeArchitect
Adds anOfficeGovernance
.- Specified by:
addOfficeGovernance
in interfaceOfficeArchitect
- Parameters:
governanceName
- Name of theOfficeGovernance
.governanceSource
-GovernanceSource
instance to use.- Returns:
- Added
OfficeGovernance
.
-
addOfficeAdministration
public OfficeAdministration addOfficeAdministration(java.lang.String administrationName, java.lang.String administrationSourceClassName)
Description copied from interface:OfficeArchitect
Adds anOfficeAdministration
.- Specified by:
addOfficeAdministration
in interfaceOfficeArchitect
- Parameters:
administrationName
- Name of theOfficeAdministration
.administrationSourceClassName
- Fully qualified class name of theAdministrationSource
.- Returns:
- Added
OfficeAdministration
.
-
addOfficeAdministration
public OfficeAdministration addOfficeAdministration(java.lang.String administrationName, AdministrationSource<?,?,?> administrationSource)
Description copied from interface:OfficeArchitect
Adds anOfficeAdministration
.- Specified by:
addOfficeAdministration
in interfaceOfficeArchitect
- Parameters:
administrationName
- Name of theOfficeAdministration
.administrationSource
-AdministrationSource
instance to use.- Returns:
- Added
OfficeAdministration
.
-
addOfficeEscalation
public OfficeEscalation addOfficeEscalation(java.lang.String escalationTypeName)
Description copied from interface:OfficeArchitect
Adds anOfficeEscalation
.- Specified by:
addOfficeEscalation
in interfaceOfficeArchitect
- Parameters:
escalationTypeName
- Type ofEscalation
.- Returns:
- Added
OfficeEscalation
.
-
addOfficeEscalationExplorer
public void addOfficeEscalationExplorer(EscalationExplorer escalationExplorer)
Description copied from interface:OfficeArchitect
Adds anEscalationExplorer
for the execution tree from the addedOfficeEscalation
instances.- Specified by:
addOfficeEscalationExplorer
in interfaceOfficeArchitect
- Parameters:
escalationExplorer
-EscalationExplorer
.
-
addOfficeCompletionExplorer
public void addOfficeCompletionExplorer(CompletionExplorer completionExplorer)
Description copied from interface:OfficeArchitect
Adds aCompletionExplorer
to be notified of completion of exploring the execution tree.- Specified by:
addOfficeCompletionExplorer
in interfaceOfficeArchitect
- Parameters:
completionExplorer
-CompletionExplorer
.
-
addOfficeStart
public OfficeStart addOfficeStart(java.lang.String startName)
Description copied from interface:OfficeArchitect
Adds anOfficeStart
.- Specified by:
addOfficeStart
in interfaceOfficeArchitect
- Parameters:
startName
- Name of theOfficeStart
.- Returns:
- Added
OfficeStart
.
-
link
public void link(OfficeManagedObjectSource managedObjectSource, OfficeManagedObjectPool managedObjectPool)
Description copied from interface:OfficeArchitect
Links theOfficeManagedObjectSource
to be pooled by theOfficeManagedObjectPool
.- Specified by:
link
in interfaceOfficeArchitect
- Parameters:
managedObjectSource
-OfficeManagedObjectSource
.managedObjectPool
-OfficeManagedObjectPool
.
-
link
public void link(OfficeFlowSourceNode flowSourceNode, OfficeFlowSinkNode flowSinkNode)
Description copied from interface:OfficeArchitect
Links theOfficeFlowSourceNode
to be undertaken by theOfficeFlowSinkNode
.- Specified by:
link
in interfaceOfficeArchitect
- Parameters:
flowSourceNode
-OfficeFlowSourceNode
.flowSinkNode
-OfficeFlowSinkNode
.
-
link
public void link(OfficeDependencyRequireNode dependencyRequiredNode, OfficeDependencyObjectNode dependencyObjectNode)
Description copied from interface:OfficeArchitect
Links theOfficeDependencyRequireNode
to be fulfilled by theOfficeDependencyObjectNode
.- Specified by:
link
in interfaceOfficeArchitect
- Parameters:
dependencyRequiredNode
-OfficeDependencyRequireNode
.dependencyObjectNode
-OfficeDependencyObjectNode
.
-
link
public void link(OfficeResponsibility responsibility, OfficeTeam officeTeam)
Description copied from interface:OfficeArchitect
Links theOfficeResponsibility
to theOfficeTeam
.- Specified by:
link
in interfaceOfficeArchitect
- Parameters:
responsibility
-OfficeResponsibility
.officeTeam
-OfficeTeam
.
-
startBefore
public void startBefore(OfficeManagedObjectSource startEarlier, OfficeManagedObjectSource startLater)
Description copied from interface:OfficeArchitect
Flags anOfficeManagedObjectSource
to be started before anotherOfficeManagedObjectSource
.- Specified by:
startBefore
in interfaceOfficeArchitect
- Parameters:
startEarlier
-OfficeManagedObjectSource
to be started up before.startLater
-OfficeManagedObjectSource
to be started up afterwards.
-
startBefore
public void startBefore(OfficeManagedObjectSource managedObjectSource, java.lang.String managedObjectTypeName)
Description copied from interface:OfficeArchitect
Flags anOfficeManagedObjectSource
to be started beforeManagedObjectSource
instances providing the type.- Specified by:
startBefore
in interfaceOfficeArchitect
- Parameters:
managedObjectSource
-OfficeManagedObjectSource
to be started up before.managedObjectTypeName
- Fully qualified type name ofManagedObject
object type for theManagedObjectSource
to be started up afterwards.
-
startAfter
public void startAfter(OfficeManagedObjectSource startLater, OfficeManagedObjectSource startEarlier)
Description copied from interface:OfficeArchitect
Flags anOfficeManagedObjectSource
to be started after anotherOfficeManagedObjectSource
.- Specified by:
startAfter
in interfaceOfficeArchitect
- Parameters:
startLater
-OfficeManagedObjectSource
to be started up afterwards.startEarlier
-OfficeManagedObjectSource
to be started up before.
-
startAfter
public void startAfter(OfficeManagedObjectSource managedObjectSource, java.lang.String managedObjectTypeName)
Description copied from interface:OfficeArchitect
Flags anOfficeManagedObjectSource
to be started afterManagedObjectSource
instances providing the type.- Specified by:
startAfter
in interfaceOfficeArchitect
- Parameters:
managedObjectSource
-OfficeManagedObjectSource
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.
-
getDeployedOfficeName
public java.lang.String getDeployedOfficeName()
Description copied from interface:DeployedOffice
Obtains the name of thisDeployedOffice
.- Specified by:
getDeployedOfficeName
in interfaceDeployedOffice
- Returns:
- Name of this
DeployedOffice
.
-
addAdditionalProfile
public void addAdditionalProfile(java.lang.String profile)
Description copied from interface:DeployedOffice
Adds an additional profile specific to the
DeployedOffice
.All
Node
instances within thisDeployedOffice
will have this additional profile.- Specified by:
addAdditionalProfile
in interfaceDeployedOffice
- Parameters:
profile
- Profile specific to theDeployedOffice
.
-
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
.
-
addOverrideProperty
public void addOverrideProperty(java.lang.String name, java.lang.String value)
Description copied from interface:DeployedOffice
Adds an override
Property
.This allows overriding configuration of the
DeployedOffice
.Property
instances match on qualified name of theNode
. The remainder of the name is theProperty
name being overridden for theNode
.- Specified by:
addOverrideProperty
in interfaceDeployedOffice
- Parameters:
name
- Name ofProperty
.value
- Value forProperty
.
-
getDeployedOfficeInput
public DeployedOfficeInput getDeployedOfficeInput(java.lang.String sectionName, java.lang.String inputName)
Description copied from interface:DeployedOffice
Obtains theDeployedOfficeInput
for theOfficeAvailableSectionInputType
.- Specified by:
getDeployedOfficeInput
in interfaceDeployedOffice
- Parameters:
sectionName
- Name of theOfficeSection
providing theOfficeAvailableSectionInputType
.inputName
- Name of theOfficeAvailableSectionInputType
.- Returns:
DeployedOfficeInput
.
-
getDeployedOfficeObject
public OfficeObject getDeployedOfficeObject(java.lang.String officeManagedObjectName)
Description copied from interface:DeployedOffice
Obtains theOfficeObject
for theOfficeManagedObjectType
.- Specified by:
getDeployedOfficeObject
in interfaceDeployedOffice
- Parameters:
officeManagedObjectName
- Name of theOfficeManagedObjectType
.- Returns:
OfficeObject
.
-
getDeployedOfficeTeam
public OfficeTeam getDeployedOfficeTeam(java.lang.String officeTeamName)
Description copied from interface:DeployedOffice
Obtains theOfficeTeam
for theOfficeTeamType
.- Specified by:
getDeployedOfficeTeam
in interfaceDeployedOffice
- Parameters:
officeTeamName
- Name of theOfficeTeamType
.- Returns:
OfficeTeam
.
-
linkOfficeNode
public boolean linkOfficeNode(LinkOfficeNode node)
Description copied from interface:LinkOfficeNode
Links the inputLinkOfficeNode
to thisLinkOfficeNode
.- Specified by:
linkOfficeNode
in interfaceLinkOfficeNode
- Parameters:
node
-LinkOfficeNode
to link to thisLinkOfficeNode
.- Returns:
true
if linked.
-
getLinkedOfficeNode
public LinkOfficeNode getLinkedOfficeNode()
Description copied from interface:LinkOfficeNode
Obtains theLinkOfficeNode
linked to thisLinkOfficeNode
.- Specified by:
getLinkedOfficeNode
in interfaceLinkOfficeNode
- Returns:
LinkOfficeNode
linked to thisLinkOfficeNode
.
-
-