T
- The type of the class the ClassModel representspublic final class ClassModel<T>
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
discriminator |
private boolean |
discriminatorEnabled |
private java.lang.String |
discriminatorKey |
private boolean |
hasTypeParameters |
private PropertyModel<?> |
idProperty |
private InstanceCreatorFactory<T> |
instanceCreatorFactory |
private java.lang.String |
name |
private java.util.List<PropertyModel<?>> |
propertyModels |
private java.util.Map<java.lang.String,TypeParameterMap> |
propertyNameToTypeParameterMap |
private java.lang.Class<T> |
type |
Constructor and Description |
---|
ClassModel(java.lang.Class<T> clazz,
java.util.Map<java.lang.String,TypeParameterMap> propertyNameToTypeParameterMap,
InstanceCreatorFactory<T> instanceCreatorFactory,
java.lang.Boolean discriminatorEnabled,
java.lang.String discriminatorKey,
java.lang.String discriminator,
PropertyModel<?> idProperty,
java.util.List<PropertyModel<?>> propertyModels) |
Modifier and Type | Method and Description |
---|---|
static <S> ClassModelBuilder<S> |
builder(java.lang.Class<S> type)
Creates a new Class Model builder instance using reflection.
|
boolean |
equals(java.lang.Object o) |
java.lang.String |
getDiscriminator()
Returns the discriminator key.
|
java.lang.String |
getDiscriminatorKey()
Gets the value for the discriminator.
|
PropertyModel<?> |
getIdPropertyModel()
Returns the
PropertyModel mapped as the id property for this ClassModel |
(package private) InstanceCreator<T> |
getInstanceCreator() |
(package private) InstanceCreatorFactory<T> |
getInstanceCreatorFactory() |
java.lang.String |
getName()
Returns the name of the class represented by this ClassModel
|
PropertyModel<?> |
getPropertyModel(java.lang.String propertyName)
Gets a
PropertyModel by the property name. |
java.util.List<PropertyModel<?>> |
getPropertyModels()
Returns all the properties on this model
|
(package private) java.util.Map<java.lang.String,TypeParameterMap> |
getPropertyNameToTypeParameterMap() |
java.lang.Class<T> |
getType() |
int |
hashCode() |
boolean |
hasTypeParameters() |
java.lang.String |
toString() |
boolean |
useDiscriminator() |
private final java.lang.String name
private final java.lang.Class<T> type
private final boolean hasTypeParameters
private final InstanceCreatorFactory<T> instanceCreatorFactory
private final boolean discriminatorEnabled
private final java.lang.String discriminatorKey
private final java.lang.String discriminator
private final PropertyModel<?> idProperty
private final java.util.List<PropertyModel<?>> propertyModels
private final java.util.Map<java.lang.String,TypeParameterMap> propertyNameToTypeParameterMap
ClassModel(java.lang.Class<T> clazz, java.util.Map<java.lang.String,TypeParameterMap> propertyNameToTypeParameterMap, InstanceCreatorFactory<T> instanceCreatorFactory, java.lang.Boolean discriminatorEnabled, java.lang.String discriminatorKey, java.lang.String discriminator, PropertyModel<?> idProperty, java.util.List<PropertyModel<?>> propertyModels)
public static <S> ClassModelBuilder<S> builder(java.lang.Class<S> type)
S
- the type of the classtype
- the POJO class to reflect and configure the builder with.clazz
.InstanceCreator<T> getInstanceCreator()
public java.lang.Class<T> getType()
public boolean hasTypeParameters()
public boolean useDiscriminator()
public java.lang.String getDiscriminatorKey()
public java.lang.String getDiscriminator()
public PropertyModel<?> getPropertyModel(java.lang.String propertyName)
PropertyModel
by the property name.propertyName
- the PropertyModel's property namepublic java.util.List<PropertyModel<?>> getPropertyModels()
public PropertyModel<?> getIdPropertyModel()
PropertyModel
mapped as the id property for this ClassModelpublic java.lang.String getName()
public java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
InstanceCreatorFactory<T> getInstanceCreatorFactory()
java.util.Map<java.lang.String,TypeParameterMap> getPropertyNameToTypeParameterMap()