@Override public Distinct clone() { return (Distinct)super.clone(); } }
@Override public boolean equals(Object other) { return other instanceof Reduced && super.equals(other); }
@Override protected void meetUnaryTupleOperator(UnaryTupleOperator node) { super.meetUnaryTupleOperator(node); if (node.getArg() instanceof EmptySet) { node.replaceWith(node.getArg()); } }
@Override public boolean equals(Object other) { if (other instanceof UnaryTupleOperator) { UnaryTupleOperator o = (UnaryTupleOperator)other; return arg.equals(o.getArg()); } return false; }
@Override public void meetUnaryTupleOperator(UnaryTupleOperator node) { if (typeRequirement != null) { if (node.getArg().getBindingNames().contains(varName)) { node.visitChildren(this); } else { meetNode(node); } } } }
@Override public void meetOther(QueryModelNode node) { if (node instanceof PeriodicQueryNode) { PeriodicQueryNode pNode = (PeriodicQueryNode) node; // do nothing if PeriodicQueryNode already positioned correctly if (pNode.equals(relocationParent.getArg())) { return; } // remove node from query pNode.replaceWith(pNode.getArg()); // set node' child to be relocationParent's child pNode.setArg(relocationParent.getArg()); // add node back into query below relocationParent relocationParent.replaceChildNode(relocationParent.getArg(), pNode); } } }
/** * Creates a new unary tuple operator. * * @param arg * The operator's argument, must not be <tt>null</tt>. */ public UnaryTupleOperator(TupleExpr arg) { setArg(arg); }
@Override public void replaceChildNode(QueryModelNode current, QueryModelNode replacement) { if (projElemList == current) { setProjectionElemList((ProjectionElemList)replacement); } else { super.replaceChildNode(current, replacement); } }
@Override public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X { for (OrderElem elem : elements) { elem.visit(visitor); } super.visitChildren(visitor); }
@Override public boolean equals(Object other) { if (other instanceof UnaryTupleOperator) { UnaryTupleOperator o = (UnaryTupleOperator)other; return arg.equals(o.getArg()); } return false; }
@Override protected void meetUnaryTupleOperator(UnaryTupleOperator node) { super.meetUnaryTupleOperator(node); if (node.getArg() instanceof EmptySet) { node.replaceWith(node.getArg()); } }
/** * Creates a new unary tuple operator. * * @param arg * The operator's argument, must not be <tt>null</tt>. */ public UnaryTupleOperator(TupleExpr arg) { setArg(arg); }
@Override public void replaceChildNode(QueryModelNode current, QueryModelNode replacement) { if (replaceNodeInList(elements, current, replacement)) { return; } super.replaceChildNode(current, replacement); }
@Override public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X { serviceRef.visit(visitor); super.visitChildren(visitor); }
@Override protected void meetUnaryTupleOperator(UnaryTupleOperator node) { node.getArg().visit(this); }
@Override public void replaceChildNode(QueryModelNode current, QueryModelNode replacement) { if (arg == current) { setArg((TupleExpr)replacement); } else { super.replaceChildNode(current, replacement); } }
@Override public QueryRoot clone() { return (QueryRoot)super.clone(); } }