Class MicroserviceBuilder<L,R extends FactoryBase<L,R>,S>
- java.lang.Object
-
- io.github.factoryfx.factory.builder.MicroserviceBuilder<L,R,S>
-
- Type Parameters:
L- root liveobjectR- RootS- Summary
public class MicroserviceBuilder<L,R extends FactoryBase<L,R>,S> extends java.lang.ObjectMicroservice without a persistence data storage default setup uses theInMemoryDataStorage
-
-
Constructor Summary
Constructors Constructor Description MicroserviceBuilder(java.lang.Class<R> rootClass, R initialFactory, FactoryTreeBuilder<L,R,S> factoryTreeBuilder, SimpleObjectMapper objectMapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Microservice<L,R,S>build()MigrationManager<R,S>buildMigrationManager()MicroserviceBuilder<L,R,S>withChangeSummaryCreator(ChangeSummaryCreator<R,S> changeSummaryCreator)changeSummaryCreator for history metadataMicroserviceBuilder<L,R,S>withExceptionHandler(FactoryExceptionHandler factoryExceptionHandler)MicroserviceBuilder<L,R,S>withFilesystemStorage(java.nio.file.Path path)with filesystem data storageMicroserviceBuilder<L,R,S>withFilesystemStorage(java.nio.file.Path path, int maxConfigurationHistory)with filesystem data storage<AV> MicroserviceBuilder<L,R,S>withMigrationRestoreAttributeMigration(java.lang.String singletonPreviousDataClass, java.lang.String previousAttributeName, java.lang.Class<AV> valueClass, java.util.function.BiConsumer<R,AV> setter)restore data from removed data/attributes into the current model select data based on Singleton type<LO,F extends FactoryBase<LO,R>>
MicroserviceBuilder<L,R,S>withRenameAttributeMigration(java.lang.Class<F> dataClass, java.lang.String previousAttributeName, java.util.function.Function<F,Attribute<?,?>> attributeNameProvider)MicroserviceBuilder<L,R,S>withRenameClassMigration(java.lang.String previousDataClassNameFullQualified, java.lang.Class<? extends FactoryBase<?,?>> newDataClass)<AV> MicroserviceBuilder<L,R,S>withRestoreAttributeMigration(AttributePathTarget<AV> path, java.util.function.BiConsumer<R,AV> setter)restore data from removed data/attributes into the current model select data based on pathMicroserviceBuilder<L,R,S>withStorage(DataStorageCreator<R,S> dataStorageCreator)
-
-
-
Constructor Detail
-
MicroserviceBuilder
public MicroserviceBuilder(java.lang.Class<R> rootClass, R initialFactory, FactoryTreeBuilder<L,R,S> factoryTreeBuilder, SimpleObjectMapper objectMapper)
-
-
Method Detail
-
build
public Microservice<L,R,S> build()
-
buildMigrationManager
public MigrationManager<R,S> buildMigrationManager()
-
withChangeSummaryCreator
public MicroserviceBuilder<L,R,S> withChangeSummaryCreator(ChangeSummaryCreator<R,S> changeSummaryCreator)
changeSummaryCreator for history metadata- Parameters:
changeSummaryCreator- changeSummaryCreator- Returns:
- builder
-
withFilesystemStorage
public MicroserviceBuilder<L,R,S> withFilesystemStorage(java.nio.file.Path path)
with filesystem data storage- Parameters:
path- path- Returns:
- builder
-
withFilesystemStorage
public MicroserviceBuilder<L,R,S> withFilesystemStorage(java.nio.file.Path path, int maxConfigurationHistory)
with filesystem data storage- Parameters:
path- pathmaxConfigurationHistory- maximum number of historical configuration to keep- Returns:
- builder
-
withStorage
public MicroserviceBuilder<L,R,S> withStorage(DataStorageCreator<R,S> dataStorageCreator)
- Parameters:
dataStorageCreator- data storage- Returns:
- builder
-
withExceptionHandler
public MicroserviceBuilder<L,R,S> withExceptionHandler(FactoryExceptionHandler factoryExceptionHandler)
-
withRenameAttributeMigration
public <LO,F extends FactoryBase<LO,R>> MicroserviceBuilder<L,R,S> withRenameAttributeMigration(java.lang.Class<F> dataClass, java.lang.String previousAttributeName, java.util.function.Function<F,Attribute<?,?>> attributeNameProvider)
-
withRenameClassMigration
public MicroserviceBuilder<L,R,S> withRenameClassMigration(java.lang.String previousDataClassNameFullQualified, java.lang.Class<? extends FactoryBase<?,?>> newDataClass)
-
withMigrationRestoreAttributeMigration
public <AV> MicroserviceBuilder<L,R,S> withMigrationRestoreAttributeMigration(java.lang.String singletonPreviousDataClass, java.lang.String previousAttributeName, java.lang.Class<AV> valueClass, java.util.function.BiConsumer<R,AV> setter)
restore data from removed data/attributes into the current model select data based on Singleton type- Type Parameters:
AV- attribute value- Parameters:
singletonPreviousDataClass- singletonPreviousDataClasspreviousAttributeName- previousAttributeNamevalueClass- valueClasssetter- setter- Returns:
- builder
-
withRestoreAttributeMigration
public <AV> MicroserviceBuilder<L,R,S> withRestoreAttributeMigration(AttributePathTarget<AV> path, java.util.function.BiConsumer<R,AV> setter)
restore data from removed data/attributes into the current model select data based on path- Type Parameters:
AV- attribute value- Parameters:
path- pathsetter- setter- Returns:
- builder
-
-