01: /*
02: * Copyright 2006 Day Management AG, Switzerland. All rights reserved.
03: */
04: package javax.jcr.query.qom;
05:
06: /**
07: * Performs a join between two node-tuple sources.
08: * <p/>
09: * The query is invalid if {@link #getLeft left} is the same source as
10: * {@link #getRight right}.
11: *
12: * @since JCR 2.0
13: */
14: public interface Join extends Source {
15: /**
16: * Gets the left node-tuple source.
17: *
18: * @return the left source; non-null
19: */
20: public Source getLeft();
21:
22: /**
23: * Gets the right node-tuple source.
24: *
25: * @return the right source; non-null
26: */
27: public Source getRight();
28:
29: /**
30: * Gets the join type.
31: *
32: * @return either
33: * <ul>
34: * <li>{@link QueryObjectModelConstants#JOIN_TYPE_INNER},</li>
35: * <li>{@link QueryObjectModelConstants#JOIN_TYPE_LEFT_OUTER},</li>
36: * <li>{@link QueryObjectModelConstants#JOIN_TYPE_RIGHT_OUTER}</li>
37: * </ul>
38: */
39: public int getJoinType();
40:
41: /**
42: * Gets the join condition.
43: *
44: * @return the join condition; non-null
45: */
46: public JoinCondition getJoinCondition();
47: }
48:
49: // EOF
|