Class 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 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.
      • 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
      • hashCode

        public int hashCode​()
        Overrides:
        hashCode in class Object