Class OfficeFloorCompiler
- java.lang.Object
-
- net.officefloor.compile.OfficeFloorCompiler
-
- All Implemented Interfaces:
Node,PropertyConfigurable
- Direct Known Subclasses:
OfficeFloorCompilerAdapter,OfficeFloorCompilerImpl
public abstract class OfficeFloorCompiler extends java.lang.Object implements Node, PropertyConfigurable
OfficeFloor compiler to compile the
OfficeFloorinto theOfficeFrameto be built.This is the starting point to use the compiler.
- Author:
- Daniel Sagenschneider
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceOfficeFloorCompiler.OfficeFloorCompilerFactoryFactory to create theOfficeFloorCompiler.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringIMPLEMENTATION_CLASS_PROPERTY_NAMEstatic java.lang.StringTYPENodetype.
-
Constructor Summary
Constructors Constructor Description OfficeFloorCompiler()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract <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.abstract voidaddAutoWireStateManagerVisitor(AutoWireStateManagerVisitor autoWireStateManagerVisitor)Adds anAutoWireStateManagerVisitor.voidaddEnvProperties()Convenience method to add all thePropertyinstances fromSystem.getenv().abstract <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.abstract <S extends ManagedFunctionSource>
voidaddManagedFunctionSourceAlias(java.lang.String alias, java.lang.Class<S> managedFunctionSourceClass)Allows providing an alias name for aManagedFunctionSource.abstract <S extends ManagedObjectPoolSource>
voidaddManagedObjectPoolSourceAlias(java.lang.String alias, java.lang.Class<S> managedObjectPoolSourceClass)Allows providing an alias name for aManagedObjectPoolSource.abstract <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.abstract voidaddOfficeFloorListener(OfficeFloorListener officeFloorListener)Adds anOfficeFloorListener.abstract <S extends OfficeSource>
voidaddOfficeSourceAlias(java.lang.String alias, java.lang.Class<S> officeSourceClass)Allows providing an alias name for anOfficeSource.abstract voidaddProfile(java.lang.String profile)Adds a profile.abstract voidaddProfiler(java.lang.String officeName, Profiler profiler)abstract voidaddResources(ResourceSource resourceSource)Adds aResourceSource.abstract <S extends SectionSource>
voidaddSectionSourceAlias(java.lang.String alias, java.lang.Class<S> sectionSourceClass)Allows providing an alias name for aSectionSource.voidaddSourceAliases()Adds the aliases for the source classes.abstract <S extends SupplierSource>
voidaddSupplierSourceAlias(java.lang.String alias, java.lang.Class<S> supplierSourceClass)Allows providing an alias name for aSupplierSource.voidaddSystemProperties()Convenience method to add all thePropertyinstances fromSystem.getProperties().abstract <S extends TeamSource>
voidaddTeamSourceAlias(java.lang.String alias, java.lang.Class<S> teamSourceClass)Allows providing an alias name for aTeamSource.abstract OfficeFloorcompile(java.lang.String officeFloorName)Compiles and builds theOfficeFloor.abstract booleanconfigureOfficeFloorCompiler()Runs theOfficeFloorCompilerConfigurerinstances to configure thisOfficeFloorCompiler.abstract PropertyListcreatePropertyList()Creates a new emptyPropertyList.abstract SourceContextcreateRootSourceContext()Creates a rootSourceContext.abstract AdministrationLoadergetAdministrationLoader()Obtains theAdministrationLoader.Node[]getChildNodes()Obtains the childNodeinstances.java.lang.ClassLoadergetClassLoader()Obtains theClassLoaderfor thisOfficeFloorCompiler.abstract CompilerIssuesgetCompilerIssues()Obtains theCompilerIssues.abstract ExecutiveLoadergetExecutiveLoader()Obtains theExecutiveLoader.abstract GovernanceLoadergetGovernanceLoader()Obtains theGovernanceLoader.java.lang.StringgetLocation()Obtains the location of theNode.abstract ManagedFunctionLoadergetManagedFunctionLoader()Obtains theManagedFunctionLoader.abstract ManagedObjectLoadergetManagedObjectLoader()Obtains theManagedObjectLoader.abstract ManagedObjectPoolLoadergetManagedObjectPoolLoader()Obtains theManagedObjectPoolLoader.java.lang.StringgetNodeName()Obtains the name of theNode.java.lang.StringgetNodeType()Obtains theNodetype.abstract OfficeFloorLoadergetOfficeFloorLoader()Obtains theOfficeFloorLoader.abstract OfficeLoadergetOfficeLoader()Obtains theOfficeLoader.NodegetParentNode()java.lang.StringgetQualifiedName(java.lang.String name)Obtains the qualified name for childNode.abstract SectionLoadergetSectionLoader()Obtains theSectionLoader.abstract SupplierLoadergetSupplierLoader()Obtains theSupplierLoader.abstract TeamLoadergetTeamLoader()Obtains theTeamLoader.abstract TypeLoadergetTypeLoader()Obtains theTypeLoader.booleanisInitialised()Indicates if theNodehas been initialised.static OfficeFloorCompilernewOfficeFloorCompiler(java.lang.ClassLoader implClassLoader)Creates a new instance of aOfficeFloorCompiler.static PropertyListnewPropertyList()Convenience method to create a newPropertyList.<T> Trun(java.lang.Class<? extends OfficeFloorCompilerRunnable<T>> runnableClass, java.lang.Object... parameters)Executes theOfficeFloorCompilerRunnableby instantiating it with the sameClassLoaderbeing used by thisOfficeFloorCompiler.protected voidsetClassLoader(java.lang.ClassLoader classLoader)Specifies theClassLoader.abstract voidsetClockFactory(ClockFactory clockFactory)Specifies theClockFactory.abstract voidsetCompilerIssues(CompilerIssues issues)Overrides the defaultCompilerIssuesto use in compiling theOfficeFloor.abstract voidsetEscalationHandler(EscalationHandler escalationHandler)Overrides the defaultEscalationHandler.static voidsetFactory(OfficeFloorCompiler.OfficeFloorCompilerFactory factory)Specifies theOfficeFloorCompiler.OfficeFloorCompilerFactory.abstract voidsetMBeanRegistrator(MBeanRegistrator mbeanRegistrator)Specifies theMBeanRegistrator.abstract voidsetOfficeFloorLocation(java.lang.String officeFloorLocation)Specifies the location of theOfficeFloor.abstract voidsetOfficeFloorSource(OfficeFloorSource officeFloorSource)Specifies theOfficeFloorSourceinstance to use for compiling theOfficeFloor.abstract <S extends OfficeFloorSource>
voidsetOfficeFloorSourceClass(java.lang.Class<S> officeFloorSourceClass)Overrides the defaultOfficeFloorSourceto source theOfficeFloor.abstract voidsetOfficeFrame(OfficeFrame officeFrame)Overrides the defaultOfficeFramefor building theOfficeFloor.abstract voidsetOverridePropertiesDirectory(java.io.File propertiesDirectory)Specifies a directory containing override properties.-
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
-
Methods inherited from interface net.officefloor.compile.properties.PropertyConfigurable
addProperty
-
-
-
-
Field Detail
-
TYPE
public static final java.lang.String TYPE
Nodetype.- See Also:
- Constant Field Values
-
IMPLEMENTATION_CLASS_PROPERTY_NAME
public static final java.lang.String IMPLEMENTATION_CLASS_PROPERTY_NAME
System.getProperty(String)that allows specifying theOfficeFloorCompilerimplementationClass.Should this not be specified the default
OfficeFloorCompilerImplwill be used.Note: it is anticipated that
OfficeFloorCompilerImplwill always be used.- See Also:
- Constant Field Values
-
-
Method Detail
-
setFactory
public static final void setFactory(OfficeFloorCompiler.OfficeFloorCompilerFactory factory)
Specifies the
OfficeFloorCompiler.OfficeFloorCompilerFactory. Allows for overriding the default behaviour in creating anOfficeFloorCompiler.Typically this should not be called however is included to enable flexibility in creating
OfficeFloorCompilerinstances.- Parameters:
factory-OfficeFloorCompiler.OfficeFloorCompilerFactory.
-
newOfficeFloorCompiler
public static final OfficeFloorCompiler newOfficeFloorCompiler(java.lang.ClassLoader implClassLoader)
Creates a new instance of aOfficeFloorCompiler.- Parameters:
implClassLoader-ClassLoaderto use for theOfficeFloor. May benullwhich will default to use the currentThread.getContextClassLoader().- Returns:
- New
OfficeFloorCompiler.
-
newPropertyList
public static final PropertyList newPropertyList()
Convenience method to create a newPropertyList.- Returns:
- New
PropertyList.
-
getClassLoader
public final java.lang.ClassLoader getClassLoader()
Obtains theClassLoaderfor thisOfficeFloorCompiler.- Returns:
ClassLoaderfor thisOfficeFloorCompiler.
-
setClassLoader
protected final void setClassLoader(java.lang.ClassLoader classLoader) throws java.lang.IllegalArgumentExceptionSpecifies the
ClassLoader.To ensure
Classcompatibility, theClassLoadermust be a child of the existingClassLoader.- Parameters:
classLoader- ChildClassLoader.- Throws:
java.lang.IllegalArgumentException- IfClassLoadernot a child of the existingClassLoader.
-
run
public <T> T run(java.lang.Class<? extends OfficeFloorCompilerRunnable<T>> runnableClass, java.lang.Object... parameters) throws java.lang.Exception
Executes the
OfficeFloorCompilerRunnableby instantiating it with the sameClassLoaderbeing used by thisOfficeFloorCompiler.This is typically used by graphical editors that need to use the project class path rather than the editor's class path.
- Type Parameters:
T- Return type.- Parameters:
runnableClass-OfficeFloorCompilerRunnableclass.parameters- Parameters to enable configuration of theOfficeFloorCompilerRunnable. AsProxyinstances are used to bridgeClasscompatibility issues due to differentClassLoader, all parameters should only be access via their implementing interfaces.- Returns:
- Value returned from the
OfficeFloorCompilerRunnable. - Throws:
java.lang.Exception- If fails to run theOfficeFloorCompilerRunnable.
-
addSystemProperties
public void addSystemProperties()
Convenience method to add all the
Propertyinstances fromSystem.getProperties().PropertyConfigurable.addProperty(String, String)will be invoked for eachProperty.
-
addEnvProperties
public void addEnvProperties()
Convenience method to add all the
Propertyinstances fromSystem.getenv().PropertyConfigurable.addProperty(String, String)will be invoked for eachProperty.
-
addSourceAliases
public void addSourceAliases()
Adds the aliases for the source classes.
-
getNodeName
public java.lang.String getNodeName()
Description copied from interface:NodeObtains the name of theNode.- Specified by:
getNodeNamein interfaceNode- Returns:
- Name of the
Node.
-
getNodeType
public java.lang.String getNodeType()
Description copied from interface:NodeObtains theNodetype.- Specified by:
getNodeTypein interfaceNode- Returns:
Nodetype.
-
getLocation
public java.lang.String getLocation()
Description copied from interface:NodeObtains the location of theNode.- Specified by:
getLocationin interfaceNode- Returns:
- Location of the
Node. May benullifNodedoes not support a location.
-
getParentNode
public Node getParentNode()
Description copied from interface:Node- Specified by:
getParentNodein interfaceNode- Returns:
Nodecontaining thisNode.
-
getQualifiedName
public java.lang.String getQualifiedName(java.lang.String name)
Description copied from interface:NodeObtains the qualified name for childNode.- Specified by:
getQualifiedNamein interfaceNode- Parameters:
name- Name of childNode.- Returns:
- Name qualified by this
Node.
-
getChildNodes
public Node[] getChildNodes()
Description copied from interface:NodeObtains the childNodeinstances.- Specified by:
getChildNodesin interfaceNode- Returns:
- Child
Nodeinstances.
-
isInitialised
public boolean isInitialised()
Description copied from interface:NodeIndicates if theNodehas been initialised.Nodeinstances should only be initialised once. Initialising theNodetwice is an issue.- Specified by:
isInitialisedin interfaceNode- Returns:
trueif initialised.
-
setClockFactory
public abstract void setClockFactory(ClockFactory clockFactory)
Specifies the
ClockFactory.This will be added to the
OfficeFramebefore compiling theOfficeFloorand will be available in theSourceContextfor retrievingClockinstances.- Parameters:
clockFactory-ClockFactory.
-
addResources
public abstract void addResources(ResourceSource resourceSource)
Adds a
ResourceSource.This will be added to the
OfficeFramebefore compiling theOfficeFloorand will be available in theSourceContextfor loading the various sources.- Parameters:
resourceSource-ResourceSource.
-
setEscalationHandler
public abstract void setEscalationHandler(EscalationHandler escalationHandler)
Overrides the default
EscalationHandler.This will be specified on the
OfficeFramebefore compiling theOfficeFloor.- Parameters:
escalationHandler-EscalationHandler.
-
setCompilerIssues
public abstract void setCompilerIssues(CompilerIssues issues)
Overrides the default
CompilerIssuesto use in compiling theOfficeFloor.Implementations of
OfficeFloorCompilermust provide a defaultCompilerIssues. Typically this will be an implementation that writes issues toSystem.err.- Parameters:
issues-CompilerIssues.
-
setOfficeFrame
public abstract void setOfficeFrame(OfficeFrame officeFrame)
Overrides the default
OfficeFramefor building theOfficeFloor.Should this not be called the
OfficeFloorCompilerimplementation should use theOfficeFrame.getInstance()to build theOfficeFloor.- Parameters:
officeFrame-OfficeFrame.
-
setOfficeFloorSourceClass
public abstract <S extends OfficeFloorSource> void setOfficeFloorSourceClass(java.lang.Class<S> officeFloorSourceClass)
Overrides 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.- Type Parameters:
S-OfficeFloorSourcetype.- Parameters:
officeFloorSourceClass-OfficeFloorSourceClass.
-
setOfficeFloorSource
public abstract void setOfficeFloorSource(OfficeFloorSource officeFloorSource)
Specifies the
OfficeFloorSourceinstance to use for compiling theOfficeFloor.This will take precedence over specifying the
OfficeFloorSourceclass.- Parameters:
officeFloorSource-OfficeFloorSource.
-
setOfficeFloorLocation
public abstract void setOfficeFloorLocation(java.lang.String officeFloorLocation)
Specifies the location of theOfficeFloor.- Parameters:
officeFloorLocation- Location of theOfficeFloor.
-
addProfile
public abstract void addProfile(java.lang.String profile)
Adds a profile.- Parameters:
profile- Profile.
-
addOfficeSourceAlias
public abstract <S extends OfficeSource> void addOfficeSourceAlias(java.lang.String alias, java.lang.Class<S> officeSourceClass)
Allows 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.- Type Parameters:
S-OfficeSourcetype.- Parameters:
alias- Alias name for theOfficeSource.officeSourceClass-OfficeSourceClassfor the alias.
-
addSectionSourceAlias
public abstract <S extends SectionSource> void addSectionSourceAlias(java.lang.String alias, java.lang.Class<S> sectionSourceClass)
Allows 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.- Type Parameters:
S-SectionSourcetype.- Parameters:
alias- Alias name for theSectionSource.sectionSourceClass-SectionSourceClassfor the alias.
-
addManagedFunctionSourceAlias
public abstract <S extends ManagedFunctionSource> void addManagedFunctionSourceAlias(java.lang.String alias, java.lang.Class<S> managedFunctionSourceClass)
Allows 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.- Type Parameters:
S-ManagedFunctionSourcetype.- Parameters:
alias- Alias name for theManagedFunctionSource.managedFunctionSourceClass-ManagedFunctionSourceClassfor the alias.
-
addManagedObjectSourceAlias
public abstract <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)
Allows 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.- Type Parameters:
D- Dependency type keys.F-Flowtype keys.S-ManagedObjectSourcetype.- Parameters:
alias- Alias name for theManagedObjectSource.managedObjectSourceClass-ManagedObjectSourceClassfor the alias.
-
addManagedObjectPoolSourceAlias
public abstract <S extends ManagedObjectPoolSource> void addManagedObjectPoolSourceAlias(java.lang.String alias, java.lang.Class<S> managedObjectPoolSourceClass)
Allows 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.- Type Parameters:
S-ManagedObjectPoolSourcetype.- Parameters:
alias- Alias name for theManagedObjectPoolSource.managedObjectPoolSourceClass-ManagedObjectPoolSourceClassfor the alias.
-
addSupplierSourceAlias
public abstract <S extends SupplierSource> void addSupplierSourceAlias(java.lang.String alias, java.lang.Class<S> supplierSourceClass)
Allows 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.- Type Parameters:
S-SupplierSourcetype.- Parameters:
alias- Alias name for theSupplierSource.supplierSourceClass-SupplierSourceClassfor the alias.
-
addAdministrationSourceAlias
public abstract <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)
Allows 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.- 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 abstract <I,F extends java.lang.Enum<F>,S extends GovernanceSource<I,F>> void addGovernanceSourceAlias(java.lang.String alias, java.lang.Class<S> governanceSourceClass)
Allows 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.- Type Parameters:
I- Extension interface type.F-Flowtype keys.S-GovernanceSourcetype.- Parameters:
alias- Alias name for theGovernanceSource.governanceSourceClass-GovernanceSourceClassfor the alias.
-
addTeamSourceAlias
public abstract <S extends TeamSource> void addTeamSourceAlias(java.lang.String alias, java.lang.Class<S> teamSourceClass)
Allows 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.- Type Parameters:
S-TeamSourcetype.- Parameters:
alias- Alias name for theTeamSource.teamSourceClass-TeamSourceClassfor the alias.
-
addProfiler
public abstract void addProfiler(java.lang.String officeName, Profiler profiler)
-
setOverridePropertiesDirectory
public abstract void setOverridePropertiesDirectory(java.io.File propertiesDirectory)
Specifies a directory containing override properties.
The files within the directory are properties files with the naming convention: <fully-qualified-name>.properties
- Parameters:
propertiesDirectory- Directory containing the override properties.
-
setMBeanRegistrator
public abstract void setMBeanRegistrator(MBeanRegistrator mbeanRegistrator)
Specifies theMBeanRegistrator.- Parameters:
mbeanRegistrator-MBeanRegistrator.
-
addOfficeFloorListener
public abstract void addOfficeFloorListener(OfficeFloorListener officeFloorListener)
Adds anOfficeFloorListener.- Parameters:
officeFloorListener-OfficeFloorListener.
-
addAutoWireStateManagerVisitor
public abstract void addAutoWireStateManagerVisitor(AutoWireStateManagerVisitor autoWireStateManagerVisitor)
Adds anAutoWireStateManagerVisitor.- Parameters:
autoWireStateManagerVisitor-AutoWireStateManagerVisitor.
-
createPropertyList
public abstract PropertyList createPropertyList()
Creates a new emptyPropertyList.- Returns:
- New empty
PropertyList.
-
createRootSourceContext
public abstract SourceContext createRootSourceContext()
Creates a rootSourceContext.- Returns:
- Root
SourceContext.
-
getCompilerIssues
public abstract CompilerIssues getCompilerIssues()
Obtains theCompilerIssues.- Returns:
CompilerIssues.
-
getTypeLoader
public abstract TypeLoader getTypeLoader()
Obtains theTypeLoader.- Returns:
TypeLoader.
-
getOfficeFloorLoader
public abstract OfficeFloorLoader getOfficeFloorLoader()
Obtains theOfficeFloorLoader.- Returns:
OfficeFloorLoader.
-
getOfficeLoader
public abstract OfficeLoader getOfficeLoader()
Obtains theOfficeLoader.- Returns:
OfficeLoader.
-
getSectionLoader
public abstract SectionLoader getSectionLoader()
Obtains theSectionLoader.- Returns:
SectionLoader.
-
getManagedFunctionLoader
public abstract ManagedFunctionLoader getManagedFunctionLoader()
Obtains theManagedFunctionLoader.- Returns:
ManagedFunctionLoader.
-
getManagedObjectLoader
public abstract ManagedObjectLoader getManagedObjectLoader()
Obtains theManagedObjectLoader.- Returns:
ManagedObjectLoader.
-
getSupplierLoader
public abstract SupplierLoader getSupplierLoader()
Obtains theSupplierLoader.- Returns:
SupplierLoader.
-
getGovernanceLoader
public abstract GovernanceLoader getGovernanceLoader()
Obtains theGovernanceLoader.- Returns:
GovernanceLoader.
-
getManagedObjectPoolLoader
public abstract ManagedObjectPoolLoader getManagedObjectPoolLoader()
Obtains theManagedObjectPoolLoader.- Returns:
ManagedObjectPoolLoader.
-
getAdministrationLoader
public abstract AdministrationLoader getAdministrationLoader()
Obtains theAdministrationLoader.- Returns:
AdministrationLoader.
-
getTeamLoader
public abstract TeamLoader getTeamLoader()
Obtains theTeamLoader.- Returns:
TeamLoader.
-
getExecutiveLoader
public abstract ExecutiveLoader getExecutiveLoader()
Obtains theExecutiveLoader.- Returns:
ExecutiveLoader.
-
configureOfficeFloorCompiler
public abstract boolean configureOfficeFloorCompiler()
Runs 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.
- Returns:
trueif configured.falsewith issue reported to theCompilerIssues.
-
compile
public abstract OfficeFloor compile(java.lang.String officeFloorName)
Compiles and builds theOfficeFloor.- Parameters:
officeFloorName- Name of theOfficeFloor.- Returns:
OfficeFloorornullif issues in compiling which are reported to theCompilerIssues.
-
-