public abstract class AbstractPersistentProperty<P extends PersistentProperty<P>> extends Object implements PersistentProperty<P>
PersistentProperty.| Constructor and Description |
|---|
AbstractPersistentProperty(Property property,
PersistentEntity<?,P> owner,
SimpleTypeHolder simpleTypeHolder) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract Association<P> |
createAssociation() |
boolean |
equals(Object obj) |
Class<?> |
getActualType()
Returns the actual type of the property.
|
protected TypeInformation<?> |
getActualTypeInformation() |
Association<P> |
getAssociation() |
Class<?> |
getAssociationTargetType()
Return the type the property refers to in case it's an association, i.e.
|
TypeInformation<?> |
getAssociationTargetTypeInformation()
Return the type the property refers to in case it's an association, i.e.
|
Class<?> |
getComponentType()
Returns the component type of the type if it is a
Collection. |
Field |
getField() |
Method |
getGetter()
Returns the getter method to access the property value if available.
|
Class<?> |
getMapValueType()
Returns the type of the values if the property is a
Map. |
String |
getName()
The name of the property
|
PersistentEntity<?,P> |
getOwner()
Returns the
PersistentEntity owning the current PersistentProperty. |
Iterable<? extends TypeInformation<?>> |
getPersistentEntityTypeInformation()
Returns the detected
TypeInformations if the property references a
PersistentEntity. |
Iterable<? extends TypeInformation<?>> |
getPersistentEntityTypes()
Returns the
TypeInformation if the property references a PersistentEntity. |
protected Property |
getProperty() |
Class<?> |
getRawType()
Returns the raw type as it's pulled from from the reflected property.
|
Method |
getSetter()
Returns the setter method to set a property value.
|
String |
getSpelExpression() |
Class<?> |
getType()
The type of the property
|
TypeInformation<?> |
getTypeInformation()
Returns the
TypeInformation of the property. |
Method |
getWither()
Returns the with
Method to set a property value on a new object instance. |
int |
hashCode() |
boolean |
isArray()
Returns whether the property is an array.
|
boolean |
isAssociation()
Returns whether the property is an
Association. |
boolean |
isCollectionLike()
Returns whether the property is a
Collection, Iterable or an array. |
boolean |
isEntity()
Returns whether the type of the
PersistentProperty is actually to be regarded as PersistentEntity
in turn. |
boolean |
isImmutable()
Returns whether the current property is immutable, i.e. if there is no setter or the backing
Field is
final. |
boolean |
isMap()
Returns whether the property is a
Map. |
boolean |
isTransient()
Returns whether the property is transient.
|
boolean |
isWritable()
Returns whether the current property is writable, i.e. if the value held for it shall be written to the data store.
|
String |
toString() |
boolean |
usePropertyAccess()
Returns whether property access shall be used for reading the property value.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, waitfindAnnotation, findPropertyOrOwnerAnnotation, getAccessorForOwner, getRequiredAnnotation, getRequiredAssociation, getRequiredField, getRequiredGetter, getRequiredSetter, getRequiredWither, hasActualTypeAnnotation, isAnnotationPresent, isIdProperty, isVersionPropertypublic AbstractPersistentProperty(Property property, PersistentEntity<?,P> owner, SimpleTypeHolder simpleTypeHolder)
protected abstract Association<P> createAssociation()
public PersistentEntity<?,P> getOwner()
PersistentPropertyPersistentEntity owning the current PersistentProperty.getOwner in interface PersistentProperty<P extends PersistentProperty<P>>public String getName()
PersistentPropertygetName in interface PersistentProperty<P extends PersistentProperty<P>>public Class<?> getType()
PersistentPropertygetType in interface PersistentProperty<P extends PersistentProperty<P>>public Class<?> getRawType()
PersistentPropertygetRawType in interface PersistentProperty<P extends PersistentProperty<P>>public TypeInformation<?> getTypeInformation()
PersistentPropertyTypeInformation of the property.getTypeInformation in interface PersistentProperty<P extends PersistentProperty<P>>public Iterable<? extends TypeInformation<?>> getPersistentEntityTypes()
PersistentPropertyTypeInformation if the property references a PersistentEntity. Will return
null in case it refers to a simple type. Will return Collection's component type or the
Map's value type transparently.getPersistentEntityTypes in interface PersistentProperty<P extends PersistentProperty<P>>public Iterable<? extends TypeInformation<?>> getPersistentEntityTypeInformation()
PersistentPropertyTypeInformations if the property references a
PersistentEntity. Will return an empty Iterable in case it refers to a simple type. Will
return the Collection's component types or the Map's value type transparently.getPersistentEntityTypeInformation in interface PersistentProperty<P extends PersistentProperty<P>>@Nullable public Method getGetter()
PersistentPropertygetGetter in interface PersistentProperty<P extends PersistentProperty<P>>@Nullable public Method getSetter()
PersistentPropertygetSetter in interface PersistentProperty<P extends PersistentProperty<P>>@Nullable public Method getWither()
PersistentPropertyMethod to set a property value on a new object instance. Might return null in
case there is no with available.
With methods are property-bound instance methods that accept a single argument of the
property type creating a new object instance.
class Person {
final String id;
final String name;
// …
Person withName(String name) {
return new Person(this.id, name);
}
}
getWither in interface PersistentProperty<P extends PersistentProperty<P>>Method to set a property value on a new object instance if available, otherwise
null.@Nullable public Field getField()
getField in interface PersistentProperty<P extends PersistentProperty<P>>@Nullable public String getSpelExpression()
getSpelExpression in interface PersistentProperty<P extends PersistentProperty<P>>public boolean isTransient()
PersistentPropertyisTransient in interface PersistentProperty<P extends PersistentProperty<P>>public boolean isWritable()
PersistentPropertyisWritable in interface PersistentProperty<P extends PersistentProperty<P>>public boolean isImmutable()
PersistentPropertyField is
final.isImmutable in interface PersistentProperty<P extends PersistentProperty<P>>Modifier.isFinal(int)public boolean isAssociation()
PersistentPropertyAssociation.isAssociation in interface PersistentProperty<P extends PersistentProperty<P>>@Nullable public Association<P> getAssociation()
getAssociation in interface PersistentProperty<P extends PersistentProperty<P>>Association.@Nullable public Class<?> getAssociationTargetType()
PersistentPropertyPersistentProperty.isAssociation() returns
true. That means, that implementations must return a non-null value from this method
in that case. We also recommend to return null for non-associations right away to establish symmetry
between this method and PersistentProperty.isAssociation().getAssociationTargetType in interface PersistentProperty<P extends PersistentProperty<P>>PersistentProperty.isAssociation() returns
true.@Nullable public TypeInformation<?> getAssociationTargetTypeInformation()
PersistentPropertyPersistentProperty.isAssociation() returns
true. That means, that implementations must return a non-null value from this method
in that case. We also recommend to return null for non-associations right away to establish symmetry
between this method and PersistentProperty.isAssociation().getAssociationTargetTypeInformation in interface PersistentProperty<P extends PersistentProperty<P>>PersistentProperty.isAssociation() returns
true.public boolean isCollectionLike()
PersistentPropertyCollection, Iterable or an array.isCollectionLike in interface PersistentProperty<P extends PersistentProperty<P>>public boolean isMap()
PersistentPropertyMap.isMap in interface PersistentProperty<P extends PersistentProperty<P>>public boolean isArray()
PersistentPropertyisArray in interface PersistentProperty<P extends PersistentProperty<P>>public boolean isEntity()
PersistentPropertyPersistentProperty is actually to be regarded as PersistentEntity
in turn.isEntity in interface PersistentProperty<P extends PersistentProperty<P>>PersistentEntity.@Nullable public Class<?> getComponentType()
PersistentPropertyCollection. Will return the type of the key if
the property is a Map.getComponentType in interface PersistentProperty<P extends PersistentProperty<P>>Collection nor
Map.@Nullable public Class<?> getMapValueType()
PersistentPropertyMap.getMapValueType in interface PersistentProperty<P extends PersistentProperty<P>>Mappublic Class<?> getActualType()
PersistentPropertygetActualType in interface PersistentProperty<P extends PersistentProperty<P>>public boolean usePropertyAccess()
PersistentPropertyusePropertyAccess in interface PersistentProperty<P extends PersistentProperty<P>>protected Property getProperty()
protected TypeInformation<?> getActualTypeInformation()
Copyright © 2011–2023 Pivotal Software, Inc.. All rights reserved.