@Override public void visit(ChildNodeJoinCondition joinCondition) { symbols.add(joinCondition.getChildSelectorName()); symbols.add(joinCondition.getParentSelectorName()); }
/** * Define the join criteria to require the node in one table is a child of * the node in another table. The supplied tables must be a valid name or * alias. * * @param parentTable * the name or alias of the table containing the parent node * @param childTable * the name or alias of the table containing the child node * @return the query builder instance, for method chaining purposes */ public QueryBuilder onChildNode(String parentTable, String childTable) { return createJoin(new ChildNodeJoinCondition(nameOf(parentTable), nameOf(childTable))); }
/** * @see org.xcmis.search.Visitors.AbstractModelVisitor#visit(org.xcmis.search.model.source.join.ChildNodeJoinCondition) */ @Override public void visit(ChildNodeJoinCondition node) throws VisitException { checkSelectorExistance(node.getChildSelectorName()); checkSelectorExistance(node.getParentSelectorName()); if (node.getChildSelectorName().equals(node.getParentSelectorName())) { problems.addException(new InvalidQueryException(node.getChildSelectorName() + " is the same as " + node.getParentSelectorName())); } }
/** * {@inheritDoc} * * @see QueryObjectModelVisitor#visit(ChildNodeJoinCondition) */ public void visit(ChildNodeJoinCondition condition) { append("ISCHILDNODE("); append(condition.getChildSelectorName()); append(','); append(condition.getParentSelectorName()); append(')'); }