Class CompoundModelSpecificationBuilder


  • public class CompoundModelSpecificationBuilder
    extends java.lang.Object
    • Constructor Detail

      • CompoundModelSpecificationBuilder

        public CompoundModelSpecificationBuilder()
    • Method Detail

      • property

        public java.util.function.Function<java.util.function.Consumer<PropertySpecificationBuilder>,​CompoundModelSpecificationBuilder> property​(@NonNull
                                                                                                                                                       java.lang.String name)
        Provides method to create a property with given name
        Parameters:
        name - - name of the property to create
        Returns:
        returns a function that that provides a consumer for building a property
      • propertyIfExists

        public java.util.function.Function<java.util.function.Consumer<PropertySpecificationBuilder>,​CompoundModelSpecificationBuilder> propertyIfExists​(@NonNull
                                                                                                                                                               java.lang.String name)
        Provides method to maybe create a property with given name. If the property doesnt exist the consumer is a no-op. Whatever we build downstream when the property doesnt exist is thrown away.
        Parameters:
        name - - name of the property to create
        Returns:
        returns a function that that provides a consumer for building a property
      • modelKey

        public CompoundModelSpecificationBuilder modelKey​(@NonNull
                                                          java.util.function.Consumer<ModelKeyBuilder> consumer)
        Provides a fluent builder consumer for building a model key
        Parameters:
        consumer - - builder consumer
        Returns:
        this
      • maxProperties

        public CompoundModelSpecificationBuilder maxProperties​(java.lang.Integer maxProperties)
        Provides override for the max properties. It uses the number of actual properties when not provided.
        Parameters:
        maxProperties - - maximum properties that need to be set
        Returns:
        this
      • minProperties

        public CompoundModelSpecificationBuilder minProperties​(java.lang.Integer minProperties)
        Provides override for the min properties. It uses the number of actual properties when not provided.
        Parameters:
        minProperties - - minimum properties that need to be set
        Returns:
        this
      • discriminator

        public CompoundModelSpecificationBuilder discriminator​(java.lang.String discriminator)
        Inheritance discriminator
        Parameters:
        discriminator - - property to discriminate on
        Returns:
        this