Class MicroserviceBuilder<L,​R extends FactoryBase<L,​R>,​S>

  • Type Parameters:
    L - root liveobject
    R - Root
    S - Summary

    public class MicroserviceBuilder<L,​R extends FactoryBase<L,​R>,​S>
    extends java.lang.Object
    Microservice without a persistence data storage default setup uses the InMemoryDataStorage
    • Method Detail

      • 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 - path
        maxConfigurationHistory - maximum number of historical configuration to keep
        Returns:
        builder
      • 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 - singletonPreviousDataClass
        previousAttributeName - previousAttributeName
        valueClass - valueClass
        setter - 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 - path
        setter - setter
        Returns:
        builder