@Override public void visit(DescendantNodeJoinCondition joinCondition) { symbols.add(joinCondition.getAncestorSelectorName()); symbols.add(joinCondition.getDescendantSelectorName()); }
/** * Define the join criteria to require the node in one table is a * descendant of the node in another table. The supplied tables must be a * valid name or alias. * * @param ancestorTable * the name or alias of the table containing the ancestor node * @param descendantTable * the name or alias of the table containing the descendant node * @return the query builder instance, for method chaining purposes */ public QueryBuilder onDescendant(String ancestorTable, String descendantTable) { return createJoin(new DescendantNodeJoinCondition(nameOf(ancestorTable), nameOf(descendantTable))); }
/** * @see org.xcmis.search.Visitors.AbstractModelVisitor#visit(org.xcmis.search.model.source.join.DescendantNodeJoinCondition) */ @Override public void visit(DescendantNodeJoinCondition node) throws VisitException { checkSelectorExistance(node.getAncestorSelectorName()); checkSelectorExistance(node.getDescendantSelectorName()); }
/** * {@inheritDoc} * * @see QueryObjectModelVisitor#visit(DescendantNodeJoinCondition) */ public void visit(DescendantNodeJoinCondition condition) { append("ISDESCENDANTNODE("); append(condition.getDescendantSelectorName()); append(','); append(condition.getAncestorSelectorName()); append(')'); }