Class PropertyModelBuilder<T>

  • Type Parameters:
    T - the type of the property

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

      • getName

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

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

        public PropertyModelBuilder<T> readName​(java.lang.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 java.lang.String getWriteName()
        Returns:
        the name of the property to use as the key when serializing the data into BSON.
      • writeName

        public PropertyModelBuilder<T> writeName​(java.lang.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 java.util.List<java.lang.annotation.Annotation> getReadAnnotations()
        Returns the read annotations, to be applied when serializing to BSON
        Returns:
        the read annotations
      • readAnnotations

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

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

        public PropertyModelBuilder<T> writeAnnotations​(java.util.List<java.lang.annotation.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 java.lang.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
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object