Spring Data Core

org.springframework.data.mapping
Interface PersistentProperty<P extends PersistentProperty<P>>

All Known Implementing Classes:
AbstractPersistentProperty, AnnotationBasedPersistentProperty

public interface PersistentProperty<P extends PersistentProperty<P>>

Author:
Graeme Rocher, Jon Brisbin, Oliver Gierke

Method Summary
 Class<?> getActualType()
          Returns the actual type of the property.
 Association<P> getAssociation()
           
 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()
           
 Iterable<? extends TypeInformation<?>> getPersistentEntityType()
          Returns the TypeInformation if the property references a PersistentEntity.
 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.
 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 isIdProperty()
          Returns whether the property is a potential identifier property of the owning PersistentEntity.
 boolean isMap()
          Returns whether the property is a Map.
 boolean isTransient()
          Returns whether the property is transient.
 boolean isVersionProperty()
          Returns whether the current property is a potential version property of the owning PersistentEntity.
 boolean shallBePersisted()
           
 

Method Detail

getOwner

PersistentEntity<?,P> getOwner()

getName

String getName()
The name of the property

Returns:
The property name

getType

Class<?> getType()
The type of the property

Returns:
The property type

getTypeInformation

TypeInformation<?> getTypeInformation()
Returns the TypeInformation of the property.

Returns:

getPersistentEntityType

Iterable<? extends TypeInformation<?>> getPersistentEntityType()
Returns the TypeInformation 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.

Returns:

getGetter

Method getGetter()
Returns the getter method to access the property value if available. Might return null in case there is no getter method with a return type assignable to the actual property's type.

Returns:
the getter method to access the property value if available, otherwise null.

getSetter

Method getSetter()
Returns the setter method to set a property value. Might return null in case there is no setter available.


getField

Field getField()

getSpelExpression

String getSpelExpression()

getAssociation

Association<P> getAssociation()

isEntity

boolean isEntity()
Returns whether the type of the PersistentProperty is actually to be regarded as PersistentEntity in turn.

Returns:

isIdProperty

boolean isIdProperty()
Returns whether the property is a potential identifier property of the owning PersistentEntity. This method is mainly used by PersistentEntity implementation to discover id property candidates on PersistentEntity creation you should rather call PersistentEntity.isIdProperty(PersistentProperty) to determine whether the current property is the id property of that PersistentEntity under consideration.

Returns:

isVersionProperty

boolean isVersionProperty()
Returns whether the current property is a potential version property of the owning PersistentEntity. This method is mainly used by PersistentEntity implementation to discover version property candidates on PersistentEntity creation you should rather call PersistentEntity.isVersionProperty(PersistentProperty) to determine whether the current property is the version property of that PersistentEntity under consideration.

Returns:

isCollectionLike

boolean isCollectionLike()
Returns whether the property is a Collection, Iterable or an array.

Returns:

isMap

boolean isMap()
Returns whether the property is a Map.

Returns:

isArray

boolean isArray()
Returns whether the property is an array.

Returns:

isTransient

boolean isTransient()
Returns whether the property is transient.

Returns:

shallBePersisted

boolean shallBePersisted()

isAssociation

boolean isAssociation()
Returns whether the property is an Association.

Returns:

getComponentType

Class<?> getComponentType()
Returns the component type of the type if it is a Collection. Will return the type of the key if the property is a Map.

Returns:
the component type, the map's key type or null if neither Collection nor Map.

getRawType

Class<?> getRawType()
Returns the raw type as it's pulled from from the reflected property.

Returns:
the raw type of the property.

getMapValueType

Class<?> getMapValueType()
Returns the type of the values if the property is a Map.

Returns:
the map's value type or null if no Map

getActualType

Class<?> getActualType()
Returns the actual type of the property. This will be the original property type if no generics were used, the component type for collection-like types and arrays as well as the value type for map properties.

Returns:

Spring Data Core

Copyright © 2011-2013-2013 Pivotal. All Rights Reserved.