Search in sources :

Example 1 with JoinType

use of org.apache.jackrabbit.commons.query.qom.JoinType in project jackrabbit by apache.

the class Parser method parseSource.

private Source parseSource() throws RepositoryException {
    Selector selector = parseSelector();
    selectors.add(selector);
    Source source = selector;
    while (true) {
        JoinType type;
        if (readIf("RIGHT")) {
            read("OUTER");
            type = JoinType.RIGHT;
        } else if (readIf("LEFT")) {
            read("OUTER");
            type = JoinType.LEFT;
        } else if (readIf("INNER")) {
            type = JoinType.INNER;
        } else {
            break;
        }
        read("JOIN");
        selector = parseSelector();
        selectors.add(selector);
        read("ON");
        JoinCondition on = parseJoinCondition();
        source = type.join(factory, source, selector, on);
    }
    return source;
}
Also used : JoinType(org.apache.jackrabbit.commons.query.qom.JoinType) Source(javax.jcr.query.qom.Source) Selector(javax.jcr.query.qom.Selector) JoinCondition(javax.jcr.query.qom.JoinCondition)

Aggregations

JoinCondition (javax.jcr.query.qom.JoinCondition)1 Selector (javax.jcr.query.qom.Selector)1 Source (javax.jcr.query.qom.Source)1 JoinType (org.apache.jackrabbit.commons.query.qom.JoinType)1