Package org.bson.codecs.pojo
Class PropertyModelBuilder<T>
- java.lang.Object
-
- org.bson.codecs.pojo.PropertyModelBuilder<T>
-
- Type Parameters:
T- the type of the property
public final class PropertyModelBuilder<T> extends Object
A builder for programmatically creatingPropertyModels.- Since:
- 3.5
- See Also:
PropertyModel
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PropertyModel<T>build()Creates thePropertyModel.PropertyModelBuilder<T>codec(Codec<T> codec)Sets a custom codec for the propertyPropertyModelBuilder<T>discriminatorEnabled(boolean discriminatorEnabled)Enables or disables the use of a discriminator when serializingStringgetName()PropertyAccessor<T>getPropertyAccessor()Returns thePropertyAccessorPropertySerialization<T>getPropertySerialization()List<Annotation>getReadAnnotations()Returns the read annotations, to be applied when serializing to BSONStringgetReadName()List<Annotation>getWriteAnnotations()Returns the write annotations, to be applied when deserializing from BSONStringgetWriteName()BooleanisDiscriminatorEnabled()booleanisReadable()Property is readable.booleanisWritable()Property is writable.PropertyModelBuilder<T>propertyAccessor(PropertyAccessor<T> propertyAccessor)Sets thePropertyAccessorPropertyModelBuilder<T>propertySerialization(PropertySerialization<T> propertySerialization)Sets thePropertySerializationcheckerPropertyModelBuilder<T>readAnnotations(List<Annotation> annotations)Sets the read annotations, to be applied when serializing to BSONPropertyModelBuilder<T>readName(String readName)Sets the readName, the key for this property when deserializing the data from BSON.StringtoString()PropertyModelBuilder<T>writeAnnotations(List<Annotation> writeAnnotations)Sets the writeAnnotations, to be applied when deserializing from BSONPropertyModelBuilder<T>writeName(String writeName)Sets the writeName, the key for this property when serializing the data into BSON.
-
-
-
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
-
propertySerialization
public PropertyModelBuilder<T> propertySerialization(PropertySerialization<T> propertySerialization)
Sets thePropertySerializationchecker- Parameters:
propertySerialization- checks if a property should be serialized- Returns:
- this
-
getPropertySerialization
public PropertySerialization<T> getPropertySerialization()
- Returns:
- the
PropertySerializationchecker
-
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
-
getPropertyAccessor
public PropertyAccessor<T> getPropertyAccessor()
Returns thePropertyAccessor- Returns:
- the PropertyAccessor
-
propertyAccessor
public PropertyModelBuilder<T> propertyAccessor(PropertyAccessor<T> propertyAccessor)
Sets thePropertyAccessor- Parameters:
propertyAccessor- the PropertyAccessor- Returns:
- this
-
build
public PropertyModel<T> build()
Creates thePropertyModel.- Returns:
- the PropertyModel
-
-