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
OfficeFloor
into theOfficeFrame
to 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 interface
OfficeFloorCompiler.OfficeFloorCompilerFactory
Factory to create theOfficeFloorCompiler
.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
IMPLEMENTATION_CLASS_PROPERTY_NAME
static java.lang.String
TYPE
Node
type.
-
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 void
addAutoWireStateManagerVisitor(AutoWireStateManagerVisitor autoWireStateManagerVisitor)
Adds anAutoWireStateManagerVisitor
.void
addEnvProperties()
Convenience method to add all theProperty
instances 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 void
addOfficeFloorListener(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 void
addProfile(java.lang.String profile)
Adds a profile.abstract void
addProfiler(java.lang.String officeName, Profiler profiler)
abstract void
addResources(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
.void
addSourceAliases()
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
.void
addSystemProperties()
Convenience method to add all theProperty
instances fromSystem.getProperties()
.abstract <S extends TeamSource>
voidaddTeamSourceAlias(java.lang.String alias, java.lang.Class<S> teamSourceClass)
Allows providing an alias name for aTeamSource
.abstract OfficeFloor
compile(java.lang.String officeFloorName)
Compiles and builds theOfficeFloor
.abstract boolean
configureOfficeFloorCompiler()
Runs theOfficeFloorCompilerConfigurer
instances to configure thisOfficeFloorCompiler
.abstract PropertyList
createPropertyList()
Creates a new emptyPropertyList
.abstract SourceContext
createRootSourceContext()
Creates a rootSourceContext
.abstract AdministrationLoader
getAdministrationLoader()
Obtains theAdministrationLoader
.Node[]
getChildNodes()
Obtains the childNode
instances.java.lang.ClassLoader
getClassLoader()
Obtains theClassLoader
for thisOfficeFloorCompiler
.abstract CompilerIssues
getCompilerIssues()
Obtains theCompilerIssues
.abstract ExecutiveLoader
getExecutiveLoader()
Obtains theExecutiveLoader
.abstract GovernanceLoader
getGovernanceLoader()
Obtains theGovernanceLoader
.java.lang.String
getLocation()
Obtains the location of theNode
.abstract ManagedFunctionLoader
getManagedFunctionLoader()
Obtains theManagedFunctionLoader
.abstract ManagedObjectLoader
getManagedObjectLoader()
Obtains theManagedObjectLoader
.abstract ManagedObjectPoolLoader
getManagedObjectPoolLoader()
Obtains theManagedObjectPoolLoader
.java.lang.String
getNodeName()
Obtains the name of theNode
.java.lang.String
getNodeType()
Obtains theNode
type.abstract OfficeFloorLoader
getOfficeFloorLoader()
Obtains theOfficeFloorLoader
.abstract OfficeLoader
getOfficeLoader()
Obtains theOfficeLoader
.Node
getParentNode()
java.lang.String
getQualifiedName(java.lang.String name)
Obtains the qualified name for childNode
.abstract SectionLoader
getSectionLoader()
Obtains theSectionLoader
.abstract SupplierLoader
getSupplierLoader()
Obtains theSupplierLoader
.abstract TeamLoader
getTeamLoader()
Obtains theTeamLoader
.abstract TypeLoader
getTypeLoader()
Obtains theTypeLoader
.boolean
isInitialised()
Indicates if theNode
has been initialised.static OfficeFloorCompiler
newOfficeFloorCompiler(java.lang.ClassLoader implClassLoader)
Creates a new instance of aOfficeFloorCompiler
.static PropertyList
newPropertyList()
Convenience method to create a newPropertyList
.<T> T
run(java.lang.Class<? extends OfficeFloorCompilerRunnable<T>> runnableClass, java.lang.Object... parameters)
Executes theOfficeFloorCompilerRunnable
by instantiating it with the sameClassLoader
being used by thisOfficeFloorCompiler
.protected void
setClassLoader(java.lang.ClassLoader classLoader)
Specifies theClassLoader
.abstract void
setClockFactory(ClockFactory clockFactory)
Specifies theClockFactory
.abstract void
setCompilerIssues(CompilerIssues issues)
Overrides the defaultCompilerIssues
to use in compiling theOfficeFloor
.abstract void
setEscalationHandler(EscalationHandler escalationHandler)
Overrides the defaultEscalationHandler
.static void
setFactory(OfficeFloorCompiler.OfficeFloorCompilerFactory factory)
Specifies theOfficeFloorCompiler.OfficeFloorCompilerFactory
.abstract void
setMBeanRegistrator(MBeanRegistrator mbeanRegistrator)
Specifies theMBeanRegistrator
.abstract void
setOfficeFloorLocation(java.lang.String officeFloorLocation)
Specifies the location of theOfficeFloor
.abstract void
setOfficeFloorSource(OfficeFloorSource officeFloorSource)
Specifies theOfficeFloorSource
instance to use for compiling theOfficeFloor
.abstract <S extends OfficeFloorSource>
voidsetOfficeFloorSourceClass(java.lang.Class<S> officeFloorSourceClass)
Overrides the defaultOfficeFloorSource
to source theOfficeFloor
.abstract void
setOfficeFrame(OfficeFrame officeFrame)
Overrides the defaultOfficeFrame
for building theOfficeFloor
.abstract void
setOverridePropertiesDirectory(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
Node
type.- 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 theOfficeFloorCompiler
implementationClass
.Should this not be specified the default
OfficeFloorCompilerImpl
will be used.Note: it is anticipated that
OfficeFloorCompilerImpl
will 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
OfficeFloorCompiler
instances.- Parameters:
factory
-OfficeFloorCompiler.OfficeFloorCompilerFactory
.
-
newOfficeFloorCompiler
public static final OfficeFloorCompiler newOfficeFloorCompiler(java.lang.ClassLoader implClassLoader)
Creates a new instance of aOfficeFloorCompiler
.- Parameters:
implClassLoader
-ClassLoader
to use for theOfficeFloor
. May benull
which 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 theClassLoader
for thisOfficeFloorCompiler
.- Returns:
ClassLoader
for thisOfficeFloorCompiler
.
-
setClassLoader
protected final void setClassLoader(java.lang.ClassLoader classLoader) throws java.lang.IllegalArgumentException
Specifies the
ClassLoader
.To ensure
Class
compatibility, theClassLoader
must be a child of the existingClassLoader
.- Parameters:
classLoader
- ChildClassLoader
.- Throws:
java.lang.IllegalArgumentException
- IfClassLoader
not 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
OfficeFloorCompilerRunnable
by instantiating it with the sameClassLoader
being 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
-OfficeFloorCompilerRunnable
class.parameters
- Parameters to enable configuration of theOfficeFloorCompilerRunnable
. AsProxy
instances are used to bridgeClass
compatibility 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
Property
instances fromSystem.getProperties()
.PropertyConfigurable.addProperty(String, String)
will be invoked for eachProperty
.
-
addEnvProperties
public void addEnvProperties()
Convenience method to add all the
Property
instances 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:Node
Obtains the name of theNode
.- Specified by:
getNodeName
in interfaceNode
- Returns:
- Name of the
Node
.
-
getNodeType
public java.lang.String getNodeType()
Description copied from interface:Node
Obtains theNode
type.- Specified by:
getNodeType
in interfaceNode
- Returns:
Node
type.
-
getLocation
public java.lang.String getLocation()
Description copied from interface:Node
Obtains the location of theNode
.- Specified by:
getLocation
in interfaceNode
- Returns:
- Location of the
Node
. May benull
ifNode
does not support a location.
-
getParentNode
public Node getParentNode()
Description copied from interface:Node
- Specified by:
getParentNode
in interfaceNode
- Returns:
Node
containing thisNode
.
-
getQualifiedName
public java.lang.String getQualifiedName(java.lang.String name)
Description copied from interface:Node
Obtains the qualified name for childNode
.- Specified by:
getQualifiedName
in interfaceNode
- Parameters:
name
- Name of childNode
.- Returns:
- Name qualified by this
Node
.
-
getChildNodes
public Node[] getChildNodes()
Description copied from interface:Node
Obtains the childNode
instances.- Specified by:
getChildNodes
in interfaceNode
- Returns:
- Child
Node
instances.
-
isInitialised
public boolean isInitialised()
Description copied from interface:Node
Indicates if theNode
has been initialised.Node
instances should only be initialised once. Initialising theNode
twice is an issue.- Specified by:
isInitialised
in interfaceNode
- Returns:
true
if initialised.
-
setClockFactory
public abstract void setClockFactory(ClockFactory clockFactory)
Specifies the
ClockFactory
.This will be added to the
OfficeFrame
before compiling theOfficeFloor
and will be available in theSourceContext
for retrievingClock
instances.- Parameters:
clockFactory
-ClockFactory
.
-
addResources
public abstract void addResources(ResourceSource resourceSource)
Adds a
ResourceSource
.This will be added to the
OfficeFrame
before compiling theOfficeFloor
and will be available in theSourceContext
for loading the various sources.- Parameters:
resourceSource
-ResourceSource
.
-
setEscalationHandler
public abstract void setEscalationHandler(EscalationHandler escalationHandler)
Overrides the default
EscalationHandler
.This will be specified on the
OfficeFrame
before compiling theOfficeFloor
.- Parameters:
escalationHandler
-EscalationHandler
.
-
setCompilerIssues
public abstract void setCompilerIssues(CompilerIssues issues)
Overrides the default
CompilerIssues
to use in compiling theOfficeFloor
.Implementations of
OfficeFloorCompiler
must provide a defaultCompilerIssues
. Typically this will be an implementation that writes issues toSystem.err
.- Parameters:
issues
-CompilerIssues
.
-
setOfficeFrame
public abstract void setOfficeFrame(OfficeFrame officeFrame)
Overrides the default
OfficeFrame
for building theOfficeFloor
.Should this not be called the
OfficeFloorCompiler
implementation 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
OfficeFloorSource
to source theOfficeFloor
.OfficeFloorCompiler
implementations must provide a defaultOfficeFloorSource
implementation. The choice ofOfficeFloorSource
implementation is left to theOfficeFloorCompiler
, however it should be clearly documented on theOfficeFloorCompiler
implementation whichOfficeFloorSource
implementation is being used.- Type Parameters:
S
-OfficeFloorSource
type.- Parameters:
officeFloorSourceClass
-OfficeFloorSource
Class
.
-
setOfficeFloorSource
public abstract void setOfficeFloorSource(OfficeFloorSource officeFloorSource)
Specifies the
OfficeFloorSource
instance to use for compiling theOfficeFloor
.This will take precedence over specifying the
OfficeFloorSource
class.- 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
OfficeSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
OfficeSourceService
is the preferred means to provideOfficeSource
aliases.- Type Parameters:
S
-OfficeSource
type.- Parameters:
alias
- Alias name for theOfficeSource
.officeSourceClass
-OfficeSource
Class
for 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
SectionSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
SectionSourceService
is the preferred means to provideSectionSource
aliases.- Type Parameters:
S
-SectionSource
type.- Parameters:
alias
- Alias name for theSectionSource
.sectionSourceClass
-SectionSource
Class
for 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
ManagedFunctionSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
ManagedFunctionSourceService
is the preferred means to provideManagedFunctionSource
aliases.- Type Parameters:
S
-ManagedFunctionSource
type.- Parameters:
alias
- Alias name for theManagedFunctionSource
.managedFunctionSourceClass
-ManagedFunctionSource
Class
for 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
ManagedObjectSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
ManagedObjectSourceService
is the preferred means to provideManagedObjectSource
aliases.- Type Parameters:
D
- Dependency type keys.F
-Flow
type keys.S
-ManagedObjectSource
type.- Parameters:
alias
- Alias name for theManagedObjectSource
.managedObjectSourceClass
-ManagedObjectSource
Class
for the alias.
-
addManagedObjectPoolSourceAlias
public 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
ManagedObjectPoolSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
ManagedObjectSourceService
is the preferred means to provideManagedObjectSource
aliases.- Type Parameters:
S
-ManagedObjectPoolSource
type.- Parameters:
alias
- Alias name for theManagedObjectPoolSource
.managedObjectPoolSourceClass
-ManagedObjectPoolSource
Class
for 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
SupplierSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
SupplierSourceService
is the preferred means to provideSupplierSource
aliases.- Type Parameters:
S
-SupplierSource
type.- Parameters:
alias
- Alias name for theSupplierSource
.supplierSourceClass
-SupplierSource
Class
for 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
AdministrationSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
AdministrationSourceService
is the preferred means to provideAdministrationSource
aliases.- Type Parameters:
E
- Extension interface type.F
-Flow
keys for theAdministration
.G
-Governance
keys for theAdministration
.S
-AdministrationSource
type.- Parameters:
alias
- Alias name for theAdministrationSource
.administrationSourceClass
-AdministrationSource
Class
for the alias.
-
addGovernanceSourceAlias
public 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
GovernanceSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
GovernanceSourceService
is the preferred means to provideGovernanceSource
aliases.- Type Parameters:
I
- Extension interface type.F
-Flow
type keys.S
-GovernanceSource
type.- Parameters:
alias
- Alias name for theGovernanceSource
.governanceSourceClass
-GovernanceSource
Class
for the alias.
-
addTeamSourceAlias
public 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
TeamSource
classes. This is anticipated to allow flexibility as the functionality evolves so that relocating/renaming classes does not require significant configuration changes.Typically this should not be used directly as the
TeamSourceService
is the preferred means to provideTeamSource
aliases.- Type Parameters:
S
-TeamSource
type.- Parameters:
alias
- Alias name for theTeamSource
.teamSourceClass
-TeamSource
Class
for 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
OfficeFloorCompilerConfigurer
instances to configure thisOfficeFloorCompiler
.This is always run before a compile. However, may not be run for loaders. This allows running if just loading types.
- Returns:
true
if configured.false
with issue reported to theCompilerIssues
.
-
compile
public abstract OfficeFloor compile(java.lang.String officeFloorName)
Compiles and builds theOfficeFloor
.- Parameters:
officeFloorName
- Name of theOfficeFloor
.- Returns:
OfficeFloor
ornull
if issues in compiling which are reported to theCompilerIssues
.
-
-