Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.persistence.criteria
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>

    public interface Path<X>

extends Expression<X>

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
`
`<K,V,M extends java.util.Map<K,V>> Expression<M>`
` | `get(MapAttribute<X,K,V> map)` Create a path corresponding to the referenced map-valued attribute.
`
`<E,C extends java.util.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.
`
`<Y> Path<Y>`
` | `get(java.lang.String attributeName)` Create a path corresponding to the referenced attribute.
`Bindable<X>` | `getModel()` Return the bindable object that corresponds to the path expression.
`Path<?>` | `getParentPath()` Return the parent "node" in the path or null if no parent.
`Expression<java.lang.Class<? extends X>>` | `type()` Create an expression corresponding to the type of the path.

Methods inherited from interface javax.persistence.criteria.Expression
`as, in, in, in, in, isNotNull, isNull`

Methods inherited from interface javax.persistence.criteria.Selection
`alias, getCompoundSelectionItems, isCompoundSelection`

Methods inherited from interface javax.persistence.TupleElement
`getAlias, getJavaType`

Method Detail

### getModel

    Bindable<X> getModel()

  Return the bindable object that corresponds to the path expression.

  Returns:
    bindable object corresponding to the path

### getParentPath

    Path<?> getParentPath()

  Return the parent "node" in the path or null if no parent.

  Returns:
    parent

### get

    <Y> Path<Y> get(SingularAttribute<? super X,Y> attribute)

  Create a path corresponding to the referenced single-valued attribute.

  Parameters:
    `attribute` - single-valued attribute
  Returns:
    path corresponding to the referenced attribute

### get

    <E,C extends java.util.Collection<E>> Expression<C> get(PluralAttribute<X,C,E> collection)

  Create a path corresponding to the referenced collection-valued attribute.

  Parameters:
    `collection` - collection-valued attribute
  Returns:
    expression corresponding to the referenced attribute

### get

    <K,V,M extends java.util.Map<K,V>> Expression<M> get(MapAttribute<X,K,V> map)

  Create a path corresponding to the referenced map-valued attribute.

  Parameters:
    `map` - map-valued attribute
  Returns:
    expression corresponding to the referenced attribute

### type

    Expression<java.lang.Class<? extends X>> type()

  Create an expression corresponding to the type of the path.

  Returns:
    expression corresponding to the type of the path

### get

    <Y> Path<Y> get(java.lang.String attributeName)

  Create a path corresponding to the referenced attribute.

  Note: Applications using the string-based API may need to specify the type resulting from the `get` operation in order to avoid the use of `Path` variables.

           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:
    `java.lang.IllegalStateException` - if invoked on a path that corresponds to a basic type
    `java.lang.IllegalArgumentException` - if attribute of the given name does not otherwise exist

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD