01: /*
02: * Copyright 2006 Day Management AG, Switzerland. All rights reserved.
03: */
04: package javax.jcr.query.qom;
05:
06: /**
07: * Tests whether the {@link #getChildSelectorName childSelector} node is a child
08: * of the {@link #getParentSelectorName parentSelector} node. A node-tuple
09: * satisfies the constraint only if:
10: * <pre> childSelectorNode.getParent().isSame(parentSelectorNode)</pre>
11: * would return true, where <code>childSelectorNode</code> is the node for
12: * {@link #getChildSelectorName childSelector} and <code>parentSelectorNode</code>
13: * is the node for {@link #getParentSelectorName parentSelector}.
14: * <p/>
15: * The query is invalid if:
16: * <ul>
17: * <li>{@link #getChildSelectorName childSelector} is not the name of a
18: * selector in the query, or</li>
19: * <li>{@link #getParentSelectorName parentSelector} is not the name of a
20: * selector in the query, or</li>
21: * <li>{@link #getChildSelectorName childSelector} is the same as
22: * {@link #getParentSelectorName parentSelector}.
23: * </ul>
24: *
25: * @since JCR 2.0
26: */
27: public interface ChildNodeJoinCondition extends JoinCondition {
28: /**
29: * Gets the name of the child selector.
30: *
31: * @return the selector name; non-null
32: */
33: public String getChildSelectorName();
34:
35: /**
36: * Gets the name of the parent selector.
37: *
38: * @return the selector name; non-null
39: */
40: public String getParentSelectorName();
41: }
42:
43: // EOF
|