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
OfficeFloorCompilerimplementation.The default
OfficeFloorSourceisApplicationOfficeFloorSource.- 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.voidaddAutoWireStateManagerVisitor(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.voidaddOfficeFloorListener(OfficeFloorListener officeFloorListener)Adds anOfficeFloorListener.<S extends OfficeSource>
voidaddOfficeSourceAlias(java.lang.String alias, java.lang.Class<S> officeSourceClass)Allows providing an alias name for anOfficeSource.voidaddProfile(java.lang.String profile)Adds a profile.voidaddProfiler(java.lang.String officeName, Profiler profiler)voidaddProperty(java.lang.String name, java.lang.String value)Adds aPropertyto configure the item.voidaddResources(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.OfficeFloorcompile(java.lang.String officeFloorName)Compiles and builds theOfficeFloor.booleanconfigureOfficeFloorCompiler()Runs theOfficeFloorCompilerConfigurerinstances to configure thisOfficeFloorCompiler.AdministrationNodecreateAdministrationNode(java.lang.String administrationName, OfficeNode office)Creates aAdministrationNode.<N extends Node>
AutoWirer<N>createAutoWirer(java.lang.Class<N> nodeType, AutoWireDirection direction)Creates a newAutoWirer.CompileContextcreateCompileContext()Creates theCompileContext.EscalationNodecreateEscalationNode(java.lang.String escalationType, OfficeNode officeNode)Creates anEscalationNode.ExecutionStrategyNodecreateExecutionStrategyNode(java.lang.String executionStrategyName, ExecutiveNode executive)Creates theExecutionStrategyNode.ExecutiveNodecreateExecutiveNode(OfficeFloorNode officeFloor)Creates theExecutiveNode.FunctionFlowNodecreateFunctionFlowNode(java.lang.String flowName, boolean isEscalation, ManagedFunctionNode function)Creates theFunctionFlowNode.FunctionNamespaceNodecreateFunctionNamespaceNode(java.lang.String functionNamespaceName, SectionNode section)Creates theFunctionNamespaceNode.ManagedFunctionNodecreateFunctionNode(java.lang.String functionName, SectionNode section)Creates theManagedFunctionNode.FunctionObjectNodecreateFunctionObjectNode(java.lang.String objectName, ManagedFunctionNode functionNode)Creates theFunctionObjectNode.GovernanceNodecreateGovernanceNode(java.lang.String governanceName, OfficeNode office)Creates aGovernanceNode.InputManagedObjectNodecreateInputManagedNode(java.lang.String inputManagedObjectName, java.lang.String inputObjectType, OfficeFloorNode officeFloor)Creates anInputManagedObjectNode.ManagedObjectDependencyNodecreateManagedObjectDependencyNode(java.lang.String dependencyName, ManagedObjectNode managedObject)Creates aManagedObjectDependencyNodefor aManagedObjectNode.ManagedObjectDependencyNodecreateManagedObjectDependencyNode(java.lang.String dependencyName, ManagedObjectSourceNode managedObjectSource)Creates aManagedObjectDependencyNodefor aInputManagedObjectNode.ManagedObjectExecutionStrategyNodecreateManagedObjectExecutionStrategyNode(java.lang.String executionStrategyName, ManagedObjectSourceNode managedObjectSource)Creates theManagedObjectExecutionStrategyNode.ManagedObjectFlowNodecreateManagedObjectFlowNode(java.lang.String flowName, ManagedObjectSourceNode managedObjectSource)Creates theManagedObjectFlowNode.ManagedObjectFunctionDependencyNodecreateManagedObjectFunctionDependencyNode(java.lang.String dependencyName, ManagedObjectSourceNode managedObjectSource)Creates aManagedObjectFunctionDependencyNodefor aManagedObjectSourceNode.ManagedObjectNodecreateManagedObjectNode(java.lang.String managedObjectName, OfficeFloorNode officeFloor)Creates theManagedObjectNode.ManagedObjectNodecreateManagedObjectNode(java.lang.String managedObjectName, OfficeNode office)Creates theManagedObjectNode.ManagedObjectNodecreateManagedObjectNode(java.lang.String managedObjectName, SectionNode section)Creates theManagedObjectNode.ManagedObjectPoolNodecreateManagedObjectPoolNode(java.lang.String managedObjectPoolName, OfficeFloorNode officeFloorNode)Creates theManagedObjectPoolNode.ManagedObjectPoolNodecreateManagedObjectPoolNode(java.lang.String managedObjectPoolName, OfficeNode officeNode)Creates theManagedObjectPoolNode.ManagedObjectPoolNodecreateManagedObjectPoolNode(java.lang.String managedObjectPoolName, SectionNode sectionNode)Creates theManagedObjectPoolNode.ManagedObjectSourceNodecreateManagedObjectSourceNode(java.lang.String managedObjectSourceName, OfficeFloorNode officeFloor)Creates aManagedObjectSourceNode.ManagedObjectSourceNodecreateManagedObjectSourceNode(java.lang.String managedObjectSourceName, OfficeNode office)Creates aManagedObjectSourceNode.ManagedObjectSourceNodecreateManagedObjectSourceNode(java.lang.String managedObjectSourceName, SectionNode section)Creates aManagedObjectSourceNode.ManagedObjectSourceNodecreateManagedObjectSourceNode(java.lang.String managedObjectSourceName, SuppliedManagedObjectSourceNode suppliedManagedObject)Creates aManagedObjectSourceNode.ManagedObjectTeamNodecreateManagedObjectTeamNode(java.lang.String teamName, ManagedObjectSourceNode managedObjectSource)Creates theManagedObjectTeamNode.ManagingOfficeNodecreateManagingOfficeNode(ManagedObjectSourceNode managedObjectSource)Creates theManagingOfficeNode.OfficeFloorNodecreateOfficeFloorNode(java.lang.String officeFloorSourceClassName, OfficeFloorSource officeFloorSource, java.lang.String officeFloorLocation)Creates theOfficeFloorNode.OfficeInputNodecreateOfficeInputNode(java.lang.String officeInputName, OfficeNode office)Creates theOfficeInputNode.OfficeNodecreateOfficeNode(java.lang.String officeName, OfficeFloorNode officeFloor)Creates theOfficeNode.OfficeObjectNodecreateOfficeObjectNode(java.lang.String objectName, OfficeNode office)Creates theOfficeObjectNode.OfficeOutputNodecreateOfficeOutputNode(java.lang.String name, OfficeNode office)Creates theOfficeOutputNode.OfficeStartNodecreateOfficeStartNode(java.lang.String startName, OfficeNode office)Creates theOfficeStartNode.OfficeTeamNodecreateOfficeTeamNode(java.lang.String officeTeamName, OfficeNode office)Creates theOfficeTeamNode.PropertyListcreatePropertyList()Creates a new emptyPropertyList.ResponsibleTeamNodecreateResponsibleTeamNode(java.lang.String teamName, ManagedFunctionNode function)Creates theResponsibleTeamNode.SourceContextcreateRootSourceContext()Creates a rootSourceContext.SectionInputNodecreateSectionInputNode(java.lang.String inputName, SectionNode section)Creates theSectionInputNode.SectionNodecreateSectionNode(java.lang.String sectionName, OfficeNode office)Creates a top levelSectionNodewithin theOfficeNode.SectionNodecreateSectionNode(java.lang.String sectionName, SectionNode parentSection)Creates aSectionNode.SectionObjectNodecreateSectionObjectNode(java.lang.String objectName, SectionNode section)Creates theSectionObjectNode.SectionOutputNodecreateSectionOutputNode(java.lang.String outputName, SectionNode section)Creates theSectionOutputNode.SuppliedManagedObjectSourceNodecreateSuppliedManagedObjectSourceNode(java.lang.String qualifier, java.lang.String type, SupplierNode supplier)Creates theSuppliedManagedObjectSourceNode.SupplierNodecreateSupplierNode(java.lang.String supplierName, OfficeFloorNode officeFloor)Creates theSupplierNode.SupplierNodecreateSupplierNode(java.lang.String supplierName, OfficeNode office)Creates theSupplierNode.SupplierThreadLocalNodecreateSupplierThreadLocalNode(java.lang.String qualifier, java.lang.String type, SupplierNode supplier)Creates theSupplierThreadLocalNode.TeamNodecreateTeamNode(java.lang.String teamName, OfficeFloorNode officeFloor)Creates theTeamNode.AdministrationLoadergetAdministrationLoader()Obtains theAdministrationLoader.AdministrationLoadergetAdministrationLoader(AdministrationNode node, boolean isLoadingType)Obtains theAdministrationLoader.<S extends AdministrationSource<?,?,?>>
java.lang.Class<S>getAdministrationSourceClass(java.lang.String administrationSourceName, AdministrationNode node)Obtains theAdministrationSourceclass.CompilerIssuesgetCompilerIssues()Obtains theCompilerIssues.ExecutiveLoadergetExecutiveLoader()Obtains theExecutiveLoader.ExecutiveLoadergetExecutiveLoader(ExecutiveNode node)Obtains theExecutiveNode.<S extends ExecutiveSource>
java.lang.Class<S>getExecutiveSourceClass(java.lang.String executiveSourceClassName, ExecutiveNode node)Obtains theExecutiveSourceclass.GovernanceLoadergetGovernanceLoader()Obtains theGovernanceLoader.GovernanceLoadergetGovernanceLoader(GovernanceNode node, boolean isLoadingType)Obtains theGovernanceLoader.<S extends GovernanceSource<?,?>>
java.lang.Class<S>getGovernanceSourceClass(java.lang.String governanceSourceName, GovernanceNode node)Obtains theGovernanceSourceclass.ManagedFunctionLoadergetManagedFunctionLoader()Obtains theManagedFunctionLoader.ManagedFunctionLoadergetManagedFunctionLoader(FunctionNamespaceNode node, boolean isLoadingType)Obtains theManagedFunctionLoader.<S extends ManagedFunctionSource>
java.lang.Class<S>getManagedFunctionSourceClass(java.lang.String managedFunctionSourceName, FunctionNamespaceNode node)Obtains theManagedFunctionSourceclass.ManagedObjectLoadergetManagedObjectLoader()Obtains theManagedObjectLoader.ManagedObjectLoadergetManagedObjectLoader(ManagedObjectSourceNode node)Obtains theManagedObjectLoader.ManagedObjectPoolLoadergetManagedObjectPoolLoader()Obtains theManagedObjectPoolLoader.ManagedObjectPoolLoadergetManagedObjectPoolLoader(ManagedObjectPoolNode node, OfficeNode officeNode, boolean isLoadingType)Obtains theManagedObjectPoolLoader.<S extends ManagedObjectPoolSource>
java.lang.Class<S>getManagedObjectPoolSourceClass(java.lang.String managedObjectPoolSourceName, ManagedObjectPoolNode node)Obtains theManagedObjectPoolSourceclass.<S extends ManagedObjectSource<?,?>>
java.lang.Class<S>getManagedObjectSourceClass(java.lang.String managedObjectSourceName, ManagedObjectSourceNode node)Obtains theManagedObjectSourceclass.OfficeFloorLoadergetOfficeFloorLoader()Obtains theOfficeFloorLoader.OfficeFloorLoadergetOfficeFloorLoader(OfficeFloorNode node)Obtains theOfficeFloorLoader.<S extends OfficeFloorSource>
java.lang.Class<S>getOfficeFloorSourceClass(java.lang.String officeFloorSourceClassName, OfficeFloorNode node)Obtains theOfficeFloorSourceclass.OfficeFramegetOfficeFrame()Obtains theOfficeFrame.OfficeLoadergetOfficeLoader()Obtains theOfficeLoader.OfficeLoadergetOfficeLoader(OfficeNode node)Obtains theOfficeLoader.<S extends OfficeSource>
java.lang.Class<S>getOfficeSourceClass(java.lang.String officeSourceName, OfficeNode node)Obtains theOfficeSourceclass.SourceContextgetRootSourceContext()Obtains the rootSourceContext.SectionLoadergetSectionLoader()Obtains theSectionLoader.SectionLoadergetSectionLoader(OfficeNode officeNode)Obtains theSectionLoader.SectionLoadergetSectionLoader(SectionNode sectionNode)Obtains theSectionLoader.<S extends SectionSource>
java.lang.Class<S>getSectionSourceClass(java.lang.String sectionSourceName, SectionNode node)Obtains theSectionSourceclass.SupplierLoadergetSupplierLoader()Obtains theSupplierLoader.SupplierLoadergetSupplierLoader(SupplierNode node, boolean isLoadingType)Obtains theSupplierLoader.<S extends SupplierSource>
java.lang.Class<S>getSupplierSourceClass(java.lang.String supplierSourceClassName, SupplierNode node)Obtains theSupplierSourceclass.TeamLoadergetTeamLoader()Obtains theTeamLoader.TeamLoadergetTeamLoader(TeamNode node)Obtains theTeamLoader.<S extends TeamSource>
java.lang.Class<S>getTeamSourceClass(java.lang.String teamSourceName, TeamNode node)Obtains theTeamSourceclass.TypeLoadergetTypeLoader()Obtains theTypeLoader.voidinitiateOfficeFloorBuilder(OfficeFloorBuilder builder)Initiates theOfficeFloorBuilderwith theOfficeFloorCompilerdetails.FunctionNamespaceTypeloadManagedFunctionType(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.PropertyListoverrideProperties(Node node, java.lang.String qualifiedName, OverrideProperties overrideProperties, PropertyList originalProperties)Overrides thePropertyList.PropertyListoverrideProperties(Node node, java.lang.String qualifiedName, PropertyList originalProperties)Overrides thePropertyList.protected voidresetRootSourceContext()Resets the rootSourceContext.voidsetClockFactory(ClockFactory clockFactory)Specifies theClockFactory.voidsetCompilerIssues(CompilerIssues issues)Overrides the defaultCompilerIssuesto use in compiling theOfficeFloor.voidsetEscalationHandler(EscalationHandler escalationHandler)Overrides the defaultEscalationHandler.voidsetMBeanRegistrator(MBeanRegistrator mbeanRegistrator)Specifies theMBeanRegistrator.voidsetOfficeFloorLocation(java.lang.String officeFloorLocation)Specifies the location of theOfficeFloor.voidsetOfficeFloorSource(OfficeFloorSource officeFloorSource)Specifies theOfficeFloorSourceinstance to use for compiling theOfficeFloor.<S extends OfficeFloorSource>
voidsetOfficeFloorSourceClass(java.lang.Class<S> officeFloorSourceClass)Overrides the defaultOfficeFloorSourceto source theOfficeFloor.voidsetOfficeFrame(OfficeFrame officeFrame)Overrides the defaultOfficeFramefor building theOfficeFloor.voidsetOverridePropertiesDirectory(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:OfficeFloorCompilerSpecifies the
ClockFactory.This will be added to the
OfficeFramebefore compiling theOfficeFloorand will be available in theSourceContextfor retrievingClockinstances.- Specified by:
setClockFactoryin classOfficeFloorCompiler- Parameters:
clockFactory-ClockFactory.
-
addResources
public void addResources(ResourceSource resourceSource)
Description copied from class:OfficeFloorCompilerAdds a
ResourceSource.This will be added to the
OfficeFramebefore compiling theOfficeFloorand will be available in theSourceContextfor loading the various sources.- Specified by:
addResourcesin classOfficeFloorCompiler- Parameters:
resourceSource-ResourceSource.
-
setEscalationHandler
public void setEscalationHandler(EscalationHandler escalationHandler)
Description copied from class:OfficeFloorCompilerOverrides the default
EscalationHandler.This will be specified on the
OfficeFramebefore compiling theOfficeFloor.- Specified by:
setEscalationHandlerin classOfficeFloorCompiler- Parameters:
escalationHandler-EscalationHandler.
-
setCompilerIssues
public void setCompilerIssues(CompilerIssues issues)
Description copied from class:OfficeFloorCompilerOverrides the default
CompilerIssuesto use in compiling theOfficeFloor.Implementations of
OfficeFloorCompilermust provide a defaultCompilerIssues. Typically this will be an implementation that writes issues toSystem.err.- Specified by:
setCompilerIssuesin classOfficeFloorCompiler- Parameters:
issues-CompilerIssues.
-
setOfficeFrame
public void setOfficeFrame(OfficeFrame officeFrame)
Description copied from class:OfficeFloorCompilerOverrides the default
OfficeFramefor building theOfficeFloor.Should this not be called the
OfficeFloorCompilerimplementation should use theOfficeFrame.getInstance()to build theOfficeFloor.- Specified by:
setOfficeFramein classOfficeFloorCompiler- Parameters:
officeFrame-OfficeFrame.
-
setOfficeFloorSourceClass
public <S extends OfficeFloorSource> void setOfficeFloorSourceClass(java.lang.Class<S> officeFloorSourceClass)
Description copied from class:OfficeFloorCompilerOverrides the default
OfficeFloorSourceto source theOfficeFloor.OfficeFloorCompilerimplementations must provide a defaultOfficeFloorSourceimplementation. The choice ofOfficeFloorSourceimplementation is left to theOfficeFloorCompiler, however it should be clearly documented on theOfficeFloorCompilerimplementation whichOfficeFloorSourceimplementation is being used.- Specified by:
setOfficeFloorSourceClassin classOfficeFloorCompiler- Type Parameters:
S-OfficeFloorSourcetype.- Parameters:
officeFloorSourceClass-OfficeFloorSourceClass.
-
setOfficeFloorSource
public void setOfficeFloorSource(OfficeFloorSource officeFloorSource)
Description copied from class:OfficeFloorCompilerSpecifies the
OfficeFloorSourceinstance to use for compiling theOfficeFloor.This will take precedence over specifying the
OfficeFloorSourceclass.- Specified by:
setOfficeFloorSourcein classOfficeFloorCompiler- Parameters:
officeFloorSource-OfficeFloorSource.
-
setOfficeFloorLocation
public void setOfficeFloorLocation(java.lang.String officeFloorLocation)
Description copied from class:OfficeFloorCompilerSpecifies the location of theOfficeFloor.- Specified by:
setOfficeFloorLocationin classOfficeFloorCompiler- Parameters:
officeFloorLocation- Location of theOfficeFloor.
-
setMBeanRegistrator
public void setMBeanRegistrator(MBeanRegistrator mbeanRegistrator)
Description copied from class:OfficeFloorCompilerSpecifies theMBeanRegistrator.- Specified by:
setMBeanRegistratorin classOfficeFloorCompiler- Parameters:
mbeanRegistrator-MBeanRegistrator.
-
addProfile
public void addProfile(java.lang.String profile)
Description copied from class:OfficeFloorCompilerAdds a profile.- Specified by:
addProfilein classOfficeFloorCompiler- Parameters:
profile- Profile.
-
addProperty
public void addProperty(java.lang.String name, java.lang.String value)Description copied from interface:PropertyConfigurableAdds aPropertyto configure the item.- Specified by:
addPropertyin interfacePropertyConfigurable- Parameters:
name- Name ofProperty.value- Value ofProperty.
-
addOfficeSourceAlias
public <S extends OfficeSource> void addOfficeSourceAlias(java.lang.String alias, java.lang.Class<S> officeSourceClass)
Description copied from class:OfficeFloorCompilerAllows providing an alias name for an
OfficeSource.This stops the configuration files from being littered with fully qualified class names of the
OfficeSourceclasses. 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
OfficeSourceServiceis the preferred means to provideOfficeSourcealiases.- Specified by:
addOfficeSourceAliasin classOfficeFloorCompiler- Type Parameters:
S-OfficeSourcetype.- Parameters:
alias- Alias name for theOfficeSource.officeSourceClass-OfficeSourceClassfor the alias.
-
addSectionSourceAlias
public <S extends SectionSource> void addSectionSourceAlias(java.lang.String alias, java.lang.Class<S> sectionSourceClass)
Description copied from class:OfficeFloorCompilerAllows providing an alias name for a
SectionSource.This stops the configuration files from being littered with fully qualified class names of the
SectionSourceclasses. 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
SectionSourceServiceis the preferred means to provideSectionSourcealiases.- Specified by:
addSectionSourceAliasin classOfficeFloorCompiler- Type Parameters:
S-SectionSourcetype.- Parameters:
alias- Alias name for theSectionSource.sectionSourceClass-SectionSourceClassfor the alias.
-
addManagedFunctionSourceAlias
public <S extends ManagedFunctionSource> void addManagedFunctionSourceAlias(java.lang.String alias, java.lang.Class<S> managedFunctionSourceClass)
Description copied from class:OfficeFloorCompilerAllows providing an alias name for a
ManagedFunctionSource.This stops the configuration files from being littered with fully qualified class names of the
ManagedFunctionSourceclasses. 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
ManagedFunctionSourceServiceis the preferred means to provideManagedFunctionSourcealiases.- Specified by:
addManagedFunctionSourceAliasin classOfficeFloorCompiler- Type Parameters:
S-ManagedFunctionSourcetype.- Parameters:
alias- Alias name for theManagedFunctionSource.managedFunctionSourceClass-ManagedFunctionSourceClassfor 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:OfficeFloorCompilerAllows providing an alias name for a
ManagedObjectSource.This stops the configuration files from being littered with fully qualified class names of the
ManagedObjectSourceclasses. 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
ManagedObjectSourceServiceis the preferred means to provideManagedObjectSourcealiases.- Specified by:
addManagedObjectSourceAliasin classOfficeFloorCompiler- Type Parameters:
D- Dependency type keys.F-Flowtype keys.S-ManagedObjectSourcetype.- Parameters:
alias- Alias name for theManagedObjectSource.managedObjectSourceClass-ManagedObjectSourceClassfor the alias.
-
addManagedObjectPoolSourceAlias
public <S extends ManagedObjectPoolSource> void addManagedObjectPoolSourceAlias(java.lang.String alias, java.lang.Class<S> managedObjectPoolSourceClass)
Description copied from class:OfficeFloorCompilerAllows providing an alias name for a
ManagedObjectPoolSource.This stops the configuration files from being littered with fully qualified class names of the
ManagedObjectPoolSourceclasses. 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
ManagedObjectSourceServiceis the preferred means to provideManagedObjectSourcealiases.- Specified by:
addManagedObjectPoolSourceAliasin classOfficeFloorCompiler- Type Parameters:
S-ManagedObjectPoolSourcetype.- Parameters:
alias- Alias name for theManagedObjectPoolSource.managedObjectPoolSourceClass-ManagedObjectPoolSourceClassfor the alias.
-
addSupplierSourceAlias
public <S extends SupplierSource> void addSupplierSourceAlias(java.lang.String alias, java.lang.Class<S> supplierSourceClass)
Description copied from class:OfficeFloorCompilerAllows providing an alias name for a
SupplierSource.This stops the configuration files from being littered with fully qualified class names of the
SupplierSourceclasses. 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
SupplierSourceServiceis the preferred means to provideSupplierSourcealiases.- Specified by:
addSupplierSourceAliasin classOfficeFloorCompiler- Type Parameters:
S-SupplierSourcetype.- Parameters:
alias- Alias name for theSupplierSource.supplierSourceClass-SupplierSourceClassfor 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:OfficeFloorCompilerAllows providing an alias name for a
AdministrationSource.This stops the configuration files from being littered with fully qualified class names of the
AdministrationSourceclasses. 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
AdministrationSourceServiceis the preferred means to provideAdministrationSourcealiases.- Specified by:
addAdministrationSourceAliasin classOfficeFloorCompiler- Type Parameters:
E- Extension interface type.F-Flowkeys for theAdministration.G-Governancekeys for theAdministration.S-AdministrationSourcetype.- Parameters:
alias- Alias name for theAdministrationSource.administrationSourceClass-AdministrationSourceClassfor 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:OfficeFloorCompilerAllows providing an alias name for a
GovernanceSource.This stops the configuration files from being littered with fully qualified class names of the
GovernanceSourceclasses. 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
GovernanceSourceServiceis the preferred means to provideGovernanceSourcealiases.- Specified by:
addGovernanceSourceAliasin classOfficeFloorCompiler- Type Parameters:
I- Extension interface type.F-Flowtype keys.S-GovernanceSourcetype.- Parameters:
alias- Alias name for theGovernanceSource.governanceSourceClass-GovernanceSourceClassfor the alias.
-
addTeamSourceAlias
public <S extends TeamSource> void addTeamSourceAlias(java.lang.String alias, java.lang.Class<S> teamSourceClass)
Description copied from class:OfficeFloorCompilerAllows providing an alias name for a
TeamSource.This stops the configuration files from being littered with fully qualified class names of the
TeamSourceclasses. 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
TeamSourceServiceis the preferred means to provideTeamSourcealiases.- Specified by:
addTeamSourceAliasin classOfficeFloorCompiler- Type Parameters:
S-TeamSourcetype.- Parameters:
alias- Alias name for theTeamSource.teamSourceClass-TeamSourceClassfor the alias.
-
addProfiler
public void addProfiler(java.lang.String officeName, Profiler profiler)Description copied from class:OfficeFloorCompiler- Specified by:
addProfilerin classOfficeFloorCompiler- Parameters:
officeName- Name ofOfficeto be profiled.profiler-Profilerfor theOffice.
-
setOverridePropertiesDirectory
public void setOverridePropertiesDirectory(java.io.File propertiesDirectory)
Description copied from class:OfficeFloorCompilerSpecifies a directory containing override properties.
The files within the directory are properties files with the naming convention: <fully-qualified-name>.properties
- Specified by:
setOverridePropertiesDirectoryin classOfficeFloorCompiler- Parameters:
propertiesDirectory- Directory containing the override properties.
-
addOfficeFloorListener
public void addOfficeFloorListener(OfficeFloorListener officeFloorListener)
Description copied from class:OfficeFloorCompilerAdds anOfficeFloorListener.- Specified by:
addOfficeFloorListenerin classOfficeFloorCompiler- Parameters:
officeFloorListener-OfficeFloorListener.
-
addAutoWireStateManagerVisitor
public void addAutoWireStateManagerVisitor(AutoWireStateManagerVisitor autoWireStateManagerVisitor)
Description copied from class:OfficeFloorCompilerAdds anAutoWireStateManagerVisitor.- Specified by:
addAutoWireStateManagerVisitorin classOfficeFloorCompiler- Parameters:
autoWireStateManagerVisitor-AutoWireStateManagerVisitor.
-
createPropertyList
public PropertyList createPropertyList()
Description copied from class:OfficeFloorCompilerCreates a new emptyPropertyList.- Specified by:
createPropertyListin interfaceNodeContext- Specified by:
createPropertyListin classOfficeFloorCompiler- Returns:
- New empty
PropertyList.
-
createRootSourceContext
public SourceContext createRootSourceContext()
Description copied from class:OfficeFloorCompilerCreates a rootSourceContext.- Specified by:
createRootSourceContextin classOfficeFloorCompiler- Returns:
- Root
SourceContext.
-
createAutoWirer
public <N extends Node> AutoWirer<N> createAutoWirer(java.lang.Class<N> nodeType, AutoWireDirection direction)
Description copied from interface:NodeContextCreates a newAutoWirer.- Specified by:
createAutoWirerin interfaceNodeContext- Type Parameters:
N- Type ofNode.- Parameters:
nodeType-Classtype ofNode.direction-AutoWireDirection.- Returns:
- New
AutoWirer.
-
getTypeLoader
public TypeLoader getTypeLoader()
Description copied from class:OfficeFloorCompilerObtains theTypeLoader.- Specified by:
getTypeLoaderin classOfficeFloorCompiler- Returns:
TypeLoader.
-
getOfficeFloorLoader
public OfficeFloorLoader getOfficeFloorLoader()
Description copied from class:OfficeFloorCompilerObtains theOfficeFloorLoader.- Specified by:
getOfficeFloorLoaderin classOfficeFloorCompiler- Returns:
OfficeFloorLoader.
-
getOfficeLoader
public OfficeLoader getOfficeLoader()
Description copied from class:OfficeFloorCompilerObtains theOfficeLoader.- Specified by:
getOfficeLoaderin classOfficeFloorCompiler- Returns:
OfficeLoader.
-
getSectionLoader
public SectionLoader getSectionLoader()
Description copied from class:OfficeFloorCompilerObtains theSectionLoader.- Specified by:
getSectionLoaderin classOfficeFloorCompiler- Returns:
SectionLoader.
-
getManagedFunctionLoader
public ManagedFunctionLoader getManagedFunctionLoader()
Description copied from class:OfficeFloorCompilerObtains theManagedFunctionLoader.- Specified by:
getManagedFunctionLoaderin classOfficeFloorCompiler- Returns:
ManagedFunctionLoader.
-
getManagedObjectLoader
public ManagedObjectLoader getManagedObjectLoader()
Description copied from class:OfficeFloorCompilerObtains theManagedObjectLoader.- Specified by:
getManagedObjectLoaderin classOfficeFloorCompiler- Returns:
ManagedObjectLoader.
-
getSupplierLoader
public SupplierLoader getSupplierLoader()
Description copied from class:OfficeFloorCompilerObtains theSupplierLoader.- Specified by:
getSupplierLoaderin classOfficeFloorCompiler- Returns:
SupplierLoader.
-
getGovernanceLoader
public GovernanceLoader getGovernanceLoader()
Description copied from class:OfficeFloorCompilerObtains theGovernanceLoader.- Specified by:
getGovernanceLoaderin classOfficeFloorCompiler- Returns:
GovernanceLoader.
-
getManagedObjectPoolLoader
public ManagedObjectPoolLoader getManagedObjectPoolLoader()
Description copied from class:OfficeFloorCompilerObtains theManagedObjectPoolLoader.- Specified by:
getManagedObjectPoolLoaderin classOfficeFloorCompiler- Returns:
ManagedObjectPoolLoader.
-
getAdministrationLoader
public AdministrationLoader getAdministrationLoader()
Description copied from class:OfficeFloorCompilerObtains theAdministrationLoader.- Specified by:
getAdministrationLoaderin classOfficeFloorCompiler- Returns:
AdministrationLoader.
-
getTeamLoader
public TeamLoader getTeamLoader()
Description copied from class:OfficeFloorCompilerObtains theTeamLoader.- Specified by:
getTeamLoaderin classOfficeFloorCompiler- Returns:
TeamLoader.
-
getExecutiveLoader
public ExecutiveLoader getExecutiveLoader()
Description copied from class:OfficeFloorCompilerObtains theExecutiveLoader.- Specified by:
getExecutiveLoaderin classOfficeFloorCompiler- Returns:
ExecutiveLoader.
-
configureOfficeFloorCompiler
public boolean configureOfficeFloorCompiler()
Description copied from class:OfficeFloorCompilerRuns the
OfficeFloorCompilerConfigurerinstances 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:
configureOfficeFloorCompilerin classOfficeFloorCompiler- Returns:
trueif configured.falsewith issue reported to theCompilerIssues.
-
compile
public OfficeFloor compile(java.lang.String officeFloorName)
Description copied from class:OfficeFloorCompilerCompiles and builds theOfficeFloor.- Specified by:
compilein classOfficeFloorCompiler- Parameters:
officeFloorName- Name of theOfficeFloor.- Returns:
OfficeFloorornullif 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:TypeLoaderLoads theFunctionNamespaceType.- Specified by:
loadManagedFunctionTypein interfaceTypeLoader- Parameters:
managedFunctionSourceName- Name ofManagedFunctionSource.managedFunctionSourceClassName-ManagedFunctionSourceclass name.properties-PropertyList.- Returns:
FunctionNamespaceType.
-
loadManagedObjectType
public ManagedObjectType<?> loadManagedObjectType(java.lang.String managedObjectSourceName, java.lang.String managedObjectSourceClassName, PropertyList properties)
Description copied from interface:TypeLoaderLoads theManagedObjectType.- Specified by:
loadManagedObjectTypein interfaceTypeLoader- Parameters:
managedObjectSourceName- Name of theManagedObjectSource.managedObjectSourceClassName-ManagedObjectSourceclass name.properties-PropertyList.- Returns:
ManagedObjectType.
-
getRootSourceContext
public SourceContext getRootSourceContext()
Description copied from interface:NodeContextObtains the rootSourceContext.- Specified by:
getRootSourceContextin interfaceNodeContext- Returns:
- Root
SourceContext.
-
resetRootSourceContext
protected void resetRootSourceContext()
Resets the rootSourceContext.
-
createCompileContext
public CompileContext createCompileContext()
Description copied from interface:NodeContextCreates theCompileContext.- Specified by:
createCompileContextin interfaceNodeContext- Returns:
CompileContext.
-
getCompilerIssues
public CompilerIssues getCompilerIssues()
Description copied from class:OfficeFloorCompilerObtains theCompilerIssues.- Specified by:
getCompilerIssuesin interfaceNodeContext- Specified by:
getCompilerIssuesin classOfficeFloorCompiler- Returns:
CompilerIssues.
-
getOfficeFrame
public OfficeFrame getOfficeFrame()
Description copied from interface:NodeContextObtains theOfficeFrame.- Specified by:
getOfficeFramein interfaceNodeContext- Returns:
OfficeFrame.
-
initiateOfficeFloorBuilder
public void initiateOfficeFloorBuilder(OfficeFloorBuilder builder)
Description copied from interface:NodeContextInitiates theOfficeFloorBuilderwith theOfficeFloorCompilerdetails.- Specified by:
initiateOfficeFloorBuilderin interfaceNodeContext- Parameters:
builder-OfficeFloorBuilder.
-
additionalProfiles
public java.lang.String[] additionalProfiles(OfficeNode officeNode)
Description copied from interface:NodeContextObtains the additional profiles.- Specified by:
additionalProfilesin interfaceNodeContext- Parameters:
officeNode-OfficeNodeproviding additional profiles. May benull.- Returns:
- Additional profiles.
-
overrideProperties
public PropertyList overrideProperties(Node node, java.lang.String qualifiedName, PropertyList originalProperties)
Description copied from interface:NodeContextOverrides thePropertyList.- Specified by:
overridePropertiesin interfaceNodeContext- Parameters:
node-Noderequiring 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:NodeContextOverrides thePropertyList.- Specified by:
overridePropertiesin interfaceNodeContext- Parameters:
node-Noderequiring 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:NodeContextObtains theOfficeFloorSourceclass.- Specified by:
getOfficeFloorSourceClassin interfaceNodeContext- Type Parameters:
S-OfficeFloorSourcetype.- Parameters:
officeFloorSourceClassName-Classname of theOfficeFloorSource.node-Noderequiring theOfficeFloorSourceclass.- Returns:
OfficeFloorSourceclass, ornullwith issues reported to theCompilerIssuesof thisNodeContext.
-
getOfficeFloorLoader
public OfficeFloorLoader getOfficeFloorLoader(OfficeFloorNode node)
Description copied from interface:NodeContextObtains theOfficeFloorLoader.- Specified by:
getOfficeFloorLoaderin interfaceNodeContext- Parameters:
node-Noderequiring theOfficeFloorLoader.- Returns:
OfficeFloorLoader.
-
createOfficeFloorNode
public OfficeFloorNode createOfficeFloorNode(java.lang.String officeFloorSourceClassName, OfficeFloorSource officeFloorSource, java.lang.String officeFloorLocation)
Description copied from interface:NodeContextCreates theOfficeFloorNode.- Specified by:
createOfficeFloorNodein interfaceNodeContext- Parameters:
officeFloorSourceClassName-Classname 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:NodeContextObtains theOfficeSourceclass.- Specified by:
getOfficeSourceClassin interfaceNodeContext- Type Parameters:
S-OfficeSourcetype.- Parameters:
officeSourceName-OfficeSourceclass name or an alias to anOfficeSourceclass.node-Noderequiring theOfficeSourceclass.- Returns:
OfficeSourceclass, ornullwith issues reported to theCompilerIssuesof thisNodeContext.
-
getOfficeLoader
public OfficeLoader getOfficeLoader(OfficeNode node)
Description copied from interface:NodeContextObtains theOfficeLoader.- Specified by:
getOfficeLoaderin interfaceNodeContext- Parameters:
node-Noderequiring theOfficeLoader.- Returns:
OfficeLoader.
-
createOfficeNode
public OfficeNode createOfficeNode(java.lang.String officeName, OfficeFloorNode officeFloor)
Description copied from interface:NodeContextCreates theOfficeNode.- Specified by:
createOfficeNodein interfaceNodeContext- Parameters:
officeName- Name of theOfficeNode.officeFloor- ParentOfficeFloorNode.- Returns:
OfficeNode.
-
createOfficeInputNode
public OfficeInputNode createOfficeInputNode(java.lang.String officeInputName, OfficeNode office)
Description copied from interface:NodeContextCreates theOfficeInputNode.- Specified by:
createOfficeInputNodein interfaceNodeContext- Parameters:
officeInputName- Name of theOfficeInputNode.office- ParentOfficeNode.- Returns:
OfficeInputNode.
-
createOfficeObjectNode
public OfficeObjectNode createOfficeObjectNode(java.lang.String objectName, OfficeNode office)
Description copied from interface:NodeContextCreates theOfficeObjectNode.- Specified by:
createOfficeObjectNodein interfaceNodeContext- Parameters:
objectName- Name of theOfficeObjectNode.office- ParentOfficeNode.- Returns:
OfficeObjectNode.
-
createOfficeOutputNode
public OfficeOutputNode createOfficeOutputNode(java.lang.String name, OfficeNode office)
Description copied from interface:NodeContextCreates theOfficeOutputNode.- Specified by:
createOfficeOutputNodein interfaceNodeContext- Parameters:
name- Name of theOfficeOutputNode.office- ParentOfficeNode.- Returns:
OfficeOutputNode.
-
createOfficeStartNode
public OfficeStartNode createOfficeStartNode(java.lang.String startName, OfficeNode office)
Description copied from interface:NodeContextCreates theOfficeStartNode.- Specified by:
createOfficeStartNodein interfaceNodeContext- Parameters:
startName- Name of theOfficeStartNode.office- ParentOfficeNode.- Returns:
OfficeStartNode.
-
createOfficeTeamNode
public OfficeTeamNode createOfficeTeamNode(java.lang.String officeTeamName, OfficeNode office)
Description copied from interface:NodeContextCreates theOfficeTeamNode.- Specified by:
createOfficeTeamNodein interfaceNodeContext- Parameters:
officeTeamName- Name of theOfficeTeamNode.office- ParentOfficeNode.- Returns:
OfficeTeamNode.
-
createEscalationNode
public EscalationNode createEscalationNode(java.lang.String escalationType, OfficeNode officeNode)
Description copied from interface:NodeContextCreates anEscalationNode.- Specified by:
createEscalationNodein interfaceNodeContext- Parameters:
escalationType-Escalationtype.officeNode-OfficeNodecontaining thisEscalation.- Returns:
EscalationNode.
-
getSectionSourceClass
public <S extends SectionSource> java.lang.Class<S> getSectionSourceClass(java.lang.String sectionSourceName, SectionNode node)
Description copied from interface:NodeContextObtains theSectionSourceclass.- Specified by:
getSectionSourceClassin interfaceNodeContext- Type Parameters:
S-SectionSourcetype.- Parameters:
sectionSourceName-SectionSourceclass name or an alias to anSectionSourceclass.node-Noderequiring theSectionSourceclass.- Returns:
SectionSourceclass, ornullwith issues reported to theCompilerIssuesof thisNodeContext.
-
getSectionLoader
public SectionLoader getSectionLoader(SectionNode sectionNode)
Description copied from interface:NodeContextObtains theSectionLoader.- Specified by:
getSectionLoaderin interfaceNodeContext- Parameters:
sectionNode-SectionNoderequiring theSectionLoader.- Returns:
SectionLoader.
-
getSectionLoader
public SectionLoader getSectionLoader(OfficeNode officeNode)
Description copied from interface:NodeContextObtains theSectionLoader.- Specified by:
getSectionLoaderin interfaceNodeContext- Parameters:
officeNode-OfficeNoderequiring theSectionLoader.- Returns:
SectionLoader.
-
createSectionInputNode
public SectionInputNode createSectionInputNode(java.lang.String inputName, SectionNode section)
Description copied from interface:NodeContextCreates theSectionInputNode.- Specified by:
createSectionInputNodein interfaceNodeContext- Parameters:
inputName- Name of theSectionInputNode.section- ParentSectionNode.- Returns:
SectionInputNode.
-
createSectionObjectNode
public SectionObjectNode createSectionObjectNode(java.lang.String objectName, SectionNode section)
Description copied from interface:NodeContextCreates theSectionObjectNode.- Specified by:
createSectionObjectNodein interfaceNodeContext- Parameters:
objectName- Name of theSectionObjectNode.section- ParentSectionNode.- Returns:
SectionObjectNode.
-
createSectionOutputNode
public SectionOutputNode createSectionOutputNode(java.lang.String outputName, SectionNode section)
Description copied from interface:NodeContextCreates theSectionOutputNode.- Specified by:
createSectionOutputNodein interfaceNodeContext- Parameters:
outputName- Name of theSectionOutputNode.section- ParentSectionNode.- Returns:
SectionOutputNode.
-
createSectionNode
public SectionNode createSectionNode(java.lang.String sectionName, SectionNode parentSection)
Description copied from interface:NodeContextCreates aSectionNode.- Specified by:
createSectionNodein interfaceNodeContext- Parameters:
sectionName- Name of theOfficeSection.parentSection- ParentSectionNodecontaining thisOfficeSection.- Returns:
SectionNode.
-
createSectionNode
public SectionNode createSectionNode(java.lang.String sectionName, OfficeNode office)
Description copied from interface:NodeContextCreates a top levelSectionNodewithin theOfficeNode.- Specified by:
createSectionNodein interfaceNodeContext- Parameters:
sectionName- Name of theOfficeSection.office-OfficeNodecontaining thisOfficeSection.- Returns:
SectionNode.
-
getManagedFunctionSourceClass
public <S extends ManagedFunctionSource> java.lang.Class<S> getManagedFunctionSourceClass(java.lang.String managedFunctionSourceName, FunctionNamespaceNode node)
Description copied from interface:NodeContextObtains theManagedFunctionSourceclass.- Specified by:
getManagedFunctionSourceClassin interfaceNodeContext- Type Parameters:
S-ManagedFunctionSourcetype.- Parameters:
managedFunctionSourceName-ManagedFunctionSourceclass name or an alias to aManagedFunctionSourceclass.node-Noderequiring theManagedFunctionSourceclass.- Returns:
ManagedFunctionSourceclass, ornullwith issues reported to theCompilerIssuesof thisNodeContext.
-
getManagedFunctionLoader
public ManagedFunctionLoader getManagedFunctionLoader(FunctionNamespaceNode node, boolean isLoadingType)
Description copied from interface:NodeContextObtains theManagedFunctionLoader.- Specified by:
getManagedFunctionLoaderin interfaceNodeContext- Parameters:
node-Noderequiring 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:NodeContextObtains theManagedObjectSourceclass.- Specified by:
getManagedObjectSourceClassin interfaceNodeContext- Type Parameters:
S-ManagedObjectSourcetype.- Parameters:
managedObjectSourceName-ManagedObjectSourceclass name or an alias to aManagedObjectSourceclass.node-Nodefor reporting issues.- Returns:
ManagedObjectSourceclass, ornullwith issues reported to theCompilerIssuesof thisNodeContext.
-
getManagedObjectLoader
public ManagedObjectLoader getManagedObjectLoader(ManagedObjectSourceNode node)
Description copied from interface:NodeContextObtains theManagedObjectLoader.- Specified by:
getManagedObjectLoaderin interfaceNodeContext- Parameters:
node-Noderequiring theManagedObjectLoader.- Returns:
ManagedObjectLoader.
-
createInputManagedNode
public InputManagedObjectNode createInputManagedNode(java.lang.String inputManagedObjectName, java.lang.String inputObjectType, OfficeFloorNode officeFloor)
Description copied from interface:NodeContextCreates anInputManagedObjectNode.- Specified by:
createInputManagedNodein 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:NodeContextCreates aManagedObjectDependencyNodefor aManagedObjectNode.- Specified by:
createManagedObjectDependencyNodein interfaceNodeContext- Parameters:
dependencyName- Name of theManagedObjectDependencyNode.managedObject- ParentManagedObjectNode.- Returns:
ManagedObjectDependencyNode.
-
createManagedObjectDependencyNode
public ManagedObjectDependencyNode createManagedObjectDependencyNode(java.lang.String dependencyName, ManagedObjectSourceNode managedObjectSource)
Description copied from interface:NodeContextCreates aManagedObjectDependencyNodefor aInputManagedObjectNode.- Specified by:
createManagedObjectDependencyNodein interfaceNodeContext- Parameters:
dependencyName- Name of theManagedObjectDependencyNode.managedObjectSource- ParentManagedObjectSourceNode.- Returns:
ManagedObjectDependencyNode.
-
createManagedObjectFunctionDependencyNode
public ManagedObjectFunctionDependencyNode createManagedObjectFunctionDependencyNode(java.lang.String dependencyName, ManagedObjectSourceNode managedObjectSource)
Description copied from interface:NodeContextCreates aManagedObjectFunctionDependencyNodefor aManagedObjectSourceNode.- Specified by:
createManagedObjectFunctionDependencyNodein interfaceNodeContext- Parameters:
dependencyName- Name of theManagedObjectFunctionDependencyNode.managedObjectSource- ParentManagedObjectSourceNode.- Returns:
ManagedObjectFunctionDependencyNode.
-
createManagedObjectFlowNode
public ManagedObjectFlowNode createManagedObjectFlowNode(java.lang.String flowName, ManagedObjectSourceNode managedObjectSource)
Description copied from interface:NodeContextCreates theManagedObjectFlowNode.- Specified by:
createManagedObjectFlowNodein interfaceNodeContext- Parameters:
flowName- Name of theManagedObjectFlowNode.managedObjectSource- ParentManagedObjectSourceNode.- Returns:
ManagedObjectFlowNode.
-
createManagedObjectTeamNode
public ManagedObjectTeamNode createManagedObjectTeamNode(java.lang.String teamName, ManagedObjectSourceNode managedObjectSource)
Description copied from interface:NodeContextCreates theManagedObjectTeamNode.- Specified by:
createManagedObjectTeamNodein interfaceNodeContext- Parameters:
teamName- Name of theManagedObjectTeamNode.managedObjectSource- ParentManagedObjectSourceNode.- Returns:
ManagedObjectTeamNode.
-
createManagedObjectExecutionStrategyNode
public ManagedObjectExecutionStrategyNode createManagedObjectExecutionStrategyNode(java.lang.String executionStrategyName, ManagedObjectSourceNode managedObjectSource)
Description copied from interface:NodeContextCreates theManagedObjectExecutionStrategyNode.- Specified by:
createManagedObjectExecutionStrategyNodein interfaceNodeContext- Parameters:
executionStrategyName- Name of theManagedObjectExecutionStrategyNode.managedObjectSource- ParentManagedObjectSourceNode.- Returns:
ManagedObjectExecutionStrategyNode.
-
createManagingOfficeNode
public ManagingOfficeNode createManagingOfficeNode(ManagedObjectSourceNode managedObjectSource)
Description copied from interface:NodeContextCreates theManagingOfficeNode.- Specified by:
createManagingOfficeNodein interfaceNodeContext- Parameters:
managedObjectSource- ParentManagedObjectSourceNode.- Returns:
ManagingOfficeNode.
-
createManagedObjectNode
public ManagedObjectNode createManagedObjectNode(java.lang.String managedObjectName, SectionNode section)
Description copied from interface:NodeContextCreates theManagedObjectNode.- Specified by:
createManagedObjectNodein interfaceNodeContext- Parameters:
managedObjectName- Name of theManagedObjectNode.section- ParentSectionNode.- Returns:
ManagedObjectNode.
-
createManagedObjectNode
public ManagedObjectNode createManagedObjectNode(java.lang.String managedObjectName, OfficeNode office)
Description copied from interface:NodeContextCreates theManagedObjectNode.- Specified by:
createManagedObjectNodein interfaceNodeContext- Parameters:
managedObjectName- Name of theManagedObjectNode.office- ParentOfficeNode.- Returns:
ManagedObjectNode.
-
createManagedObjectNode
public ManagedObjectNode createManagedObjectNode(java.lang.String managedObjectName, OfficeFloorNode officeFloor)
Description copied from interface:NodeContextCreates theManagedObjectNode.- Specified by:
createManagedObjectNodein interfaceNodeContext- Parameters:
managedObjectName- Name of theManagedObjectNode.officeFloor- ParentOfficeFloorNode.- Returns:
ManagedObjectNode.
-
createManagedObjectSourceNode
public ManagedObjectSourceNode createManagedObjectSourceNode(java.lang.String managedObjectSourceName, SectionNode section)
Description copied from interface:NodeContextCreates aManagedObjectSourceNode.- Specified by:
createManagedObjectSourceNodein interfaceNodeContext- Parameters:
managedObjectSourceName- Name of theManagedObjectSourceNode.section- ParentSectionNode.- Returns:
ManagedObjectSourceNode.
-
createManagedObjectSourceNode
public ManagedObjectSourceNode createManagedObjectSourceNode(java.lang.String managedObjectSourceName, OfficeNode office)
Description copied from interface:NodeContextCreates aManagedObjectSourceNode.- Specified by:
createManagedObjectSourceNodein interfaceNodeContext- Parameters:
managedObjectSourceName- Name of theManagedObjectSourceNode.office- ParentOfficeNode.- Returns:
ManagedObjectSourceNode.
-
createManagedObjectSourceNode
public ManagedObjectSourceNode createManagedObjectSourceNode(java.lang.String managedObjectSourceName, SuppliedManagedObjectSourceNode suppliedManagedObject)
Description copied from interface:NodeContextCreates aManagedObjectSourceNode.- Specified by:
createManagedObjectSourceNodein interfaceNodeContext- Parameters:
managedObjectSourceName- Name of theManagedObjectSourceNode.suppliedManagedObject- ParentSuppliedManagedObjectSourceNode.- Returns:
ManagedObjectSourceNode.
-
createManagedObjectSourceNode
public ManagedObjectSourceNode createManagedObjectSourceNode(java.lang.String managedObjectSourceName, OfficeFloorNode officeFloor)
Description copied from interface:NodeContextCreates aManagedObjectSourceNode.- Specified by:
createManagedObjectSourceNodein 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:NodeContextObtains theManagedObjectPoolSourceclass.- Specified by:
getManagedObjectPoolSourceClassin interfaceNodeContext- Type Parameters:
S-ManagedObjectPoolSourcetype.- Parameters:
managedObjectPoolSourceName-ManagedObjectPoolSourceclass name or an alias to aManagedObjectPoolSourceclass.node-Nodefor reporting issues.- Returns:
ManagedObjectPoolSourceclass, ornullwith issues reported to theCompilerIssuesof thisNodeContext.
-
getManagedObjectPoolLoader
public ManagedObjectPoolLoader getManagedObjectPoolLoader(ManagedObjectPoolNode node, OfficeNode officeNode, boolean isLoadingType)
Description copied from interface:NodeContextObtains theManagedObjectPoolLoader.- Specified by:
getManagedObjectPoolLoaderin interfaceNodeContext- Parameters:
node-Noderequiring theManagedObjectPoolLoader.officeNode-OfficeNodecontaining theManagedObjectPool. May benullif 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:NodeContextCreates theManagedObjectPoolNode.- Specified by:
createManagedObjectPoolNodein interfaceNodeContext- Parameters:
managedObjectPoolName- Name of theManagedObjectPoolNode.officeFloorNode- ParentOfficeFloorNode.- Returns:
ManagedObjectPoolNode.
-
createManagedObjectPoolNode
public ManagedObjectPoolNode createManagedObjectPoolNode(java.lang.String managedObjectPoolName, OfficeNode officeNode)
Description copied from interface:NodeContextCreates theManagedObjectPoolNode.- Specified by:
createManagedObjectPoolNodein interfaceNodeContext- Parameters:
managedObjectPoolName- Name of theManagedObjectPoolNode.officeNode- ParentOfficeNode.- Returns:
ManagedObjectPoolNode.
-
createManagedObjectPoolNode
public ManagedObjectPoolNode createManagedObjectPoolNode(java.lang.String managedObjectPoolName, SectionNode sectionNode)
Description copied from interface:NodeContextCreates theManagedObjectPoolNode.- Specified by:
createManagedObjectPoolNodein 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:NodeContextObtains theSupplierSourceclass.- Specified by:
getSupplierSourceClassin interfaceNodeContext- Type Parameters:
S-SupplierSourcetype.- Parameters:
supplierSourceClassName-SupplierSourceclass name or an alias to aSupplierSourceclass.node-Noderequiring theSupplierSourceclass.- Returns:
SupplierSourceclass, ornullwith issues reported to theCompilerIssuesof thisNodeContext.
-
getSupplierLoader
public SupplierLoader getSupplierLoader(SupplierNode node, boolean isLoadingType)
Description copied from interface:NodeContextObtains theSupplierLoader.- Specified by:
getSupplierLoaderin interfaceNodeContext- Parameters:
node-Noderequiring 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:NodeContextCreates theSupplierThreadLocalNode.- Specified by:
createSupplierThreadLocalNodein interfaceNodeContext- Parameters:
qualifier- Qualifier. May benullif 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:NodeContextCreates theSuppliedManagedObjectSourceNode.- Specified by:
createSuppliedManagedObjectSourceNodein interfaceNodeContext- Parameters:
qualifier- Qualifier. May benullif no qualifier.type- Type.supplier- ParentSupplierNode.- Returns:
SuppliedManagedObjectSourceNode.
-
createSupplierNode
public SupplierNode createSupplierNode(java.lang.String supplierName, OfficeFloorNode officeFloor)
Description copied from interface:NodeContextCreates theSupplierNode.- Specified by:
createSupplierNodein interfaceNodeContext- Parameters:
supplierName- Name of theSupplierNode.officeFloor- ParentOfficeFloorNode.- Returns:
SupplierNode.
-
createSupplierNode
public SupplierNode createSupplierNode(java.lang.String supplierName, OfficeNode office)
Description copied from interface:NodeContextCreates theSupplierNode.- Specified by:
createSupplierNodein 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:NodeContextObtains theAdministrationSourceclass.- Specified by:
getAdministrationSourceClassin interfaceNodeContext- Type Parameters:
S-AdministrationSourcetype.- Parameters:
administrationSourceName-AdministrationSourceclass name or an alias to anAdministrationSourceclass.node-Noderequiring theAdministrationSourceclass.- Returns:
AdministrationSourceclass, ornullwith issues reported to theCompilerIssuesof thisNodeContext.
-
getAdministrationLoader
public AdministrationLoader getAdministrationLoader(AdministrationNode node, boolean isLoadingType)
Description copied from interface:NodeContextObtains theAdministrationLoader.- Specified by:
getAdministrationLoaderin interfaceNodeContext- Parameters:
node-Noderequiring theAdministrationLoader.isLoadingType- Indicates if using to load type.- Returns:
AdministrationLoader.
-
createAdministrationNode
public AdministrationNode createAdministrationNode(java.lang.String administrationName, OfficeNode office)
Description copied from interface:NodeContextCreates aAdministrationNode.- Specified by:
createAdministrationNodein interfaceNodeContext- Parameters:
administrationName- Name of theAdministration.office-OfficeNodecontaining thisAdministration.- Returns:
AdministrationNode.
-
getGovernanceSourceClass
public <S extends GovernanceSource<?,?>> java.lang.Class<S> getGovernanceSourceClass(java.lang.String governanceSourceName, GovernanceNode node)
Description copied from interface:NodeContextObtains theGovernanceSourceclass.- Specified by:
getGovernanceSourceClassin interfaceNodeContext- Type Parameters:
S-GovernanceSourcetype.- Parameters:
governanceSourceName-GovernanceSourceclass name or an alias to anGovernanceSourceclass.node-Noderequiring theGovernanceSourceclass.- Returns:
GovernanceSourceclass, ornullwith issues reported to theCompilerIssuesof thisNodeContext.
-
getGovernanceLoader
public GovernanceLoader getGovernanceLoader(GovernanceNode node, boolean isLoadingType)
Description copied from interface:NodeContextObtains theGovernanceLoader.- Specified by:
getGovernanceLoaderin interfaceNodeContext- Parameters:
node-Noderequiring theGovernanceLoader.isLoadingType- Indicates using for loading type.- Returns:
GovernanceLoader.
-
createGovernanceNode
public GovernanceNode createGovernanceNode(java.lang.String governanceName, OfficeNode office)
Description copied from interface:NodeContextCreates aGovernanceNode.- Specified by:
createGovernanceNodein interfaceNodeContext- Parameters:
governanceName- Name of theGovernance.office-OfficeNodecontaining thisGovernance.- Returns:
GovernanceNode.
-
getTeamSourceClass
public <S extends TeamSource> java.lang.Class<S> getTeamSourceClass(java.lang.String teamSourceName, TeamNode node)
Description copied from interface:NodeContextObtains theTeamSourceclass.- Specified by:
getTeamSourceClassin interfaceNodeContext- Type Parameters:
S-TeamSourcetype.- Parameters:
teamSourceName-TeamSourceclass name or an alias to aTeamSourceclass.node-Noderequiring theTeamSourceclass.- Returns:
TeamSourceclass, ornullwith issues reported to theCompilerIssuesof thisNodeContext.
-
getTeamLoader
public TeamLoader getTeamLoader(TeamNode node)
Description copied from interface:NodeContextObtains theTeamLoader.- Specified by:
getTeamLoaderin interfaceNodeContext- Parameters:
node-Noderequiring theTeamLoader.- Returns:
TeamLoader.
-
createTeamNode
public TeamNode createTeamNode(java.lang.String teamName, OfficeFloorNode officeFloor)
Description copied from interface:NodeContextCreates theTeamNode.- Specified by:
createTeamNodein 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:NodeContextObtains theExecutiveSourceclass.- Specified by:
getExecutiveSourceClassin interfaceNodeContext- Type Parameters:
S-ExecutiveSourcetype.- Parameters:
executiveSourceClassName-ExecutiveSourceclass name or an alias to aExecutiveSourceclass.node-Noderequiring theExecutiveSourceclass.- Returns:
ExecutiveSourceclass, ornullwith issues reported to theCompilerIssuesof thisNodeContext.
-
getExecutiveLoader
public ExecutiveLoader getExecutiveLoader(ExecutiveNode node)
Description copied from interface:NodeContextObtains theExecutiveNode.- Specified by:
getExecutiveLoaderin interfaceNodeContext- Parameters:
node-Noderequiring theExecutiveLoader.- Returns:
ExecutiveLoader.
-
createExecutiveNode
public ExecutiveNode createExecutiveNode(OfficeFloorNode officeFloor)
Description copied from interface:NodeContextCreates theExecutiveNode.- Specified by:
createExecutiveNodein interfaceNodeContext- Parameters:
officeFloor- ParentOfficeFloorNode.- Returns:
ExecutiveNode.
-
createExecutionStrategyNode
public ExecutionStrategyNode createExecutionStrategyNode(java.lang.String executionStrategyName, ExecutiveNode executive)
Description copied from interface:NodeContextCreates theExecutionStrategyNode.- Specified by:
createExecutionStrategyNodein 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:NodeContextCreates theFunctionFlowNode.- Specified by:
createFunctionFlowNodein 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:NodeContextCreates theFunctionObjectNode.- Specified by:
createFunctionObjectNodein interfaceNodeContext- Parameters:
objectName- Name of theFunctionObjectNode.functionNode- ParentManagedFunctionNode.- Returns:
FunctionObjectNode.
-
createResponsibleTeamNode
public ResponsibleTeamNode createResponsibleTeamNode(java.lang.String teamName, ManagedFunctionNode function)
Description copied from interface:NodeContextCreates theResponsibleTeamNode.- Specified by:
createResponsibleTeamNodein interfaceNodeContext- Parameters:
teamName- Name of theResponsibleTeamNode.function- ParentManagedFunctionNode.- Returns:
ResponsibleTeamNode.
-
createFunctionNode
public ManagedFunctionNode createFunctionNode(java.lang.String functionName, SectionNode section)
Description copied from interface:NodeContextCreates theManagedFunctionNode.- Specified by:
createFunctionNodein interfaceNodeContext- Parameters:
functionName- Name of theManagedFunctionNode.section- ParentSectionNode.- Returns:
ManagedFunctionNode.
-
createFunctionNamespaceNode
public FunctionNamespaceNode createFunctionNamespaceNode(java.lang.String functionNamespaceName, SectionNode section)
Description copied from interface:NodeContextCreates theFunctionNamespaceNode.- Specified by:
createFunctionNamespaceNodein interfaceNodeContext- Parameters:
functionNamespaceName- Name of theFunctionNamespaceNode.section- ParentSectionNode.- Returns:
FunctionNamespaceNode.
-
-