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 Details

    • 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.
    • getType

      public Class<T> getType()
      Returns:
      the backing class for the ClassModel
    • 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 a PropertyModel 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 the PropertyModel 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
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object