Class EntityProjection<M,D> 
java.lang.Object
org.springframework.data.projection.EntityProjection<M,D> 
- Type Parameters:
- M- the mapped type acting as view onto the domain type.
- D- the domain type.
- All Implemented Interfaces:
- Iterable<EntityProjection.PropertyProjection<?,,- ?>> - Supplier<Stream<EntityProjection.PropertyProjection<?,,- ?>>> - Streamable<EntityProjection.PropertyProjection<?,- ?>> 
- Direct Known Subclasses:
- EntityProjection.PropertyProjection
public class EntityProjection<M,D> 
extends Object
implements Streamable<EntityProjection.PropertyProjection<?,?>> 
Descriptor for a top-level mapped type representing a view onto a domain type structure. The view may exactly match
 the domain type or be a DTO/interface 
projection.- Since:
- 2.7
- Author:
- Mark Paluch, Christoph Strobl, Oliver Drotbohm
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic classDescriptor for a property-level type along its potential projection that is held within aCollection-like orMap-like container.static enumProjection type.static classDescriptor for a property-level type along its potential projection.
- 
Method SummaryModifier and TypeMethodDescriptionEntityProjection<?,?> findProperty(String name) Return aEntityProjectionfor a property identified byname.voidforEachRecursive(Consumer<? super EntityProjection.PropertyProjection<?, ?>> action) Performs the given action for each element of theStreamablerecursively until all elements of the graph have been processed or the action throws anException.booleanbooleaniterator()static <T> EntityProjection<T,T> nonProjecting(Class<T> type) Create a non-projecting variant of atype.static <M,D> EntityProjection<M, D> nonProjecting(TypeInformation<M> mappedType, TypeInformation<D> domainType, List<EntityProjection.PropertyProjection<?, ?>> properties) Create a non-projecting variant of a mapped type.static <M,D> EntityProjection<M, D> projecting(TypeInformation<M> mappedType, TypeInformation<D> domainType, List<EntityProjection.PropertyProjection<?, ?>> properties, EntityProjection.ProjectionType projectionType) Create a projecting variant of a mapped type.toString()Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.IterableforEach, spliterator
- 
Method Details- 
projectingpublic static <M,D> EntityProjection<M,D> projecting(TypeInformation<M> mappedType, TypeInformation<D> domainType, List<EntityProjection.PropertyProjection<?, ?>> properties, EntityProjection.ProjectionType projectionType) Create a projecting variant of a mapped type.- Parameters:
- mappedType- the target projection type. Must not be null.
- domainType- the source domain type. Must not be null.
- properties- properties to include.
- projectionType- must not be null.
- Returns:
- new instance of EntityProjection.
 
- 
nonProjectingpublic static <M,D> EntityProjection<M,D> nonProjecting(TypeInformation<M> mappedType, TypeInformation<D> domainType, List<EntityProjection.PropertyProjection<?, ?>> properties) Create a non-projecting variant of a mapped type.- Parameters:
- mappedType- the target projection type. Must not be null.
- domainType- the source domain type. Must not be null.
- properties- properties to include.
- Returns:
- new instance of EntityProjection.
 
- 
nonProjectingCreate a non-projecting variant of atype.- Parameters:
- type- must not be null.
- Returns:
- new instance of EntityProjection.
 
- 
forEachRecursivePerforms the given action for each element of theStreamablerecursively until all elements of the graph have been processed or the action throws anException. Unless otherwise specified by the implementing class, actions are performed in the order of iteration (if an iteration order is specified). Exceptions thrown by the action are relayed to the caller.- Parameters:
- action- must not be null.
 
- 
iterator
- 
getMappedType- Returns:
- the mapped type used by this type view.
 
- 
getActualMappedType- Returns:
- the actual mapped type used by this type view. Should be used for collection-like and map-like properties to determine the actual view type.
- Throws:
- IllegalStateException- if the actual type cannot be resolved.
 
- 
getDomainType- Returns:
- the domain type represented by this type view.
 
- 
getActualDomainType- Returns:
- the actual domain type represented by this type view. Should be used for collection-like and map-like properties to determine the actual domain type.
- Throws:
- IllegalStateException- if the actual type cannot be resolved.
 
- 
isProjectionpublic boolean isProjection()- Returns:
- trueif the- getMappedType()is a projection.
 
- 
isClosedProjectionpublic boolean isClosedProjection()- Returns:
- trueif the- getMappedType()is a closed projection.
 
- 
findPropertyReturn aEntityProjectionfor a property identified byname.- Parameters:
- name- the property name.
- Returns:
- the type view, if the property is known; nullotherwise.
 
- 
toString
 
-