Class OfficeFloorCompilerImpl
- java.lang.Object
-
- net.officefloor.compile.OfficeFloorCompiler
-
- net.officefloor.compile.impl.OfficeFloorCompilerImpl
-
- All Implemented Interfaces:
Node
,NodeContext
,PropertyConfigurable
,TypeLoader
public class OfficeFloorCompilerImpl extends OfficeFloorCompiler implements NodeContext, TypeLoader
OfficeFloorCompiler
implementation.The default
OfficeFloorSource
isApplicationOfficeFloorSource
.- Author:
- Daniel Sagenschneider
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.officefloor.compile.OfficeFloorCompiler
OfficeFloorCompiler.OfficeFloorCompilerFactory
-
-
Field Summary
-
Fields inherited from class net.officefloor.compile.OfficeFloorCompiler
IMPLEMENTATION_CLASS_PROPERTY_NAME, TYPE
-
-
Constructor Summary
Constructors Constructor Description OfficeFloorCompilerImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <E,F extends java.lang.Enum<F>,G extends java.lang.Enum<G>,S extends AdministrationSource<E,F,G>>
voidaddAdministrationSourceAlias(java.lang.String alias, java.lang.Class<S> administrationSourceClass)
Allows providing an alias name for aAdministrationSource
.void
addAutoWireStateManagerVisitor(AutoWireStateManagerVisitor autoWireStateManagerVisitor)
Adds anAutoWireStateManagerVisitor
.<I,F extends java.lang.Enum<F>,S extends GovernanceSource<I,F>>
voidaddGovernanceSourceAlias(java.lang.String alias, java.lang.Class<S> governanceSourceClass)
Allows providing an alias name for aGovernanceSource
.java.lang.String[]
additionalProfiles(OfficeNode officeNode)
Obtains the additional profiles.<S extends ManagedFunctionSource>
voidaddManagedFunctionSourceAlias(java.lang.String alias, java.lang.Class<S> managedFunctionSourceClass)
Allows providing an alias name for aManagedFunctionSource
.<S extends ManagedObjectPoolSource>
voidaddManagedObjectPoolSourceAlias(java.lang.String alias, java.lang.Class<S> managedObjectPoolSourceClass)
Allows providing an alias name for aManagedObjectPoolSource
.<D extends java.lang.Enum<D>,F extends java.lang.Enum<F>,S extends ManagedObjectSource<D,F>>
voidaddManagedObjectSourceAlias(java.lang.String alias, java.lang.Class<S> managedObjectSourceClass)
Allows providing an alias name for aManagedObjectSource
.void
addOfficeFloorListener(OfficeFloorListener officeFloorListener)
Adds anOfficeFloorListener
.<S extends OfficeSource>
voidaddOfficeSourceAlias(java.lang.String alias, java.lang.Class<S> officeSourceClass)
Allows providing an alias name for anOfficeSource
.void
addProfile(java.lang.String profile)
Adds a profile.void
addProfiler(java.lang.String officeName, Profiler profiler)
void
addProperty(java.lang.String name, java.lang.String value)
Adds aProperty
to configure the item.void
addResources(ResourceSource resourceSource)
Adds aResourceSource
.<S extends SectionSource>
voidaddSectionSourceAlias(java.lang.String alias, java.lang.Class<S> sectionSourceClass)
Allows providing an alias name for aSectionSource
.<S extends SupplierSource>
voidaddSupplierSourceAlias(java.lang.String alias, java.lang.Class<S> supplierSourceClass)
Allows providing an alias name for aSupplierSource
.<S extends TeamSource>
voidaddTeamSourceAlias(java.lang.String alias, java.lang.Class<S> teamSourceClass)
Allows providing an alias name for aTeamSource
.OfficeFloor
compile(java.lang.String officeFloorName)
Compiles and builds theOfficeFloor
.boolean
configureOfficeFloorCompiler()
Runs theOfficeFloorCompilerConfigurer
instances to configure thisOfficeFloorCompiler
.AdministrationNode
createAdministrationNode(java.lang.String administrationName, OfficeNode office)
Creates aAdministrationNode
.<N extends Node>
AutoWirer<N>createAutoWirer(java.lang.Class<N> nodeType, AutoWireDirection direction)
Creates a newAutoWirer
.CompileContext
createCompileContext()
Creates theCompileContext
.EscalationNode
createEscalationNode(java.lang.String escalationType, OfficeNode officeNode)
Creates anEscalationNode
.ExecutionStrategyNode
createExecutionStrategyNode(java.lang.String executionStrategyName, ExecutiveNode executive)
Creates theExecutionStrategyNode
.ExecutiveNode
createExecutiveNode(OfficeFloorNode officeFloor)
Creates theExecutiveNode
.FunctionFlowNode
createFunctionFlowNode(java.lang.String flowName, boolean isEscalation, ManagedFunctionNode function)
Creates theFunctionFlowNode
.FunctionNamespaceNode
createFunctionNamespaceNode(java.lang.String functionNamespaceName, SectionNode section)
Creates theFunctionNamespaceNode
.ManagedFunctionNode
createFunctionNode(java.lang.String functionName, SectionNode section)
Creates theManagedFunctionNode
.FunctionObjectNode
createFunctionObjectNode(java.lang.String objectName, ManagedFunctionNode functionNode)
Creates theFunctionObjectNode
.GovernanceNode
createGovernanceNode(java.lang.String governanceName, OfficeNode office)
Creates aGovernanceNode
.InputManagedObjectNode
createInputManagedNode(java.lang.String inputManagedObjectName, java.lang.String inputObjectType, OfficeFloorNode officeFloor)
Creates anInputManagedObjectNode
.ManagedObjectDependencyNode
createManagedObjectDependencyNode(java.lang.String dependencyName, ManagedObjectNode managedObject)
Creates aManagedObjectDependencyNode
for aManagedObjectNode
.ManagedObjectDependencyNode
createManagedObjectDependencyNode(java.lang.String dependencyName, ManagedObjectSourceNode managedObjectSource)
Creates aManagedObjectDependencyNode
for aInputManagedObjectNode
.ManagedObjectExecutionStrategyNode
createManagedObjectExecutionStrategyNode(java.lang.String executionStrategyName, ManagedObjectSourceNode managedObjectSource)
Creates theManagedObjectExecutionStrategyNode
.ManagedObjectFlowNode
createManagedObjectFlowNode(java.lang.String flowName, ManagedObjectSourceNode managedObjectSource)
Creates theManagedObjectFlowNode
.ManagedObjectFunctionDependencyNode
createManagedObjectFunctionDependencyNode(java.lang.String dependencyName, ManagedObjectSourceNode managedObjectSource)
Creates aManagedObjectFunctionDependencyNode
for aManagedObjectSourceNode
.ManagedObjectNode
createManagedObjectNode(java.lang.String managedObjectName, OfficeFloorNode officeFloor)
Creates theManagedObjectNode
.ManagedObjectNode
createManagedObjectNode(java.lang.String managedObjectName, OfficeNode office)
Creates theManagedObjectNode
.ManagedObjectNode
createManagedObjectNode(java.lang.String managedObjectName, SectionNode section)
Creates theManagedObjectNode
.ManagedObjectPoolNode
createManagedObjectPoolNode(java.lang.String managedObjectPoolName, OfficeFloorNode officeFloorNode)
Creates theManagedObjectPoolNode
.ManagedObjectPoolNode
createManagedObjectPoolNode(java.lang.String managedObjectPoolName, OfficeNode officeNode)
Creates theManagedObjectPoolNode
.ManagedObjectPoolNode
createManagedObjectPoolNode(java.lang.String managedObjectPoolName, SectionNode sectionNode)
Creates theManagedObjectPoolNode
.ManagedObjectSourceNode
createManagedObjectSourceNode(java.lang.String managedObjectSourceName, OfficeFloorNode officeFloor)
Creates aManagedObjectSourceNode
.ManagedObjectSourceNode
createManagedObjectSourceNode(java.lang.String managedObjectSourceName, OfficeNode office)
Creates aManagedObjectSourceNode
.ManagedObjectSourceNode
createManagedObjectSourceNode(java.lang.String managedObjectSourceName, SectionNode section)
Creates aManagedObjectSourceNode
.ManagedObjectSourceNode
createManagedObjectSourceNode(java.lang.String managedObjectSourceName, SuppliedManagedObjectSourceNode suppliedManagedObject)
Creates aManagedObjectSourceNode
.ManagedObjectTeamNode
createManagedObjectTeamNode(java.lang.String teamName, ManagedObjectSourceNode managedObjectSource)
Creates theManagedObjectTeamNode
.ManagingOfficeNode
createManagingOfficeNode(ManagedObjectSourceNode managedObjectSource)
Creates theManagingOfficeNode
.OfficeFloorNode
createOfficeFloorNode(java.lang.String officeFloorSourceClassName, OfficeFloorSource officeFloorSource, java.lang.String officeFloorLocation)
Creates theOfficeFloorNode
.OfficeInputNode
createOfficeInputNode(java.lang.String officeInputName, OfficeNode office)
Creates theOfficeInputNode
.OfficeNode
createOfficeNode(java.lang.String officeName, OfficeFloorNode officeFloor)
Creates theOfficeNode
.OfficeObjectNode
createOfficeObjectNode(java.lang.String objectName, OfficeNode office)
Creates theOfficeObjectNode
.OfficeOutputNode
createOfficeOutputNode(java.lang.String name, OfficeNode office)
Creates theOfficeOutputNode
.OfficeStartNode
createOfficeStartNode(java.lang.String startName, OfficeNode office)
Creates theOfficeStartNode
.OfficeTeamNode
createOfficeTeamNode(java.lang.String officeTeamName, OfficeNode office)
Creates theOfficeTeamNode
.PropertyList
createPropertyList()
Creates a new emptyPropertyList
.ResponsibleTeamNode
createResponsibleTeamNode(java.lang.String teamName, ManagedFunctionNode function)
Creates theResponsibleTeamNode
.SourceContext
createRootSourceContext()
Creates a rootSourceContext
.SectionInputNode
createSectionInputNode(java.lang.String inputName, SectionNode section)
Creates theSectionInputNode
.SectionNode
createSectionNode(java.lang.String sectionName, OfficeNode office)
Creates a top levelSectionNode
within theOfficeNode
.SectionNode
createSectionNode(java.lang.String sectionName, SectionNode parentSection)
Creates aSectionNode
.SectionObjectNode
createSectionObjectNode(java.lang.String objectName, SectionNode section)
Creates theSectionObjectNode
.SectionOutputNode
createSectionOutputNode(java.lang.String outputName, SectionNode section)
Creates theSectionOutputNode
.SuppliedManagedObjectSourceNode
createSuppliedManagedObjectSourceNode(java.lang.String qualifier, java.lang.String type, SupplierNode supplier)
Creates theSuppliedManagedObjectSourceNode
.SupplierNode
createSupplierNode(java.lang.String supplierName, OfficeFloorNode officeFloor)
Creates theSupplierNode
.SupplierNode
createSupplierNode(java.lang.String supplierName, OfficeNode office)
Creates theSupplierNode
.SupplierThreadLocalNode
createSupplierThreadLocalNode(java.lang.String qualifier, java.lang.String type, SupplierNode supplier)
Creates theSupplierThreadLocalNode
.TeamNode
createTeamNode(java.lang.String teamName, OfficeFloorNode officeFloor)
Creates theTeamNode
.AdministrationLoader
getAdministrationLoader()
Obtains theAdministrationLoader
.AdministrationLoader
getAdministrationLoader(AdministrationNode node, boolean isLoadingType)
Obtains theAdministrationLoader
.<S extends AdministrationSource<?,?,?>>
java.lang.Class<S>getAdministrationSourceClass(java.lang.String administrationSourceName, AdministrationNode node)
Obtains theAdministrationSource
class.CompilerIssues
getCompilerIssues()
Obtains theCompilerIssues
.ExecutiveLoader
getExecutiveLoader()
Obtains theExecutiveLoader
.ExecutiveLoader
getExecutiveLoader(ExecutiveNode node)
Obtains theExecutiveNode
.<S extends ExecutiveSource>
java.lang.Class<S>getExecutiveSourceClass(java.lang.String executiveSourceClassName, ExecutiveNode node)
Obtains theExecutiveSource
class.GovernanceLoader
getGovernanceLoader()
Obtains theGovernanceLoader
.GovernanceLoader
getGovernanceLoader(GovernanceNode node, boolean isLoadingType)
Obtains theGovernanceLoader
.<S extends GovernanceSource<?,?>>
java.lang.Class<S>getGovernanceSourceClass(java.lang.String governanceSourceName, GovernanceNode node)
Obtains theGovernanceSource
class.ManagedFunctionLoader
getManagedFunctionLoader()
Obtains theManagedFunctionLoader
.ManagedFunctionLoader
getManagedFunctionLoader(FunctionNamespaceNode node, boolean isLoadingType)
Obtains theManagedFunctionLoader
.<S extends ManagedFunctionSource>
java.lang.Class<S>getManagedFunctionSourceClass(java.lang.String managedFunctionSourceName, FunctionNamespaceNode node)
Obtains theManagedFunctionSource
class.ManagedObjectLoader
getManagedObjectLoader()
Obtains theManagedObjectLoader
.ManagedObjectLoader
getManagedObjectLoader(ManagedObjectSourceNode node)
Obtains theManagedObjectLoader
.ManagedObjectPoolLoader
getManagedObjectPoolLoader()
Obtains theManagedObjectPoolLoader
.ManagedObjectPoolLoader
getManagedObjectPoolLoader(ManagedObjectPoolNode node, OfficeNode officeNode, boolean isLoadingType)
Obtains theManagedObjectPoolLoader
.<S extends ManagedObjectPoolSource>
java.lang.Class<S>getManagedObjectPoolSourceClass(java.lang.String managedObjectPoolSourceName, ManagedObjectPoolNode node)
Obtains theManagedObjectPoolSource
class.<S extends ManagedObjectSource<?,?>>
java.lang.Class<S>getManagedObjectSourceClass(java.lang.String managedObjectSourceName, ManagedObjectSourceNode node)
Obtains theManagedObjectSource
class.OfficeFloorLoader
getOfficeFloorLoader()
Obtains theOfficeFloorLoader
.OfficeFloorLoader
getOfficeFloorLoader(OfficeFloorNode node)
Obtains theOfficeFloorLoader
.<S extends OfficeFloorSource>
java.lang.Class<S>getOfficeFloorSourceClass(java.lang.String officeFloorSourceClassName, OfficeFloorNode node)
Obtains theOfficeFloorSource
class.OfficeFrame
getOfficeFrame()
Obtains theOfficeFrame
.OfficeLoader
getOfficeLoader()
Obtains theOfficeLoader
.OfficeLoader
getOfficeLoader(OfficeNode node)
Obtains theOfficeLoader
.<S extends OfficeSource>
java.lang.Class<S>getOfficeSourceClass(java.lang.String officeSourceName, OfficeNode node)
Obtains theOfficeSource
class.SourceContext
getRootSourceContext()
Obtains the rootSourceContext
.SectionLoader
getSectionLoader()
Obtains theSectionLoader
.SectionLoader
getSectionLoader(OfficeNode officeNode)
Obtains theSectionLoader
.SectionLoader
getSectionLoader(SectionNode sectionNode)
Obtains theSectionLoader
.<S extends SectionSource>
java.lang.Class<S>getSectionSourceClass(java.lang.String sectionSourceName, SectionNode node)
Obtains theSectionSource
class.SupplierLoader
getSupplierLoader()
Obtains theSupplierLoader
.SupplierLoader
getSupplierLoader(SupplierNode node, boolean isLoadingType)
Obtains theSupplierLoader
.<S extends SupplierSource>
java.lang.Class<S>getSupplierSourceClass(java.lang.String supplierSourceClassName, SupplierNode node)
Obtains theSupplierSource
class.TeamLoader
getTeamLoader()
Obtains theTeamLoader
.TeamLoader
getTeamLoader(TeamNode node)
Obtains theTeamLoader
.<S extends TeamSource>
java.lang.Class<S>getTeamSourceClass(java.lang.String teamSourceName, TeamNode node)
Obtains theTeamSource
class.TypeLoader
getTypeLoader()
Obtains theTypeLoader
.void
initiateOfficeFloorBuilder(OfficeFloorBuilder builder)
Initiates theOfficeFloorBuilder
with theOfficeFloorCompiler
details.FunctionNamespaceType
loadManagedFunctionType(java.lang.String managedFunctionSourceName, java.lang.String managedFunctionSourceClassName, PropertyList properties)
Loads theFunctionNamespaceType
.ManagedObjectType<?>
loadManagedObjectType(java.lang.String managedObjectSourceName, java.lang.String managedObjectSourceClassName, PropertyList properties)
Loads theManagedObjectType
.PropertyList
overrideProperties(Node node, java.lang.String qualifiedName, OverrideProperties overrideProperties, PropertyList originalProperties)
Overrides thePropertyList
.PropertyList
overrideProperties(Node node, java.lang.String qualifiedName, PropertyList originalProperties)
Overrides thePropertyList
.protected void
resetRootSourceContext()
Resets the rootSourceContext
.void
setClockFactory(ClockFactory clockFactory)
Specifies theClockFactory
.void
setCompilerIssues(CompilerIssues issues)
Overrides the defaultCompilerIssues
to use in compiling theOfficeFloor
.void
setEscalationHandler(EscalationHandler escalationHandler)
Overrides the defaultEscalationHandler
.void
setMBeanRegistrator(MBeanRegistrator mbeanRegistrator)
Specifies theMBeanRegistrator
.void
setOfficeFloorLocation(java.lang.String officeFloorLocation)
Specifies the location of theOfficeFloor
.void
setOfficeFloorSource(OfficeFloorSource officeFloorSource)
Specifies theOfficeFloorSource
instance to use for compiling theOfficeFloor
.<S extends OfficeFloorSource>
voidsetOfficeFloorSourceClass(java.lang.Class<S> officeFloorSourceClass)
Overrides the defaultOfficeFloorSource
to source theOfficeFloor
.void
setOfficeFrame(OfficeFrame officeFrame)
Overrides the defaultOfficeFrame
for building theOfficeFloor
.void
setOverridePropertiesDirectory(java.io.File propertiesDirectory)
Specifies a directory containing override properties.-
Methods inherited from class net.officefloor.compile.OfficeFloorCompiler
addEnvProperties, addSourceAliases, addSystemProperties, getChildNodes, getClassLoader, getLocation, getNodeName, getNodeType, getParentNode, getQualifiedName, isInitialised, newOfficeFloorCompiler, newPropertyList, run, setClassLoader, setFactory
-
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
-
-
-
-
Method Detail
-
setClockFactory
public void setClockFactory(ClockFactory clockFactory)
Description copied from class:OfficeFloorCompiler
Specifies the
ClockFactory
.This will be added to the
OfficeFrame
before compiling theOfficeFloor
and will be available in theSourceContext
for retrievingClock
instances.- Specified by:
setClockFactory
in classOfficeFloorCompiler
- Parameters:
clockFactory
-ClockFactory
.
-
addResources
public void addResources(ResourceSource resourceSource)
Description copied from class:OfficeFloorCompiler
Adds a
ResourceSource
.This will be added to the
OfficeFrame
before compiling theOfficeFloor
and will be available in theSourceContext
for loading the various sources.- Specified by:
addResources
in classOfficeFloorCompiler
- Parameters:
resourceSource
-ResourceSource
.
-
setEscalationHandler
public void setEscalationHandler(EscalationHandler escalationHandler)
Description copied from class:OfficeFloorCompiler
Overrides the default
EscalationHandler
.This will be specified on the
OfficeFrame
before compiling theOfficeFloor
.- Specified by:
setEscalationHandler
in classOfficeFloorCompiler
- Parameters:
escalationHandler
-EscalationHandler
.
-
setCompilerIssues
public void setCompilerIssues(CompilerIssues issues)
Description copied from class:OfficeFloorCompiler
Overrides the default
CompilerIssues
to use in compiling theOfficeFloor
.Implementations of
OfficeFloorCompiler
must provide a defaultCompilerIssues
. Typically this will be an implementation that writes issues toSystem.err
.- Specified by:
setCompilerIssues
in classOfficeFloorCompiler
- Parameters:
issues
-CompilerIssues
.
-
setOfficeFrame
public void setOfficeFrame(OfficeFrame officeFrame)
Description copied from class:OfficeFloorCompiler
Overrides the default
OfficeFrame
for building theOfficeFloor
.Should this not be called the
OfficeFloorCompiler
implementation should use theOfficeFrame.getInstance()
to build theOfficeFloor
.- Specified by:
setOfficeFrame
in classOfficeFloorCompiler
- Parameters:
officeFrame
-OfficeFrame
.
-
setOfficeFloorSourceClass
public <S extends OfficeFloorSource> void setOfficeFloorSourceClass(java.lang.Class<S> officeFloorSourceClass)
Description copied from class:OfficeFloorCompiler
Overrides the default
OfficeFloorSource
to source theOfficeFloor
.OfficeFloorCompiler
implementations must provide a defaultOfficeFloorSource
implementation. The choice ofOfficeFloorSource
implementation is left to theOfficeFloorCompiler
, however it should be clearly documented on theOfficeFloorCompiler
implementation whichOfficeFloorSource
implementation is being used.- Specified by:
setOfficeFloorSourceClass
in classOfficeFloorCompiler
- Type Parameters:
S
-OfficeFloorSource
type.- Parameters:
officeFloorSourceClass
-OfficeFloorSource
Class
.
-
setOfficeFloorSource
public void setOfficeFloorSource(OfficeFloorSource officeFloorSource)
Description copied from class:OfficeFloorCompiler
Specifies the
OfficeFloorSource
instance to use for compiling theOfficeFloor
.This will take precedence over specifying the
OfficeFloorSource
class.- Specified by:
setOfficeFloorSource
in classOfficeFloorCompiler
- Parameters:
officeFloorSource
-OfficeFloorSource
.
-
setOfficeFloorLocation
public void setOfficeFloorLocation(java.lang.String officeFloorLocation)
Description copied from class:OfficeFloorCompiler
Specifies the location of theOfficeFloor
.- Specified by:
setOfficeFloorLocation
in classOfficeFloorCompiler
- Parameters:
officeFloorLocation
- Location of theOfficeFloor
.
-
setMBeanRegistrator
public void setMBeanRegistrator(MBeanRegistrator mbeanRegistrator)
Description copied from class:OfficeFloorCompiler
Specifies theMBeanRegistrator
.- Specified by:
setMBeanRegistrator
in classOfficeFloorCompiler
- Parameters:
mbeanRegistrator
-MBeanRegistrator
.
-
addProfile
public void addProfile(java.lang.String profile)
Description copied from class:OfficeFloorCompiler
Adds a profile.- Specified by:
addProfile
in classOfficeFloorCompiler
- Parameters:
profile
- Profile.
-
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
.
-
addOfficeSourceAlias
public <S extends OfficeSource> void addOfficeSourceAlias(java.lang.String alias, java.lang.Class<S> officeSourceClass)
Description copied from class:OfficeFloorCompiler
Allows providing an alias name for an
OfficeSource
.This stops the configuration files from being littered with fully qualified class names of the
OfficeSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
OfficeSourceService
is the preferred means to provideOfficeSource
aliases.- Specified by:
addOfficeSourceAlias
in classOfficeFloorCompiler
- Type Parameters:
S
-OfficeSource
type.- Parameters:
alias
- Alias name for theOfficeSource
.officeSourceClass
-OfficeSource
Class
for the alias.
-
addSectionSourceAlias
public <S extends SectionSource> void addSectionSourceAlias(java.lang.String alias, java.lang.Class<S> sectionSourceClass)
Description copied from class:OfficeFloorCompiler
Allows providing an alias name for a
SectionSource
.This stops the configuration files from being littered with fully qualified class names of the
SectionSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
SectionSourceService
is the preferred means to provideSectionSource
aliases.- Specified by:
addSectionSourceAlias
in classOfficeFloorCompiler
- Type Parameters:
S
-SectionSource
type.- Parameters:
alias
- Alias name for theSectionSource
.sectionSourceClass
-SectionSource
Class
for the alias.
-
addManagedFunctionSourceAlias
public <S extends ManagedFunctionSource> void addManagedFunctionSourceAlias(java.lang.String alias, java.lang.Class<S> managedFunctionSourceClass)
Description copied from class:OfficeFloorCompiler
Allows providing an alias name for a
ManagedFunctionSource
.This stops the configuration files from being littered with fully qualified class names of the
ManagedFunctionSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
ManagedFunctionSourceService
is the preferred means to provideManagedFunctionSource
aliases.- Specified by:
addManagedFunctionSourceAlias
in classOfficeFloorCompiler
- Type Parameters:
S
-ManagedFunctionSource
type.- Parameters:
alias
- Alias name for theManagedFunctionSource
.managedFunctionSourceClass
-ManagedFunctionSource
Class
for the alias.
-
addManagedObjectSourceAlias
public <D extends java.lang.Enum<D>,F extends java.lang.Enum<F>,S extends ManagedObjectSource<D,F>> void addManagedObjectSourceAlias(java.lang.String alias, java.lang.Class<S> managedObjectSourceClass)
Description copied from class:OfficeFloorCompiler
Allows providing an alias name for a
ManagedObjectSource
.This stops the configuration files from being littered with fully qualified class names of the
ManagedObjectSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
ManagedObjectSourceService
is the preferred means to provideManagedObjectSource
aliases.- Specified by:
addManagedObjectSourceAlias
in classOfficeFloorCompiler
- Type Parameters:
D
- Dependency type keys.F
-Flow
type keys.S
-ManagedObjectSource
type.- Parameters:
alias
- Alias name for theManagedObjectSource
.managedObjectSourceClass
-ManagedObjectSource
Class
for the alias.
-
addManagedObjectPoolSourceAlias
public <S extends ManagedObjectPoolSource> void addManagedObjectPoolSourceAlias(java.lang.String alias, java.lang.Class<S> managedObjectPoolSourceClass)
Description copied from class:OfficeFloorCompiler
Allows providing an alias name for a
ManagedObjectPoolSource
.This stops the configuration files from being littered with fully qualified class names of the
ManagedObjectPoolSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
ManagedObjectSourceService
is the preferred means to provideManagedObjectSource
aliases.- Specified by:
addManagedObjectPoolSourceAlias
in classOfficeFloorCompiler
- Type Parameters:
S
-ManagedObjectPoolSource
type.- Parameters:
alias
- Alias name for theManagedObjectPoolSource
.managedObjectPoolSourceClass
-ManagedObjectPoolSource
Class
for the alias.
-
addSupplierSourceAlias
public <S extends SupplierSource> void addSupplierSourceAlias(java.lang.String alias, java.lang.Class<S> supplierSourceClass)
Description copied from class:OfficeFloorCompiler
Allows providing an alias name for a
SupplierSource
.This stops the configuration files from being littered with fully qualified class names of the
SupplierSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
SupplierSourceService
is the preferred means to provideSupplierSource
aliases.- Specified by:
addSupplierSourceAlias
in classOfficeFloorCompiler
- Type Parameters:
S
-SupplierSource
type.- Parameters:
alias
- Alias name for theSupplierSource
.supplierSourceClass
-SupplierSource
Class
for the alias.
-
addAdministrationSourceAlias
public <E,F extends java.lang.Enum<F>,G extends java.lang.Enum<G>,S extends AdministrationSource<E,F,G>> void addAdministrationSourceAlias(java.lang.String alias, java.lang.Class<S> administrationSourceClass)
Description copied from class:OfficeFloorCompiler
Allows providing an alias name for a
AdministrationSource
.This stops the configuration files from being littered with fully qualified class names of the
AdministrationSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
AdministrationSourceService
is the preferred means to provideAdministrationSource
aliases.- Specified by:
addAdministrationSourceAlias
in classOfficeFloorCompiler
- Type Parameters:
E
- Extension interface type.F
-Flow
keys for theAdministration
.G
-Governance
keys for theAdministration
.S
-AdministrationSource
type.- Parameters:
alias
- Alias name for theAdministrationSource
.administrationSourceClass
-AdministrationSource
Class
for the alias.
-
addGovernanceSourceAlias
public <I,F extends java.lang.Enum<F>,S extends GovernanceSource<I,F>> void addGovernanceSourceAlias(java.lang.String alias, java.lang.Class<S> governanceSourceClass)
Description copied from class:OfficeFloorCompiler
Allows providing an alias name for a
GovernanceSource
.This stops the configuration files from being littered with fully qualified class names of the
GovernanceSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
GovernanceSourceService
is the preferred means to provideGovernanceSource
aliases.- Specified by:
addGovernanceSourceAlias
in classOfficeFloorCompiler
- Type Parameters:
I
- Extension interface type.F
-Flow
type keys.S
-GovernanceSource
type.- Parameters:
alias
- Alias name for theGovernanceSource
.governanceSourceClass
-GovernanceSource
Class
for the alias.
-
addTeamSourceAlias
public <S extends TeamSource> void addTeamSourceAlias(java.lang.String alias, java.lang.Class<S> teamSourceClass)
Description copied from class:OfficeFloorCompiler
Allows providing an alias name for a
TeamSource
.This stops the configuration files from being littered with fully qualified class names of the
TeamSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
TeamSourceService
is the preferred means to provideTeamSource
aliases.- Specified by:
addTeamSourceAlias
in classOfficeFloorCompiler
- Type Parameters:
S
-TeamSource
type.- Parameters:
alias
- Alias name for theTeamSource
.teamSourceClass
-TeamSource
Class
for the alias.
-
addProfiler
public void addProfiler(java.lang.String officeName, Profiler profiler)
Description copied from class:OfficeFloorCompiler
- Specified by:
addProfiler
in classOfficeFloorCompiler
- Parameters:
officeName
- Name ofOffice
to be profiled.profiler
-Profiler
for theOffice
.
-
setOverridePropertiesDirectory
public void setOverridePropertiesDirectory(java.io.File propertiesDirectory)
Description copied from class:OfficeFloorCompiler
Specifies a directory containing override properties.
The files within the directory are properties files with the naming convention: <fully-qualified-name>.properties
- Specified by:
setOverridePropertiesDirectory
in classOfficeFloorCompiler
- Parameters:
propertiesDirectory
- Directory containing the override properties.
-
addOfficeFloorListener
public void addOfficeFloorListener(OfficeFloorListener officeFloorListener)
Description copied from class:OfficeFloorCompiler
Adds anOfficeFloorListener
.- Specified by:
addOfficeFloorListener
in classOfficeFloorCompiler
- Parameters:
officeFloorListener
-OfficeFloorListener
.
-
addAutoWireStateManagerVisitor
public void addAutoWireStateManagerVisitor(AutoWireStateManagerVisitor autoWireStateManagerVisitor)
Description copied from class:OfficeFloorCompiler
Adds anAutoWireStateManagerVisitor
.- Specified by:
addAutoWireStateManagerVisitor
in classOfficeFloorCompiler
- Parameters:
autoWireStateManagerVisitor
-AutoWireStateManagerVisitor
.
-
createPropertyList
public PropertyList createPropertyList()
Description copied from class:OfficeFloorCompiler
Creates a new emptyPropertyList
.- Specified by:
createPropertyList
in interfaceNodeContext
- Specified by:
createPropertyList
in classOfficeFloorCompiler
- Returns:
- New empty
PropertyList
.
-
createRootSourceContext
public SourceContext createRootSourceContext()
Description copied from class:OfficeFloorCompiler
Creates a rootSourceContext
.- Specified by:
createRootSourceContext
in classOfficeFloorCompiler
- Returns:
- Root
SourceContext
.
-
createAutoWirer
public <N extends Node> AutoWirer<N> createAutoWirer(java.lang.Class<N> nodeType, AutoWireDirection direction)
Description copied from interface:NodeContext
Creates a newAutoWirer
.- Specified by:
createAutoWirer
in interfaceNodeContext
- Type Parameters:
N
- Type ofNode
.- Parameters:
nodeType
-Class
type ofNode
.direction
-AutoWireDirection
.- Returns:
- New
AutoWirer
.
-
getTypeLoader
public TypeLoader getTypeLoader()
Description copied from class:OfficeFloorCompiler
Obtains theTypeLoader
.- Specified by:
getTypeLoader
in classOfficeFloorCompiler
- Returns:
TypeLoader
.
-
getOfficeFloorLoader
public OfficeFloorLoader getOfficeFloorLoader()
Description copied from class:OfficeFloorCompiler
Obtains theOfficeFloorLoader
.- Specified by:
getOfficeFloorLoader
in classOfficeFloorCompiler
- Returns:
OfficeFloorLoader
.
-
getOfficeLoader
public OfficeLoader getOfficeLoader()
Description copied from class:OfficeFloorCompiler
Obtains theOfficeLoader
.- Specified by:
getOfficeLoader
in classOfficeFloorCompiler
- Returns:
OfficeLoader
.
-
getSectionLoader
public SectionLoader getSectionLoader()
Description copied from class:OfficeFloorCompiler
Obtains theSectionLoader
.- Specified by:
getSectionLoader
in classOfficeFloorCompiler
- Returns:
SectionLoader
.
-
getManagedFunctionLoader
public ManagedFunctionLoader getManagedFunctionLoader()
Description copied from class:OfficeFloorCompiler
Obtains theManagedFunctionLoader
.- Specified by:
getManagedFunctionLoader
in classOfficeFloorCompiler
- Returns:
ManagedFunctionLoader
.
-
getManagedObjectLoader
public ManagedObjectLoader getManagedObjectLoader()
Description copied from class:OfficeFloorCompiler
Obtains theManagedObjectLoader
.- Specified by:
getManagedObjectLoader
in classOfficeFloorCompiler
- Returns:
ManagedObjectLoader
.
-
getSupplierLoader
public SupplierLoader getSupplierLoader()
Description copied from class:OfficeFloorCompiler
Obtains theSupplierLoader
.- Specified by:
getSupplierLoader
in classOfficeFloorCompiler
- Returns:
SupplierLoader
.
-
getGovernanceLoader
public GovernanceLoader getGovernanceLoader()
Description copied from class:OfficeFloorCompiler
Obtains theGovernanceLoader
.- Specified by:
getGovernanceLoader
in classOfficeFloorCompiler
- Returns:
GovernanceLoader
.
-
getManagedObjectPoolLoader
public ManagedObjectPoolLoader getManagedObjectPoolLoader()
Description copied from class:OfficeFloorCompiler
Obtains theManagedObjectPoolLoader
.- Specified by:
getManagedObjectPoolLoader
in classOfficeFloorCompiler
- Returns:
ManagedObjectPoolLoader
.
-
getAdministrationLoader
public AdministrationLoader getAdministrationLoader()
Description copied from class:OfficeFloorCompiler
Obtains theAdministrationLoader
.- Specified by:
getAdministrationLoader
in classOfficeFloorCompiler
- Returns:
AdministrationLoader
.
-
getTeamLoader
public TeamLoader getTeamLoader()
Description copied from class:OfficeFloorCompiler
Obtains theTeamLoader
.- Specified by:
getTeamLoader
in classOfficeFloorCompiler
- Returns:
TeamLoader
.
-
getExecutiveLoader
public ExecutiveLoader getExecutiveLoader()
Description copied from class:OfficeFloorCompiler
Obtains theExecutiveLoader
.- Specified by:
getExecutiveLoader
in classOfficeFloorCompiler
- Returns:
ExecutiveLoader
.
-
configureOfficeFloorCompiler
public boolean configureOfficeFloorCompiler()
Description copied from class:OfficeFloorCompiler
Runs the
OfficeFloorCompilerConfigurer
instances to configure thisOfficeFloorCompiler
.This is always run before a compile. However, may not be run for loaders. This allows running if just loading types.
- Specified by:
configureOfficeFloorCompiler
in classOfficeFloorCompiler
- Returns:
true
if configured.false
with issue reported to theCompilerIssues
.
-
compile
public OfficeFloor compile(java.lang.String officeFloorName)
Description copied from class:OfficeFloorCompiler
Compiles and builds theOfficeFloor
.- Specified by:
compile
in classOfficeFloorCompiler
- Parameters:
officeFloorName
- Name of theOfficeFloor
.- Returns:
OfficeFloor
ornull
if issues in compiling which are reported to theCompilerIssues
.
-
loadManagedFunctionType
public FunctionNamespaceType loadManagedFunctionType(java.lang.String managedFunctionSourceName, java.lang.String managedFunctionSourceClassName, PropertyList properties)
Description copied from interface:TypeLoader
Loads theFunctionNamespaceType
.- Specified by:
loadManagedFunctionType
in interfaceTypeLoader
- Parameters:
managedFunctionSourceName
- Name ofManagedFunctionSource
.managedFunctionSourceClassName
-ManagedFunctionSource
class name.properties
-PropertyList
.- Returns:
FunctionNamespaceType
.
-
loadManagedObjectType
public ManagedObjectType<?> loadManagedObjectType(java.lang.String managedObjectSourceName, java.lang.String managedObjectSourceClassName, PropertyList properties)
Description copied from interface:TypeLoader
Loads theManagedObjectType
.- Specified by:
loadManagedObjectType
in interfaceTypeLoader
- Parameters:
managedObjectSourceName
- Name of theManagedObjectSource
.managedObjectSourceClassName
-ManagedObjectSource
class name.properties
-PropertyList
.- Returns:
ManagedObjectType
.
-
getRootSourceContext
public SourceContext getRootSourceContext()
Description copied from interface:NodeContext
Obtains the rootSourceContext
.- Specified by:
getRootSourceContext
in interfaceNodeContext
- Returns:
- Root
SourceContext
.
-
resetRootSourceContext
protected void resetRootSourceContext()
Resets the rootSourceContext
.
-
createCompileContext
public CompileContext createCompileContext()
Description copied from interface:NodeContext
Creates theCompileContext
.- Specified by:
createCompileContext
in interfaceNodeContext
- Returns:
CompileContext
.
-
getCompilerIssues
public CompilerIssues getCompilerIssues()
Description copied from class:OfficeFloorCompiler
Obtains theCompilerIssues
.- Specified by:
getCompilerIssues
in interfaceNodeContext
- Specified by:
getCompilerIssues
in classOfficeFloorCompiler
- Returns:
CompilerIssues
.
-
getOfficeFrame
public OfficeFrame getOfficeFrame()
Description copied from interface:NodeContext
Obtains theOfficeFrame
.- Specified by:
getOfficeFrame
in interfaceNodeContext
- Returns:
OfficeFrame
.
-
initiateOfficeFloorBuilder
public void initiateOfficeFloorBuilder(OfficeFloorBuilder builder)
Description copied from interface:NodeContext
Initiates theOfficeFloorBuilder
with theOfficeFloorCompiler
details.- Specified by:
initiateOfficeFloorBuilder
in interfaceNodeContext
- Parameters:
builder
-OfficeFloorBuilder
.
-
additionalProfiles
public java.lang.String[] additionalProfiles(OfficeNode officeNode)
Description copied from interface:NodeContext
Obtains the additional profiles.- Specified by:
additionalProfiles
in interfaceNodeContext
- Parameters:
officeNode
-OfficeNode
providing additional profiles. May benull
.- Returns:
- Additional profiles.
-
overrideProperties
public PropertyList overrideProperties(Node node, java.lang.String qualifiedName, PropertyList originalProperties)
Description copied from interface:NodeContext
Overrides thePropertyList
.- Specified by:
overrideProperties
in interfaceNodeContext
- Parameters:
node
-Node
requiring the overriddenPropertyList
.qualifiedName
- Qualified name.originalProperties
- OriginalPropertyList
.- Returns:
- Overridden
PropertyList
.
-
overrideProperties
public PropertyList overrideProperties(Node node, java.lang.String qualifiedName, OverrideProperties overrideProperties, PropertyList originalProperties)
Description copied from interface:NodeContext
Overrides thePropertyList
.- Specified by:
overrideProperties
in interfaceNodeContext
- Parameters:
node
-Node
requiring the overriddenPropertyList
.qualifiedName
- Qualified name.overrideProperties
-OverrideProperties
. May benull
.originalProperties
- OriginalPropertyList
.- Returns:
- Overridden
PropertyList
.
-
getOfficeFloorSourceClass
public <S extends OfficeFloorSource> java.lang.Class<S> getOfficeFloorSourceClass(java.lang.String officeFloorSourceClassName, OfficeFloorNode node)
Description copied from interface:NodeContext
Obtains theOfficeFloorSource
class.- Specified by:
getOfficeFloorSourceClass
in interfaceNodeContext
- Type Parameters:
S
-OfficeFloorSource
type.- Parameters:
officeFloorSourceClassName
-Class
name of theOfficeFloorSource
.node
-Node
requiring theOfficeFloorSource
class.- Returns:
OfficeFloorSource
class, ornull
with issues reported to theCompilerIssues
of thisNodeContext
.
-
getOfficeFloorLoader
public OfficeFloorLoader getOfficeFloorLoader(OfficeFloorNode node)
Description copied from interface:NodeContext
Obtains theOfficeFloorLoader
.- Specified by:
getOfficeFloorLoader
in interfaceNodeContext
- Parameters:
node
-Node
requiring theOfficeFloorLoader
.- Returns:
OfficeFloorLoader
.
-
createOfficeFloorNode
public OfficeFloorNode createOfficeFloorNode(java.lang.String officeFloorSourceClassName, OfficeFloorSource officeFloorSource, java.lang.String officeFloorLocation)
Description copied from interface:NodeContext
Creates theOfficeFloorNode
.- Specified by:
createOfficeFloorNode
in interfaceNodeContext
- Parameters:
officeFloorSourceClassName
-Class
name of theOfficeFloorSource
.officeFloorSource
- Optional instantiatedOfficeFloorSource
. May benull
.officeFloorLocation
- Location of theOfficeFloor
.- Returns:
OfficeFloorNode
.
-
getOfficeSourceClass
public <S extends OfficeSource> java.lang.Class<S> getOfficeSourceClass(java.lang.String officeSourceName, OfficeNode node)
Description copied from interface:NodeContext
Obtains theOfficeSource
class.- Specified by:
getOfficeSourceClass
in interfaceNodeContext
- Type Parameters:
S
-OfficeSource
type.- Parameters:
officeSourceName
-OfficeSource
class name or an alias to anOfficeSource
class.node
-Node
requiring theOfficeSource
class.- Returns:
OfficeSource
class, ornull
with issues reported to theCompilerIssues
of thisNodeContext
.
-
getOfficeLoader
public OfficeLoader getOfficeLoader(OfficeNode node)
Description copied from interface:NodeContext
Obtains theOfficeLoader
.- Specified by:
getOfficeLoader
in interfaceNodeContext
- Parameters:
node
-Node
requiring theOfficeLoader
.- Returns:
OfficeLoader
.
-
createOfficeNode
public OfficeNode createOfficeNode(java.lang.String officeName, OfficeFloorNode officeFloor)
Description copied from interface:NodeContext
Creates theOfficeNode
.- Specified by:
createOfficeNode
in interfaceNodeContext
- Parameters:
officeName
- Name of theOfficeNode
.officeFloor
- ParentOfficeFloorNode
.- Returns:
OfficeNode
.
-
createOfficeInputNode
public OfficeInputNode createOfficeInputNode(java.lang.String officeInputName, OfficeNode office)
Description copied from interface:NodeContext
Creates theOfficeInputNode
.- Specified by:
createOfficeInputNode
in interfaceNodeContext
- Parameters:
officeInputName
- Name of theOfficeInputNode
.office
- ParentOfficeNode
.- Returns:
OfficeInputNode
.
-
createOfficeObjectNode
public OfficeObjectNode createOfficeObjectNode(java.lang.String objectName, OfficeNode office)
Description copied from interface:NodeContext
Creates theOfficeObjectNode
.- Specified by:
createOfficeObjectNode
in interfaceNodeContext
- Parameters:
objectName
- Name of theOfficeObjectNode
.office
- ParentOfficeNode
.- Returns:
OfficeObjectNode
.
-
createOfficeOutputNode
public OfficeOutputNode createOfficeOutputNode(java.lang.String name, OfficeNode office)
Description copied from interface:NodeContext
Creates theOfficeOutputNode
.- Specified by:
createOfficeOutputNode
in interfaceNodeContext
- Parameters:
name
- Name of theOfficeOutputNode
.office
- ParentOfficeNode
.- Returns:
OfficeOutputNode
.
-
createOfficeStartNode
public OfficeStartNode createOfficeStartNode(java.lang.String startName, OfficeNode office)
Description copied from interface:NodeContext
Creates theOfficeStartNode
.- Specified by:
createOfficeStartNode
in interfaceNodeContext
- Parameters:
startName
- Name of theOfficeStartNode
.office
- ParentOfficeNode
.- Returns:
OfficeStartNode
.
-
createOfficeTeamNode
public OfficeTeamNode createOfficeTeamNode(java.lang.String officeTeamName, OfficeNode office)
Description copied from interface:NodeContext
Creates theOfficeTeamNode
.- Specified by:
createOfficeTeamNode
in interfaceNodeContext
- Parameters:
officeTeamName
- Name of theOfficeTeamNode
.office
- ParentOfficeNode
.- Returns:
OfficeTeamNode
.
-
createEscalationNode
public EscalationNode createEscalationNode(java.lang.String escalationType, OfficeNode officeNode)
Description copied from interface:NodeContext
Creates anEscalationNode
.- Specified by:
createEscalationNode
in interfaceNodeContext
- Parameters:
escalationType
-Escalation
type.officeNode
-OfficeNode
containing thisEscalation
.- Returns:
EscalationNode
.
-
getSectionSourceClass
public <S extends SectionSource> java.lang.Class<S> getSectionSourceClass(java.lang.String sectionSourceName, SectionNode node)
Description copied from interface:NodeContext
Obtains theSectionSource
class.- Specified by:
getSectionSourceClass
in interfaceNodeContext
- Type Parameters:
S
-SectionSource
type.- Parameters:
sectionSourceName
-SectionSource
class name or an alias to anSectionSource
class.node
-Node
requiring theSectionSource
class.- Returns:
SectionSource
class, ornull
with issues reported to theCompilerIssues
of thisNodeContext
.
-
getSectionLoader
public SectionLoader getSectionLoader(SectionNode sectionNode)
Description copied from interface:NodeContext
Obtains theSectionLoader
.- Specified by:
getSectionLoader
in interfaceNodeContext
- Parameters:
sectionNode
-SectionNode
requiring theSectionLoader
.- Returns:
SectionLoader
.
-
getSectionLoader
public SectionLoader getSectionLoader(OfficeNode officeNode)
Description copied from interface:NodeContext
Obtains theSectionLoader
.- Specified by:
getSectionLoader
in interfaceNodeContext
- Parameters:
officeNode
-OfficeNode
requiring theSectionLoader
.- Returns:
SectionLoader
.
-
createSectionInputNode
public SectionInputNode createSectionInputNode(java.lang.String inputName, SectionNode section)
Description copied from interface:NodeContext
Creates theSectionInputNode
.- Specified by:
createSectionInputNode
in interfaceNodeContext
- Parameters:
inputName
- Name of theSectionInputNode
.section
- ParentSectionNode
.- Returns:
SectionInputNode
.
-
createSectionObjectNode
public SectionObjectNode createSectionObjectNode(java.lang.String objectName, SectionNode section)
Description copied from interface:NodeContext
Creates theSectionObjectNode
.- Specified by:
createSectionObjectNode
in interfaceNodeContext
- Parameters:
objectName
- Name of theSectionObjectNode
.section
- ParentSectionNode
.- Returns:
SectionObjectNode
.
-
createSectionOutputNode
public SectionOutputNode createSectionOutputNode(java.lang.String outputName, SectionNode section)
Description copied from interface:NodeContext
Creates theSectionOutputNode
.- Specified by:
createSectionOutputNode
in interfaceNodeContext
- Parameters:
outputName
- Name of theSectionOutputNode
.section
- ParentSectionNode
.- Returns:
SectionOutputNode
.
-
createSectionNode
public SectionNode createSectionNode(java.lang.String sectionName, SectionNode parentSection)
Description copied from interface:NodeContext
Creates aSectionNode
.- Specified by:
createSectionNode
in interfaceNodeContext
- Parameters:
sectionName
- Name of theOfficeSection
.parentSection
- ParentSectionNode
containing thisOfficeSection
.- Returns:
SectionNode
.
-
createSectionNode
public SectionNode createSectionNode(java.lang.String sectionName, OfficeNode office)
Description copied from interface:NodeContext
Creates a top levelSectionNode
within theOfficeNode
.- Specified by:
createSectionNode
in interfaceNodeContext
- Parameters:
sectionName
- Name of theOfficeSection
.office
-OfficeNode
containing thisOfficeSection
.- Returns:
SectionNode
.
-
getManagedFunctionSourceClass
public <S extends ManagedFunctionSource> java.lang.Class<S> getManagedFunctionSourceClass(java.lang.String managedFunctionSourceName, FunctionNamespaceNode node)
Description copied from interface:NodeContext
Obtains theManagedFunctionSource
class.- Specified by:
getManagedFunctionSourceClass
in interfaceNodeContext
- Type Parameters:
S
-ManagedFunctionSource
type.- Parameters:
managedFunctionSourceName
-ManagedFunctionSource
class name or an alias to aManagedFunctionSource
class.node
-Node
requiring theManagedFunctionSource
class.- Returns:
ManagedFunctionSource
class, ornull
with issues reported to theCompilerIssues
of thisNodeContext
.
-
getManagedFunctionLoader
public ManagedFunctionLoader getManagedFunctionLoader(FunctionNamespaceNode node, boolean isLoadingType)
Description copied from interface:NodeContext
Obtains theManagedFunctionLoader
.- Specified by:
getManagedFunctionLoader
in interfaceNodeContext
- Parameters:
node
-Node
requiring theManagedFunctionLoader
.isLoadingType
- Indicates using to load type.- Returns:
ManagedFunctionLoader
.
-
getManagedObjectSourceClass
public <S extends ManagedObjectSource<?,?>> java.lang.Class<S> getManagedObjectSourceClass(java.lang.String managedObjectSourceName, ManagedObjectSourceNode node)
Description copied from interface:NodeContext
Obtains theManagedObjectSource
class.- Specified by:
getManagedObjectSourceClass
in interfaceNodeContext
- Type Parameters:
S
-ManagedObjectSource
type.- Parameters:
managedObjectSourceName
-ManagedObjectSource
class name or an alias to aManagedObjectSource
class.node
-Node
for reporting issues.- Returns:
ManagedObjectSource
class, ornull
with issues reported to theCompilerIssues
of thisNodeContext
.
-
getManagedObjectLoader
public ManagedObjectLoader getManagedObjectLoader(ManagedObjectSourceNode node)
Description copied from interface:NodeContext
Obtains theManagedObjectLoader
.- Specified by:
getManagedObjectLoader
in interfaceNodeContext
- Parameters:
node
-Node
requiring theManagedObjectLoader
.- Returns:
ManagedObjectLoader
.
-
createInputManagedNode
public InputManagedObjectNode createInputManagedNode(java.lang.String inputManagedObjectName, java.lang.String inputObjectType, OfficeFloorNode officeFloor)
Description copied from interface:NodeContext
Creates anInputManagedObjectNode
.- Specified by:
createInputManagedNode
in interfaceNodeContext
- Parameters:
inputManagedObjectName
- Name of theInputManagedObjectNode
.inputObjectType
- Input object type.officeFloor
- ParentOfficeFloorNode
.- Returns:
InputManagedObjectNode
.
-
createManagedObjectDependencyNode
public ManagedObjectDependencyNode createManagedObjectDependencyNode(java.lang.String dependencyName, ManagedObjectNode managedObject)
Description copied from interface:NodeContext
Creates aManagedObjectDependencyNode
for aManagedObjectNode
.- Specified by:
createManagedObjectDependencyNode
in interfaceNodeContext
- Parameters:
dependencyName
- Name of theManagedObjectDependencyNode
.managedObject
- ParentManagedObjectNode
.- Returns:
ManagedObjectDependencyNode
.
-
createManagedObjectDependencyNode
public ManagedObjectDependencyNode createManagedObjectDependencyNode(java.lang.String dependencyName, ManagedObjectSourceNode managedObjectSource)
Description copied from interface:NodeContext
Creates aManagedObjectDependencyNode
for aInputManagedObjectNode
.- Specified by:
createManagedObjectDependencyNode
in interfaceNodeContext
- Parameters:
dependencyName
- Name of theManagedObjectDependencyNode
.managedObjectSource
- ParentManagedObjectSourceNode
.- Returns:
ManagedObjectDependencyNode
.
-
createManagedObjectFunctionDependencyNode
public ManagedObjectFunctionDependencyNode createManagedObjectFunctionDependencyNode(java.lang.String dependencyName, ManagedObjectSourceNode managedObjectSource)
Description copied from interface:NodeContext
Creates aManagedObjectFunctionDependencyNode
for aManagedObjectSourceNode
.- Specified by:
createManagedObjectFunctionDependencyNode
in interfaceNodeContext
- Parameters:
dependencyName
- Name of theManagedObjectFunctionDependencyNode
.managedObjectSource
- ParentManagedObjectSourceNode
.- Returns:
ManagedObjectFunctionDependencyNode
.
-
createManagedObjectFlowNode
public ManagedObjectFlowNode createManagedObjectFlowNode(java.lang.String flowName, ManagedObjectSourceNode managedObjectSource)
Description copied from interface:NodeContext
Creates theManagedObjectFlowNode
.- Specified by:
createManagedObjectFlowNode
in interfaceNodeContext
- Parameters:
flowName
- Name of theManagedObjectFlowNode
.managedObjectSource
- ParentManagedObjectSourceNode
.- Returns:
ManagedObjectFlowNode
.
-
createManagedObjectTeamNode
public ManagedObjectTeamNode createManagedObjectTeamNode(java.lang.String teamName, ManagedObjectSourceNode managedObjectSource)
Description copied from interface:NodeContext
Creates theManagedObjectTeamNode
.- Specified by:
createManagedObjectTeamNode
in interfaceNodeContext
- Parameters:
teamName
- Name of theManagedObjectTeamNode
.managedObjectSource
- ParentManagedObjectSourceNode
.- Returns:
ManagedObjectTeamNode
.
-
createManagedObjectExecutionStrategyNode
public ManagedObjectExecutionStrategyNode createManagedObjectExecutionStrategyNode(java.lang.String executionStrategyName, ManagedObjectSourceNode managedObjectSource)
Description copied from interface:NodeContext
Creates theManagedObjectExecutionStrategyNode
.- Specified by:
createManagedObjectExecutionStrategyNode
in interfaceNodeContext
- Parameters:
executionStrategyName
- Name of theManagedObjectExecutionStrategyNode
.managedObjectSource
- ParentManagedObjectSourceNode
.- Returns:
ManagedObjectExecutionStrategyNode
.
-
createManagingOfficeNode
public ManagingOfficeNode createManagingOfficeNode(ManagedObjectSourceNode managedObjectSource)
Description copied from interface:NodeContext
Creates theManagingOfficeNode
.- Specified by:
createManagingOfficeNode
in interfaceNodeContext
- Parameters:
managedObjectSource
- ParentManagedObjectSourceNode
.- Returns:
ManagingOfficeNode
.
-
createManagedObjectNode
public ManagedObjectNode createManagedObjectNode(java.lang.String managedObjectName, SectionNode section)
Description copied from interface:NodeContext
Creates theManagedObjectNode
.- Specified by:
createManagedObjectNode
in interfaceNodeContext
- Parameters:
managedObjectName
- Name of theManagedObjectNode
.section
- ParentSectionNode
.- Returns:
ManagedObjectNode
.
-
createManagedObjectNode
public ManagedObjectNode createManagedObjectNode(java.lang.String managedObjectName, OfficeNode office)
Description copied from interface:NodeContext
Creates theManagedObjectNode
.- Specified by:
createManagedObjectNode
in interfaceNodeContext
- Parameters:
managedObjectName
- Name of theManagedObjectNode
.office
- ParentOfficeNode
.- Returns:
ManagedObjectNode
.
-
createManagedObjectNode
public ManagedObjectNode createManagedObjectNode(java.lang.String managedObjectName, OfficeFloorNode officeFloor)
Description copied from interface:NodeContext
Creates theManagedObjectNode
.- Specified by:
createManagedObjectNode
in interfaceNodeContext
- Parameters:
managedObjectName
- Name of theManagedObjectNode
.officeFloor
- ParentOfficeFloorNode
.- Returns:
ManagedObjectNode
.
-
createManagedObjectSourceNode
public ManagedObjectSourceNode createManagedObjectSourceNode(java.lang.String managedObjectSourceName, SectionNode section)
Description copied from interface:NodeContext
Creates aManagedObjectSourceNode
.- Specified by:
createManagedObjectSourceNode
in interfaceNodeContext
- Parameters:
managedObjectSourceName
- Name of theManagedObjectSourceNode
.section
- ParentSectionNode
.- Returns:
ManagedObjectSourceNode
.
-
createManagedObjectSourceNode
public ManagedObjectSourceNode createManagedObjectSourceNode(java.lang.String managedObjectSourceName, OfficeNode office)
Description copied from interface:NodeContext
Creates aManagedObjectSourceNode
.- Specified by:
createManagedObjectSourceNode
in interfaceNodeContext
- Parameters:
managedObjectSourceName
- Name of theManagedObjectSourceNode
.office
- ParentOfficeNode
.- Returns:
ManagedObjectSourceNode
.
-
createManagedObjectSourceNode
public ManagedObjectSourceNode createManagedObjectSourceNode(java.lang.String managedObjectSourceName, SuppliedManagedObjectSourceNode suppliedManagedObject)
Description copied from interface:NodeContext
Creates aManagedObjectSourceNode
.- Specified by:
createManagedObjectSourceNode
in interfaceNodeContext
- Parameters:
managedObjectSourceName
- Name of theManagedObjectSourceNode
.suppliedManagedObject
- ParentSuppliedManagedObjectSourceNode
.- Returns:
ManagedObjectSourceNode
.
-
createManagedObjectSourceNode
public ManagedObjectSourceNode createManagedObjectSourceNode(java.lang.String managedObjectSourceName, OfficeFloorNode officeFloor)
Description copied from interface:NodeContext
Creates aManagedObjectSourceNode
.- Specified by:
createManagedObjectSourceNode
in interfaceNodeContext
- Parameters:
managedObjectSourceName
- Name of theManagedObjectSourceNode
.officeFloor
- ParentOfficeFloorNode
.- Returns:
ManagedObjectSourceNode
.
-
getManagedObjectPoolSourceClass
public <S extends ManagedObjectPoolSource> java.lang.Class<S> getManagedObjectPoolSourceClass(java.lang.String managedObjectPoolSourceName, ManagedObjectPoolNode node)
Description copied from interface:NodeContext
Obtains theManagedObjectPoolSource
class.- Specified by:
getManagedObjectPoolSourceClass
in interfaceNodeContext
- Type Parameters:
S
-ManagedObjectPoolSource
type.- Parameters:
managedObjectPoolSourceName
-ManagedObjectPoolSource
class name or an alias to aManagedObjectPoolSource
class.node
-Node
for reporting issues.- Returns:
ManagedObjectPoolSource
class, ornull
with issues reported to theCompilerIssues
of thisNodeContext
.
-
getManagedObjectPoolLoader
public ManagedObjectPoolLoader getManagedObjectPoolLoader(ManagedObjectPoolNode node, OfficeNode officeNode, boolean isLoadingType)
Description copied from interface:NodeContext
Obtains theManagedObjectPoolLoader
.- Specified by:
getManagedObjectPoolLoader
in interfaceNodeContext
- Parameters:
node
-Node
requiring theManagedObjectPoolLoader
.officeNode
-OfficeNode
containing theManagedObjectPool
. May benull
if not contained within anOfficeNode
.isLoadingType
- Indicates whether using to load type.- Returns:
ManagedObjectPoolLoader
.
-
createManagedObjectPoolNode
public ManagedObjectPoolNode createManagedObjectPoolNode(java.lang.String managedObjectPoolName, OfficeFloorNode officeFloorNode)
Description copied from interface:NodeContext
Creates theManagedObjectPoolNode
.- Specified by:
createManagedObjectPoolNode
in interfaceNodeContext
- Parameters:
managedObjectPoolName
- Name of theManagedObjectPoolNode
.officeFloorNode
- ParentOfficeFloorNode
.- Returns:
ManagedObjectPoolNode
.
-
createManagedObjectPoolNode
public ManagedObjectPoolNode createManagedObjectPoolNode(java.lang.String managedObjectPoolName, OfficeNode officeNode)
Description copied from interface:NodeContext
Creates theManagedObjectPoolNode
.- Specified by:
createManagedObjectPoolNode
in interfaceNodeContext
- Parameters:
managedObjectPoolName
- Name of theManagedObjectPoolNode
.officeNode
- ParentOfficeNode
.- Returns:
ManagedObjectPoolNode
.
-
createManagedObjectPoolNode
public ManagedObjectPoolNode createManagedObjectPoolNode(java.lang.String managedObjectPoolName, SectionNode sectionNode)
Description copied from interface:NodeContext
Creates theManagedObjectPoolNode
.- Specified by:
createManagedObjectPoolNode
in interfaceNodeContext
- Parameters:
managedObjectPoolName
- Name of theManagedObjectPoolNode
.sectionNode
- ParentSectionNode
.- Returns:
ManagedObjectPoolNode
.
-
getSupplierSourceClass
public <S extends SupplierSource> java.lang.Class<S> getSupplierSourceClass(java.lang.String supplierSourceClassName, SupplierNode node)
Description copied from interface:NodeContext
Obtains theSupplierSource
class.- Specified by:
getSupplierSourceClass
in interfaceNodeContext
- Type Parameters:
S
-SupplierSource
type.- Parameters:
supplierSourceClassName
-SupplierSource
class name or an alias to aSupplierSource
class.node
-Node
requiring theSupplierSource
class.- Returns:
SupplierSource
class, ornull
with issues reported to theCompilerIssues
of thisNodeContext
.
-
getSupplierLoader
public SupplierLoader getSupplierLoader(SupplierNode node, boolean isLoadingType)
Description copied from interface:NodeContext
Obtains theSupplierLoader
.- Specified by:
getSupplierLoader
in interfaceNodeContext
- Parameters:
node
-Node
requiring theSupplierLoader
.isLoadingType
- Indicates if using to load type.- Returns:
SupplierLoader
.
-
createSupplierThreadLocalNode
public SupplierThreadLocalNode createSupplierThreadLocalNode(java.lang.String qualifier, java.lang.String type, SupplierNode supplier)
Description copied from interface:NodeContext
Creates theSupplierThreadLocalNode
.- Specified by:
createSupplierThreadLocalNode
in interfaceNodeContext
- Parameters:
qualifier
- Qualifier. May benull
if no qualifier.type
- Type.supplier
- ParentSupplierNode
.- Returns:
SupplierThreadLocalNode
.
-
createSuppliedManagedObjectSourceNode
public SuppliedManagedObjectSourceNode createSuppliedManagedObjectSourceNode(java.lang.String qualifier, java.lang.String type, SupplierNode supplier)
Description copied from interface:NodeContext
Creates theSuppliedManagedObjectSourceNode
.- Specified by:
createSuppliedManagedObjectSourceNode
in interfaceNodeContext
- Parameters:
qualifier
- Qualifier. May benull
if no qualifier.type
- Type.supplier
- ParentSupplierNode
.- Returns:
SuppliedManagedObjectSourceNode
.
-
createSupplierNode
public SupplierNode createSupplierNode(java.lang.String supplierName, OfficeFloorNode officeFloor)
Description copied from interface:NodeContext
Creates theSupplierNode
.- Specified by:
createSupplierNode
in interfaceNodeContext
- Parameters:
supplierName
- Name of theSupplierNode
.officeFloor
- ParentOfficeFloorNode
.- Returns:
SupplierNode
.
-
createSupplierNode
public SupplierNode createSupplierNode(java.lang.String supplierName, OfficeNode office)
Description copied from interface:NodeContext
Creates theSupplierNode
.- Specified by:
createSupplierNode
in interfaceNodeContext
- Parameters:
supplierName
- Name of theSupplierNode
.office
- ParentOffice
.- Returns:
SupplierNode
.
-
getAdministrationSourceClass
public <S extends AdministrationSource<?,?,?>> java.lang.Class<S> getAdministrationSourceClass(java.lang.String administrationSourceName, AdministrationNode node)
Description copied from interface:NodeContext
Obtains theAdministrationSource
class.- Specified by:
getAdministrationSourceClass
in interfaceNodeContext
- Type Parameters:
S
-AdministrationSource
type.- Parameters:
administrationSourceName
-AdministrationSource
class name or an alias to anAdministrationSource
class.node
-Node
requiring theAdministrationSource
class.- Returns:
AdministrationSource
class, ornull
with issues reported to theCompilerIssues
of thisNodeContext
.
-
getAdministrationLoader
public AdministrationLoader getAdministrationLoader(AdministrationNode node, boolean isLoadingType)
Description copied from interface:NodeContext
Obtains theAdministrationLoader
.- Specified by:
getAdministrationLoader
in interfaceNodeContext
- Parameters:
node
-Node
requiring theAdministrationLoader
.isLoadingType
- Indicates if using to load type.- Returns:
AdministrationLoader
.
-
createAdministrationNode
public AdministrationNode createAdministrationNode(java.lang.String administrationName, OfficeNode office)
Description copied from interface:NodeContext
Creates aAdministrationNode
.- Specified by:
createAdministrationNode
in interfaceNodeContext
- Parameters:
administrationName
- Name of theAdministration
.office
-OfficeNode
containing thisAdministration
.- Returns:
AdministrationNode
.
-
getGovernanceSourceClass
public <S extends GovernanceSource<?,?>> java.lang.Class<S> getGovernanceSourceClass(java.lang.String governanceSourceName, GovernanceNode node)
Description copied from interface:NodeContext
Obtains theGovernanceSource
class.- Specified by:
getGovernanceSourceClass
in interfaceNodeContext
- Type Parameters:
S
-GovernanceSource
type.- Parameters:
governanceSourceName
-GovernanceSource
class name or an alias to anGovernanceSource
class.node
-Node
requiring theGovernanceSource
class.- Returns:
GovernanceSource
class, ornull
with issues reported to theCompilerIssues
of thisNodeContext
.
-
getGovernanceLoader
public GovernanceLoader getGovernanceLoader(GovernanceNode node, boolean isLoadingType)
Description copied from interface:NodeContext
Obtains theGovernanceLoader
.- Specified by:
getGovernanceLoader
in interfaceNodeContext
- Parameters:
node
-Node
requiring theGovernanceLoader
.isLoadingType
- Indicates using for loading type.- Returns:
GovernanceLoader
.
-
createGovernanceNode
public GovernanceNode createGovernanceNode(java.lang.String governanceName, OfficeNode office)
Description copied from interface:NodeContext
Creates aGovernanceNode
.- Specified by:
createGovernanceNode
in interfaceNodeContext
- Parameters:
governanceName
- Name of theGovernance
.office
-OfficeNode
containing thisGovernance
.- Returns:
GovernanceNode
.
-
getTeamSourceClass
public <S extends TeamSource> java.lang.Class<S> getTeamSourceClass(java.lang.String teamSourceName, TeamNode node)
Description copied from interface:NodeContext
Obtains theTeamSource
class.- Specified by:
getTeamSourceClass
in interfaceNodeContext
- Type Parameters:
S
-TeamSource
type.- Parameters:
teamSourceName
-TeamSource
class name or an alias to aTeamSource
class.node
-Node
requiring theTeamSource
class.- Returns:
TeamSource
class, ornull
with issues reported to theCompilerIssues
of thisNodeContext
.
-
getTeamLoader
public TeamLoader getTeamLoader(TeamNode node)
Description copied from interface:NodeContext
Obtains theTeamLoader
.- Specified by:
getTeamLoader
in interfaceNodeContext
- Parameters:
node
-Node
requiring theTeamLoader
.- Returns:
TeamLoader
.
-
createTeamNode
public TeamNode createTeamNode(java.lang.String teamName, OfficeFloorNode officeFloor)
Description copied from interface:NodeContext
Creates theTeamNode
.- Specified by:
createTeamNode
in interfaceNodeContext
- Parameters:
teamName
- Name of theTeamNode
.officeFloor
- ParentOfficeFloorNode
.- Returns:
TeamNode
.
-
getExecutiveSourceClass
public <S extends ExecutiveSource> java.lang.Class<S> getExecutiveSourceClass(java.lang.String executiveSourceClassName, ExecutiveNode node)
Description copied from interface:NodeContext
Obtains theExecutiveSource
class.- Specified by:
getExecutiveSourceClass
in interfaceNodeContext
- Type Parameters:
S
-ExecutiveSource
type.- Parameters:
executiveSourceClassName
-ExecutiveSource
class name or an alias to aExecutiveSource
class.node
-Node
requiring theExecutiveSource
class.- Returns:
ExecutiveSource
class, ornull
with issues reported to theCompilerIssues
of thisNodeContext
.
-
getExecutiveLoader
public ExecutiveLoader getExecutiveLoader(ExecutiveNode node)
Description copied from interface:NodeContext
Obtains theExecutiveNode
.- Specified by:
getExecutiveLoader
in interfaceNodeContext
- Parameters:
node
-Node
requiring theExecutiveLoader
.- Returns:
ExecutiveLoader
.
-
createExecutiveNode
public ExecutiveNode createExecutiveNode(OfficeFloorNode officeFloor)
Description copied from interface:NodeContext
Creates theExecutiveNode
.- Specified by:
createExecutiveNode
in interfaceNodeContext
- Parameters:
officeFloor
- ParentOfficeFloorNode
.- Returns:
ExecutiveNode
.
-
createExecutionStrategyNode
public ExecutionStrategyNode createExecutionStrategyNode(java.lang.String executionStrategyName, ExecutiveNode executive)
Description copied from interface:NodeContext
Creates theExecutionStrategyNode
.- Specified by:
createExecutionStrategyNode
in interfaceNodeContext
- Parameters:
executionStrategyName
- Name of theExecutionStrategy
.executive
- ParentExecutiveNode
.- Returns:
ExecutionStrategyNode
.
-
createFunctionFlowNode
public FunctionFlowNode createFunctionFlowNode(java.lang.String flowName, boolean isEscalation, ManagedFunctionNode function)
Description copied from interface:NodeContext
Creates theFunctionFlowNode
.- Specified by:
createFunctionFlowNode
in interfaceNodeContext
- Parameters:
flowName
- Name of theFunctionFlowNode
.isEscalation
- Indicates if isEscalation
.function
- ParentManagedFunctionNode
.- Returns:
FunctionFlowNode
.
-
createFunctionObjectNode
public FunctionObjectNode createFunctionObjectNode(java.lang.String objectName, ManagedFunctionNode functionNode)
Description copied from interface:NodeContext
Creates theFunctionObjectNode
.- Specified by:
createFunctionObjectNode
in interfaceNodeContext
- Parameters:
objectName
- Name of theFunctionObjectNode
.functionNode
- ParentManagedFunctionNode
.- Returns:
FunctionObjectNode
.
-
createResponsibleTeamNode
public ResponsibleTeamNode createResponsibleTeamNode(java.lang.String teamName, ManagedFunctionNode function)
Description copied from interface:NodeContext
Creates theResponsibleTeamNode
.- Specified by:
createResponsibleTeamNode
in interfaceNodeContext
- Parameters:
teamName
- Name of theResponsibleTeamNode
.function
- ParentManagedFunctionNode
.- Returns:
ResponsibleTeamNode
.
-
createFunctionNode
public ManagedFunctionNode createFunctionNode(java.lang.String functionName, SectionNode section)
Description copied from interface:NodeContext
Creates theManagedFunctionNode
.- Specified by:
createFunctionNode
in interfaceNodeContext
- Parameters:
functionName
- Name of theManagedFunctionNode
.section
- ParentSectionNode
.- Returns:
ManagedFunctionNode
.
-
createFunctionNamespaceNode
public FunctionNamespaceNode createFunctionNamespaceNode(java.lang.String functionNamespaceName, SectionNode section)
Description copied from interface:NodeContext
Creates theFunctionNamespaceNode
.- Specified by:
createFunctionNamespaceNode
in interfaceNodeContext
- Parameters:
functionNamespaceName
- Name of theFunctionNamespaceNode
.section
- ParentSectionNode
.- Returns:
FunctionNamespaceNode
.
-
-