Class ComposeEmployer.ComposeArchitectImpl
java.lang.Object
net.officefloor.activity.compose.build.ComposeEmployer.ComposeArchitectImpl
- All Implemented Interfaces:
ComposeArchitect
- Enclosing class:
- ComposeEmployer
protected static class ComposeEmployer.ComposeArchitectImpl
extends Object
implements ComposeArchitect
Implementation of
ComposeArchitect.-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedComposeArchitectImpl(OfficeArchitect architect, OfficeSourceContext sourceContext) Instantiate. -
Method Summary
Modifier and TypeMethodDescriptionprotected <C extends ComposeConfiguration,T>
TaddComposition(String namespace, String itemName, ComposeSource<T, C> source, String resourceName, PropertyList properties, Class<C> configurationClass) Adds a composition.<C extends ComposeConfiguration,T>
TaddComposition(String sectionName, ComposeSource<T, C> source, String resourceName, PropertyList properties, Class<C> configurationClass) Builds the item requiring composition.<T> voidaddCompositions(String namespace, DirectoryItemComposer<T> composer, String resourceDirectory, PropertyList properties, ComposeListener<T> listener) Builds a directory of items requiring composition.voidaddGovernance(String governanceName, OfficeGovernance goverance) AddsOfficeGovernancefor the composition.voidaddInput(String inputName, OfficeSectionInput input) AddsOfficeSectionInputthat will be available to link in composition via#inputName.booleanisCompositionsAvailable(String resourceDirectory, Predicate<String> itemNameFilter) Determines if compositions are available in the resource directory.
-
Constructor Details
-
ComposeArchitectImpl
Instantiate.- Parameters:
architect-OfficeArchitect.sourceContext-OfficeSourceContext.
-
-
Method Details
-
addInput
Description copied from interface:ComposeArchitectAddsOfficeSectionInputthat will be available to link in composition via#inputName.- Specified by:
addInputin interfaceComposeArchitect- Parameters:
inputName- Name for input in composition.input-OfficeSectionInput.
-
addGovernance
Description copied from interface:ComposeArchitectAddsOfficeGovernancefor the composition.- Specified by:
addGovernancein interfaceComposeArchitect- Parameters:
governanceName- Name used in composition for theOfficeGovernance.goverance-OfficeGovernance.
-
addComposition
public <C extends ComposeConfiguration,T> T addComposition(String sectionName, ComposeSource<T, C> source, String resourceName, PropertyList properties, Class<C> configurationClass) throws ExceptionDescription copied from interface:ComposeArchitectBuilds the item requiring composition.- Specified by:
addCompositionin interfaceComposeArchitect- Type Parameters:
C- Configuration type.T- Built item type.- Parameters:
sectionName- Name of theOfficeSectionto contain the composition.source-ComposeSourceto source the item requiring composition.resourceName- Name of resource defining the composition.properties-PropertyListto configure the composition.configurationClass-ClassextendingComposeConfigurationto provide additional configuration for the item being built.- Returns:
- Built item.
- Throws:
Exception- If fails to build item.
-
isCompositionsAvailable
public boolean isCompositionsAvailable(String resourceDirectory, Predicate<String> itemNameFilter) throws Exception Description copied from interface:ComposeArchitectDetermines if compositions are available in the resource directory.- Specified by:
isCompositionsAvailablein interfaceComposeArchitect- Parameters:
resourceDirectory- Name of directory containing the compositions.itemNameFilter-Predicateto filter item names (file name minus extension). Only items whose name passes the filter are considered.- Returns:
trueif at least one matching composition is available.- Throws:
Exception- If fails to check for compositions.
-
addCompositions
public <T> void addCompositions(String namespace, DirectoryItemComposer<T> composer, String resourceDirectory, PropertyList properties, ComposeListener<T> listener) throws Exception Description copied from interface:ComposeArchitectBuilds a directory of items requiring composition.- Specified by:
addCompositionsin interfaceComposeArchitect- Type Parameters:
T- Build item type.- Parameters:
namespace- Namespace to isolate the compositions (SectionSource) instances from other compositions.composer-DirectoryItemComposerto source the items requiring composition.resourceDirectory- Name of directory containing the compositions.properties-PropertyListto configure the compositions.listener-ComposeListenerto receive the built items.- Throws:
Exception- If fails to build the items.
-
addComposition
protected <C extends ComposeConfiguration,T> T addComposition(String namespace, String itemName, ComposeSource<T, C> source, String resourceName, PropertyList properties, Class<C> configurationClass) throws ExceptionAdds a composition.- Type Parameters:
C- Configuration type.T- Composition result type.- Parameters:
namespace- Namespace for the composition.itemName- Name of the item.source-ComposeSource.resourceName- Name of the resource.properties-PropertyList.configurationClass-Classof the configuration.- Returns:
- Composition result.
- Throws:
Exception- If fails to add composition.
-