Package net.officefloor.frame.api.build
Interface OfficeFloorBuilder
- 
- All Known Implementing Classes:
 OfficeFloorBuilderImpl
public interface OfficeFloorBuilderBuilder of anOfficeFloor.- Author:
 - Daniel Sagenschneider
 
 
- 
- 
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <O extends java.lang.Enum<O>,F extends java.lang.Enum<F>,MS extends ManagedObjectSource<O,F>>
ManagedObjectBuilder<F>addManagedObject(java.lang.String managedObjectSourceName, java.lang.Class<MS> managedObjectSourceClass)Adds aManagedObjectSourceto thisOfficeFloorBuilder.<O extends java.lang.Enum<O>,F extends java.lang.Enum<F>>
ManagedObjectBuilder<F>addManagedObject(java.lang.String managedObjectSourceName, ManagedObjectSource<O,F> managedObjectSource)Adds aManagedObjectSourceto thisOfficeFloorBuilder.OfficeBuilderaddOffice(java.lang.String officeName)Adds anOfficeon theOfficeFloor.voidaddOfficeFloorListener(OfficeFloorListener listener)Adds anOfficeFloorListener.voidaddOfficeVisitor(OfficeVisitor visitor)Adds anOfficeVisitor.voidaddProfile(java.lang.String profile)Adds an active profile for theOfficeFloor.voidaddResources(ResourceSource resourceSource)Adds aResourceSourceto locate resources.<TS extends TeamSource>
TeamBuilder<TS>addTeam(java.lang.String teamName, java.lang.Class<TS> teamSourceClass)<TS extends TeamSource>
TeamBuilder<TS>addTeam(java.lang.String teamName, TS teamSource)OfficeFloorbuildOfficeFloor()Builds theOfficeFloor.OfficeFloorbuildOfficeFloor(OfficeFloorIssues issuesListener)Builds theOfficeFloor.voidsetClassLoader(java.lang.ClassLoader classLoader)Allows overriding theClassLoaderprovided to the sources by theSourceContext.voidsetClockFactory(ClockFactory clockFactory)voidsetEscalationHandler(EscalationHandler escalationHandler)Specifies theEscalationHandlerfor issues escalating out of theOfficeinstances.<XS extends ExecutiveSource>
ExecutiveBuilder<XS>setExecutive(java.lang.Class<XS> executiveSourceClass)<XS extends ExecutiveSource>
ExecutiveBuilder<XS>setExecutive(XS executiveSource)voidsetMaxStartupWaitTime(long maxStartupWaitTime)Specifies the maximum time in milliseconds to wait forOfficeFloorto start.voidsetThreadDecorator(java.util.function.Consumer<java.lang.Thread> decorator)Decorates all theThreadinstances created by theTeamSourceContext. 
 - 
 
- 
- 
Method Detail
- 
addProfile
void addProfile(java.lang.String profile)
Adds an active profile for theOfficeFloor.- Parameters:
 profile- Active profile for theOfficeFloor.
 
- 
setClassLoader
void setClassLoader(java.lang.ClassLoader classLoader)
Allows overriding theClassLoaderprovided to the sources by theSourceContext.- Parameters:
 classLoader-ClassLoader.
 
- 
setClockFactory
void setClockFactory(ClockFactory clockFactory)
- Parameters:
 clockFactory-ClockFactory.
 
- 
setMaxStartupWaitTime
void setMaxStartupWaitTime(long maxStartupWaitTime)
Specifies the maximum time in milliseconds to wait forOfficeFloorto start.- Parameters:
 maxStartupWaitTime- Maximum time in milliseconds to wait forOfficeFloorto start.
 
- 
setThreadDecorator
void setThreadDecorator(java.util.function.Consumer<java.lang.Thread> decorator)
Decorates all theThreadinstances created by theTeamSourceContext.- Parameters:
 decorator- Decorates all theThreadinstances created by theTeamSourceContext.
 
- 
addResources
void addResources(ResourceSource resourceSource)
Adds aResourceSourceto locate resources.- Parameters:
 resourceSource-ResourceSource.
 
- 
addOfficeVisitor
void addOfficeVisitor(OfficeVisitor visitor)
Adds anOfficeVisitor.- Parameters:
 visitor-OfficeVisitor.
 
- 
addOfficeFloorListener
void addOfficeFloorListener(OfficeFloorListener listener)
Adds anOfficeFloorListener.- Parameters:
 listener-OfficeFloorListener.
 
- 
addManagedObject
<O extends java.lang.Enum<O>,F extends java.lang.Enum<F>,MS extends ManagedObjectSource<O,F>> ManagedObjectBuilder<F> addManagedObject(java.lang.String managedObjectSourceName, java.lang.Class<MS> managedObjectSourceClass)
Adds aManagedObjectSourceto thisOfficeFloorBuilder.- Type Parameters:
 O- Dependency key type.F- Flow key type.MS-ManagedObjectSourcetype.- Parameters:
 managedObjectSourceName- Name of theManagedObjectSource.managedObjectSourceClass- Class of theManagedObjectSource.- Returns:
 ManagedObjectBuilder.
 
- 
addManagedObject
<O extends java.lang.Enum<O>,F extends java.lang.Enum<F>> ManagedObjectBuilder<F> addManagedObject(java.lang.String managedObjectSourceName, ManagedObjectSource<O,F> managedObjectSource)
Adds aManagedObjectSourceto thisOfficeFloorBuilder.- Type Parameters:
 O- Dependency key type.F- Flow key type.- Parameters:
 managedObjectSourceName- Name of theManagedObjectSource.managedObjectSource-ManagedObjectSourceinstance to use.- Returns:
 ManagedObjectBuilder.
 
- 
addTeam
<TS extends TeamSource> TeamBuilder<TS> addTeam(java.lang.String teamName, java.lang.Class<TS> teamSourceClass)
- Type Parameters:
 TS-TeamSourcetype.- Parameters:
 teamName- Name to register theTeamunder.teamSourceClass-TeamSourceClassto source theTeam.- Returns:
 TeamBuilderto build theTeam.
 
- 
addTeam
<TS extends TeamSource> TeamBuilder<TS> addTeam(java.lang.String teamName, TS teamSource)
- Type Parameters:
 TS-TeamSourcetype.- Parameters:
 teamName- Name to register theTeamunder.teamSource-TeamSourceto source theTeam.- Returns:
 TeamBuilderto build theTeam.
 
- 
setExecutive
<XS extends ExecutiveSource> ExecutiveBuilder<XS> setExecutive(java.lang.Class<XS> executiveSourceClass)
- Type Parameters:
 XS-ExecutiveSourcetype.- Parameters:
 executiveSourceClass-ExecutiveSourceClassto source theExecutive.- Returns:
 ExecutiveBuilderto build theExecutive.
 
- 
setExecutive
<XS extends ExecutiveSource> ExecutiveBuilder<XS> setExecutive(XS executiveSource)
- Type Parameters:
 XS-ExecutiveSourcetype.- Parameters:
 executiveSource-ExecutiveSourceto source theExecutive.- Returns:
 ExecutiveBuilderto build theExecutive.
 
- 
addOffice
OfficeBuilder addOffice(java.lang.String officeName)
Adds anOfficeon theOfficeFloor.- Parameters:
 officeName- Name of theOffice.- Returns:
 OfficeBuilderto build theOffice.
 
- 
setEscalationHandler
void setEscalationHandler(EscalationHandler escalationHandler)
Specifies theEscalationHandlerfor issues escalating out of theOfficeinstances.- Parameters:
 escalationHandler-EscalationHandler.
 
- 
buildOfficeFloor
OfficeFloor buildOfficeFloor(OfficeFloorIssues issuesListener)
Builds theOfficeFloor.- Parameters:
 issuesListener-OfficeFloorIssuesto listen for issues in constructing theOfficeFloor.- Returns:
 - Built 
OfficeFloorif successfully built, ornullif could not constructOfficeFloorwith reasons passed to theOfficeFloorIssues. 
 
- 
buildOfficeFloor
OfficeFloor buildOfficeFloor() throws OfficeFloorBuildException
Builds theOfficeFloor.- Returns:
 - Built 
OfficeFloor. - Throws:
 OfficeFloorBuildException- If fails to build theOfficeFloor.- See Also:
 OfficeFloorBuildException
 
 - 
 
 -