@Override public boolean equals(Object other) { if (other instanceof Filter && super.equals(other)) { Filter o = (Filter) other; return condition.equals(o.getCondition()); } return false; }
@Override public boolean equals(Object other) { if (other instanceof Filter && super.equals(other)) { Filter o = (Filter) other; return condition.equals(o.getCondition()); } return false; }
@Override public void meet(Filter node) { filterList.add(node.getCondition()); super.meet(node); }
public FilterRelocator(Filter filter) { this.filter = filter; filterVars = VarNameCollector.process(filter.getCondition()); }
@Override public void meet(Filter node) { spFilterSet.add(node.getCondition()); node.getArg().visit(this); }
@Override public void meet(Filter node) { filterCond.add(node.getCondition()); node.replaceWith(node.getArg()); }
@Override public void meet(Filter node) throws RuntimeException { super.meet(node); node.getCondition().visit(this); }
@Override public Filter clone() { Filter clone = (Filter) super.clone(); clone.setCondition(getCondition().clone()); return clone; } }
@Override public void meet(final Filter filter) { //First visit children, then condition (reverse of default): filter.getArg().visit(this); filter.getCondition().visit(this); } }
@Override public Filter clone() { Filter clone = (Filter) super.clone(); clone.setCondition(getCondition().clone()); return clone; } }
@Override public void meet(Filter node) { FilterVarReNamer fvr = new FilterVarReNamer(varChanges, valMap); node.getCondition().visit(fvr); node.getArg().visit(this); }
@Override public void meet(Filter node) throws RDFHandlerException { hasGroup = false; node.getArg().visit(this); if (!hasGroup) { listEntry(); handler.handleStatement(valueFactory.createStatement(subject, RDF.TYPE, SP.FILTER_CLASS)); meet(node.getCondition()); } }
@Override public void meet(Filter filterNode) throws Exception { filterNode.visitChildren(this); if (filterNode.getArg() instanceof AggregationPipelineQueryNode && filterNode.getParentNode() != null) { AggregationPipelineQueryNode pipelineNode = (AggregationPipelineQueryNode) filterNode.getArg(); if (pipelineNode.filter(filterNode.getCondition())) { filterNode.replaceWith(pipelineNode); } } } }
@Override public void meet(final Intersection node) { if (Sets.intersection(node.getRightArg().getBindingNames(), filterVars).size() > 0) { relocate(filter, node.getRightArg()); } else if (Sets.intersection(node.getLeftArg().getBindingNames(), filterVars).size() > 0) { final Filter clone = new Filter(filter.getArg(), filter .getCondition().clone()); relocate(clone, node.getLeftArg()); } }
@Override public void meet(Intersection node) { Filter clone = new Filter(); clone.setCondition(filter.getCondition().clone()); relocate(filter, node.getLeftArg()); relocate(clone, node.getRightArg()); FilterRelocator.relocate(filter); FilterRelocator.relocate(clone); }
@Override public void meet(Difference node) { Filter clone = new Filter(); clone.setCondition(filter.getCondition().clone()); relocate(filter, node.getLeftArg()); relocate(clone, node.getRightArg()); FilterRelocator.relocate(filter); FilterRelocator.relocate(clone); }
@Override public void meet(Union union) { Filter clone = new Filter(); clone.setCondition(filter.getCondition().clone()); relocate(filter, union.getLeftArg()); relocate(clone, union.getRightArg()); FilterRelocator.relocate(filter); FilterRelocator.relocate(clone); }
@Override public void meet(Union union) { Filter clone = new Filter(); clone.setCondition(filter.getCondition().clone()); relocate(filter, union.getLeftArg()); relocate(clone, union.getRightArg()); FilterRelocator.relocate(filter); FilterRelocator.relocate(clone); }
@Override public void meet(Difference node) { Filter clone = new Filter(); clone.setCondition(filter.getCondition().clone()); relocate(filter, node.getLeftArg()); relocate(clone, node.getRightArg()); FilterRelocator.relocate(filter); FilterRelocator.relocate(clone); }
@Override public void meet(Intersection node) { Filter clone = new Filter(); clone.setCondition(filter.getCondition().clone()); relocate(filter, node.getLeftArg()); relocate(clone, node.getRightArg()); FilterRelocator.relocate(filter); FilterRelocator.relocate(clone); }