Class SpringBootOfficeFloorSource
- All Implemented Interfaces:
OfficeFloorSource
AbstractOfficeFloorSource for Spring Boot.-
Nested Class Summary
Nested classes/interfaces inherited from class net.officefloor.compile.spi.officefloor.source.impl.AbstractOfficeFloorSource
AbstractOfficeFloorSource.SpecificationContext -
Constructor Summary
ConstructorsConstructorDescriptionSpringBootOfficeFloorSource(com.fasterxml.jackson.databind.ObjectMapper objectMapper, List<OfficeFloorRestEndpoint> restEndpoints, org.springframework.context.ConfigurableApplicationContext applicationContext, io.swagger.v3.oas.models.OpenAPI openApi) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidloadSpecification(AbstractOfficeFloorSource.SpecificationContext specificationContext) Loads theOfficeFloorSourceSpecification.voidsourceOfficeFloor(OfficeFloorDeployer officeFloorDeployer, OfficeFloorSourceContext officeFloorSourceContext) Sources theOfficeFloorby deploying it via the inputOfficeFloorDeployer.voidspecifyConfigurationProperties(RequiredProperties requiredProperties, OfficeFloorSourceContext officeFloorSourceContext) Obtains from theOfficeFloorSourceany additionalPropertyinstances required to source theOfficeFloorafter interrogating the configuration.Methods inherited from class net.officefloor.compile.spi.officefloor.source.impl.AbstractOfficeFloorSource
getSpecification
-
Constructor Details
-
SpringBootOfficeFloorSource
public SpringBootOfficeFloorSource(com.fasterxml.jackson.databind.ObjectMapper objectMapper, List<OfficeFloorRestEndpoint> restEndpoints, org.springframework.context.ConfigurableApplicationContext applicationContext, io.swagger.v3.oas.models.OpenAPI openApi) - Parameters:
objectMapper-ObjectMapper.restEndpoints- REST endpoints.applicationContext-ConfigurableApplicationContext.openApi-OpenAPI.
-
-
Method Details
-
loadSpecification
protected void loadSpecification(AbstractOfficeFloorSource.SpecificationContext specificationContext) Description copied from class:AbstractOfficeFloorSourceLoads theOfficeFloorSourceSpecification.- Specified by:
loadSpecificationin classAbstractOfficeFloorSource- Parameters:
specificationContext-AbstractOfficeFloorSource.SpecificationContext.
-
specifyConfigurationProperties
public void specifyConfigurationProperties(RequiredProperties requiredProperties, OfficeFloorSourceContext officeFloorSourceContext) throws Exception Description copied from interface:OfficeFloorSourceObtains from the
OfficeFloorSourceany additionalPropertyinstances required to source theOfficeFloorafter interrogating the configuration.This method is a separate initial step from the
OfficeFloorSource.sourceOfficeFloor(OfficeFloorDeployer, OfficeFloorSourceContext)method to enable specifying any requiredPropertyinstances once the necessaryConfigurationIteminstances have been interrogated.Typically this allows environment specific properties to be defined externally so that deployment configuration need not be repeated per environment. In other words, one set of deployment configuration with properties providing the differences between the environments.
This also enables sensitive properties, such as
passwords, to not be contained in deployment configuration but within a "secure" location.- Parameters:
requiredProperties- Populated by theOfficeFloorSourcewith any additionalPropertyinstances required to source theOfficeFloor.officeFloorSourceContext-OfficeFloorSourceContextpopulated withPropertyinstances as per theOfficeFloorSourceSpecification.- Throws:
Exception- If fails to initialise theOfficeFloorSource.
-
sourceOfficeFloor
public void sourceOfficeFloor(OfficeFloorDeployer officeFloorDeployer, OfficeFloorSourceContext officeFloorSourceContext) throws Exception Description copied from interface:OfficeFloorSourceSources theOfficeFloorby deploying it via the inputOfficeFloorDeployer.- Parameters:
officeFloorDeployer-OfficeFloorDeployerto deploy theOfficeFloor.officeFloorSourceContext-OfficeFloorSourceContextpopulated with thePropertyinstances as per theOfficeFloorSourceSpecificationandRequiredProperties. Should there be a name clash between the two, theRequiredPropertiesPropertywill be used.- Throws:
Exception- If fails to source theOfficeFloor.
-