Interface Path<X>
- Type Parameters:
X- the type referenced by the path
- All Superinterfaces:
Expression<X>, Selection<X>, TupleElement<X>
- All Known Subinterfaces:
CollectionJoin<Z,E>, From<Z, X>, Join<Z, X>, ListJoin<Z, E>, MapJoin<Z, K, V>, PluralJoin<Z, C, E>, Root<X>, SetJoin<Z, E>
Represents a simple or compound attribute path from a
bound type or collection, and is a "primitive" expression.
- Since:
- Java Persistence 2.0
-
Method Summary
Modifier and TypeMethodDescription<Y> Path<Y> Create a path corresponding to the referenced attribute.<K, V, M extends Map<K,V>>
Expression<M> get(MapAttribute<X, K, V> map) Create a path corresponding to the referenced map-valued attribute.<E, C extends Collection<E>>
Expression<C> get(PluralAttribute<X, C, E> collection) Create a path corresponding to the referenced collection-valued attribute.<Y> Path<Y> get(SingularAttribute<? super X, Y> attribute) Create a path corresponding to the referenced single-valued attribute.getModel()Return the bindable object that corresponds to the path expression.Path<?> Return the parent "node" in the path or null if no parent.Expression<Class<? extends X>> type()Create an expression corresponding to the type of the path.Methods inherited from interface Selection
alias, getCompoundSelectionItems, isCompoundSelectionMethods inherited from interface TupleElement
getAlias, getJavaType
-
Method Details
-
getModel
-
getParentPath
-
get
Create a path corresponding to the referenced single-valued attribute.- Parameters:
attribute- single-valued attribute- Returns:
- path corresponding to the referenced attribute
-
get
Create a path corresponding to the referenced collection-valued attribute.- Parameters:
collection- collection-valued attribute- Returns:
- expression corresponding to the referenced attribute
-
get
Create a path corresponding to the referenced map-valued attribute.- Parameters:
map- map-valued attribute- Returns:
- expression corresponding to the referenced attribute
-
type
Expression<Class<? extends X>> type()Create an expression corresponding to the type of the path.- Returns:
- expression corresponding to the type of the path
-
get
Create a path corresponding to the referenced attribute.Note: Applications using the string-based API may need to specify the type resulting from the
getoperation in order to avoid the use ofPathvariables.For example: CriteriaQuery<Person> q = cb.createQuery(Person.class); Root<Person> p = q.from(Person.class); q.select(p) .where(cb.isMember("joe", p.<Set<String>>get("nicknames"))); rather than: CriteriaQuery<Person> q = cb.createQuery(Person.class); Root<Person> p = q.from(Person.class); Path<Set<String>> nicknames = p.get("nicknames"); q.select(p) .where(cb.isMember("joe", nicknames));- Parameters:
attributeName- name of the attribute- Returns:
- path corresponding to the referenced attribute
- Throws:
IllegalStateException- if invoked on a path that corresponds to a basic typeIllegalArgumentException- if attribute of the given name does not otherwise exist
-