Package org.bson.codecs.pojo
Class ClassModel<T>
- java.lang.Object
-
- org.bson.codecs.pojo.ClassModel<T>
-
- Type Parameters:
T
- The type of the class the ClassModel represents
public final class ClassModel<T> extends Object
This model represents the metadata for a class and all its properties.- Since:
- 3.5
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <S> ClassModelBuilder<S>
builder(Class<S> type)
Creates a new Class Model builder instance using reflection.boolean
equals(Object o)
String
getDiscriminator()
Returns the discriminator key.String
getDiscriminatorKey()
Gets the value for the discriminator.PropertyModel<?>
getIdPropertyModel()
Returns thePropertyModel
mapped as the id property for this ClassModelString
getName()
Returns the name of the class represented by this ClassModelPropertyModel<?>
getPropertyModel(String propertyName)
Gets aPropertyModel
by the property name.List<PropertyModel<?>>
getPropertyModels()
Returns all the properties on this modelClass<T>
getType()
int
hashCode()
boolean
hasTypeParameters()
String
toString()
boolean
useDiscriminator()
-
-
-
Method Detail
-
builder
public static <S> ClassModelBuilder<S> builder(Class<S> type)
Creates a new Class Model builder instance using reflection.- Type Parameters:
S
- the type of the class- Parameters:
type
- the POJO class to reflect and configure the builder with.- Returns:
- a new Class Model builder instance using reflection on the
clazz
.
-
hasTypeParameters
public boolean hasTypeParameters()
- Returns:
- true if the underlying type has type parameters.
-
useDiscriminator
public boolean useDiscriminator()
- Returns:
- true if a discriminator should be used when storing the data.
-
getDiscriminatorKey
public String getDiscriminatorKey()
Gets the value for the discriminator.- Returns:
- the discriminator value or null if not set
-
getDiscriminator
public String getDiscriminator()
Returns the discriminator key.- Returns:
- the discriminator key or null if not set
-
getPropertyModel
public PropertyModel<?> getPropertyModel(String propertyName)
Gets aPropertyModel
by the property name.- Parameters:
propertyName
- the PropertyModel's property name- Returns:
- the PropertyModel or null if the property is not found
-
getPropertyModels
public List<PropertyModel<?>> getPropertyModels()
Returns all the properties on this model- Returns:
- the list of properties
-
getIdPropertyModel
public PropertyModel<?> getIdPropertyModel()
Returns thePropertyModel
mapped as the id property for this ClassModel- Returns:
- the PropertyModel for the id
-
getName
public String getName()
Returns the name of the class represented by this ClassModel- Returns:
- the name
-
-