Class PropertyModelBuilder<T>

  • Type Parameters:
    T - the type of the property

    public final class PropertyModelBuilder<T>
    extends Object
    A builder for programmatically creating PropertyModels.
    Since:
    3.5
    See Also:
    PropertyModel
    • Method Detail

      • getName

        public String getName()
        Returns:
        the property name
      • getReadName

        public String getReadName()
        Returns:
        the name of the property to use as the key when deserializing the data from BSON.
      • readName

        public PropertyModelBuilder<T> readName​(String readName)
        Sets the readName, the key for this property when deserializing the data from BSON.

        Note: A null means this property will not used when deserializing.

        Parameters:
        readName - the name of the property to use as the key when deserializing the data from BSON.
        Returns:
        this
      • getWriteName

        public String getWriteName()
        Returns:
        the name of the property to use as the key when serializing the data into BSON.
      • writeName

        public PropertyModelBuilder<T> writeName​(String writeName)
        Sets the writeName, the key for this property when serializing the data into BSON.

        Note: A null means this property will not be serialized.

        Parameters:
        writeName - the name of the property to use as the key when serializing the data into BSON.
        Returns:
        this
      • codec

        public PropertyModelBuilder<T> codec​(Codec<T> codec)
        Sets a custom codec for the property
        Parameters:
        codec - the custom codec for the property
        Returns:
        this
      • getReadAnnotations

        public List<Annotation> getReadAnnotations()
        Returns the read annotations, to be applied when serializing to BSON
        Returns:
        the read annotations
      • readAnnotations

        public PropertyModelBuilder<T> readAnnotations​(List<Annotation> annotations)
        Sets the read annotations, to be applied when serializing to BSON
        Parameters:
        annotations - the read annotations
        Returns:
        this
      • getWriteAnnotations

        public List<Annotation> getWriteAnnotations()
        Returns the write annotations, to be applied when deserializing from BSON
        Returns:
        the write annotations
      • writeAnnotations

        public PropertyModelBuilder<T> writeAnnotations​(List<Annotation> writeAnnotations)
        Sets the writeAnnotations, to be applied when deserializing from BSON
        Parameters:
        writeAnnotations - the writeAnnotations
        Returns:
        this
      • isWritable

        public boolean isWritable()
        Property is writable.
        Returns:
        true if can be deserialized from BSON
      • isReadable

        public boolean isReadable()
        Property is readable.
        Returns:
        true if can be serialized to BSON
      • isDiscriminatorEnabled

        public Boolean isDiscriminatorEnabled()
        Returns:
        true or false if a discriminator should be used when serializing or null if not set
      • discriminatorEnabled

        public PropertyModelBuilder<T> discriminatorEnabled​(boolean discriminatorEnabled)
        Enables or disables the use of a discriminator when serializing
        Parameters:
        discriminatorEnabled - the useDiscriminator value
        Returns:
        this
      • getBsonRepresentation

        public BsonType getBsonRepresentation()
        Returns the BsonRepresentation
        Returns:
        the BsonRepresentation
        Since:
        4.2
      • bsonRepresentation

        public PropertyModelBuilder<T> bsonRepresentation​(BsonType bsonRepresentation)
        Sets the BsonRepresentation
        Parameters:
        bsonRepresentation - the BsonRepresentation
        Returns:
        this
        Since:
        4.2