Class EntityModelBuilder<T>

  • Type Parameters:
    T - the entity type

    public class EntityModelBuilder<T>
    extends Object
    Builder for EntityModels
    Since:
    2.0
    Developer note.
    This is an internal item. Its function and presence are subject to change without warning. Its use is highly discouraged.
    • Constructor Detail

      • EntityModelBuilder

        public EntityModelBuilder​(Datastore datastore,
                                  Class<T> type)
        Create a builder
        Parameters:
        datastore - the datastore to use
        type - the entity type
    • Method Detail

      • addModel

        public void addModel​(FieldModelBuilder<?> builder)
        Adds a field to the model
        Parameters:
        builder - the field to add
      • annotations

        public Set<Annotation> annotations()
        Returns:
        the annotation on this model
      • build

        public EntityModel<T> build()
        Creates a new ClassModel instance based on the mapping data provided.
        Returns:
        the new instance
      • discriminator

        public EntityModelBuilder<T> discriminator​(String discriminator)
        Sets the discriminator
        Parameters:
        discriminator - the discriminator
        Returns:
        this
      • discriminator

        public String discriminator()
        Returns:
        the discriminator
      • discriminatorKey

        public EntityModelBuilder<T> discriminatorKey​(String key)
        Sets the mapped key name to use when storing the discriminator value
        Parameters:
        key - the key to use
        Returns:
        this
      • discriminatorKey

        public String discriminatorKey()
        Returns:
        the discriminator key
      • enableDiscriminator

        public EntityModelBuilder<T> enableDiscriminator​(boolean enabled)
        Enables or disables the use of a discriminator when serializing
        Parameters:
        enabled - true to enable the use of a discriminator
        Returns:
        this
      • getAnnotation

        public <A extends Annotation> A getAnnotation​(Class<A> type)
        Type Parameters:
        A - the annotation type
        Parameters:
        type - the annotation class
        Returns:
        the annotation or null if it doesn't exist
      • getType

        public Class<T> getType()
        The type of this model
        Returns:
        the type
      • hasAnnotation

        public boolean hasAnnotation​(Class<? extends Annotation> type)
        Parameters:
        type - the annotation class
        Returns:
        the annotation if it exists
      • idFieldName

        public String idFieldName()
        Returns:
        the name of the id field
      • idFieldName

        public EntityModelBuilder<T> idFieldName​(String name)
        Sets the name of the id field
        Parameters:
        name - the name
        Returns:
        this
      • isDiscriminatorEnabled

        public boolean isDiscriminatorEnabled()
        Returns:
        true if the discriminator is enabled
      • getCollectionName

        protected String getCollectionName()
      • getDatastore

        protected Datastore getDatastore()