-
Notifications
You must be signed in to change notification settings - Fork 14
/
Path.java
30 lines (25 loc) · 957 Bytes
/
Path.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package cz.cvut.kbss.jopa.model.query.criteria;
import cz.cvut.kbss.jopa.model.metamodel.SingularAttribute;
public interface Path<X> extends Expression<X> {
/**
* Create a path corresponding to the referenced attribute.
*
* @param attributeName name of the attribute
* @return path corresponding to the referenced attribute
* @throws IllegalArgumentException if attribute of the given name does not otherwise exist
*/
<Y> Path<Y> getAttr(String attributeName) throws IllegalArgumentException;
/**
* Create a path corresponding to the referenced single-valued attribute.
*
* @param attribute single-valued attribute
* @return path corresponding to the referenced attribute
*/
<Y> Path<Y> getAttr(SingularAttribute<? super X, Y> attribute);
/**
* Return the parent "node" in the path or null if no parent.
*
* @return parent
*/
Path<?> getParentPath();
}