/** * Add the operation to the result. * * @param op * the operation to add. */ private void addOp(final Op op) { result.add(op); }
@Override public Op effectiveOp() { OpSequence result = OpSequence.create(); for(Op elt : elements) { result.add(elt); } return result; }
@Override public Op effectiveOp() { OpSequence result = OpSequence.create(); for(Op elt : elements) { result.add(elt); } return result; }
public static Op toOp(Map<Node, BasicPattern> map, BiFunction<Node, BasicPattern, Op> opFactory) { List<Op> opqs = new ArrayList<Op>(); for (Entry<Node, BasicPattern> entry : map.entrySet()) { Op oqp = opFactory.apply(entry.getKey(), entry.getValue());// new // OpQuadPattern(entry.getKey(), // entry.getValue()); opqs.add(oqp); } Op result; if (opqs.isEmpty()) { result = OpNull.create(); } else if (opqs.size() == 1) { result = opqs.iterator().next(); } else { OpSequence op = OpSequence.create(); for (Op item : opqs) { op.add(item); } result = op; } return result; }
public static Op toOp(Map<Node, BasicPattern> map, BiFunction<Node, BasicPattern, Op> opFactory) { List<Op> opqs = new ArrayList<Op>(); for (Entry<Node, BasicPattern> entry : map.entrySet()) { Op oqp = opFactory.apply(entry.getKey(), entry.getValue());// new // OpQuadPattern(entry.getKey(), // entry.getValue()); opqs.add(oqp); } Op result; if (opqs.isEmpty()) { result = OpNull.create(); } else if (opqs.size() == 1) { result = opqs.iterator().next(); } else { OpSequence op = OpSequence.create(); for (Op item : opqs) { op.add(item); } result = op; } return result; }
/** Convenience - convert to OpQuadPatterns which are more widely used (currently?) */ public Op convertOp() { if ( quads.size() == 0 ) return OpTable.empty() ; if ( quads.size() == 1 ) { Quad q = quads.get(0) ; BasicPattern bgp = new BasicPattern() ; bgp.add(q.asTriple()) ; return new OpQuadPattern(q.getGraph(), bgp) ; } List<OpQuadPattern> x = convert() ; OpSequence ops = OpSequence.create() ; for ( OpQuadPattern oqp : x ) ops.add(oqp); return ops ; }