@Override public Iterator<R> execute(final Q query, final B subquery, final Object executionInfo, final QueryProfiler profiler) { return runWithMetrics("execute", new Function<Void, Iterator<R>>() { @Override public Iterator<R> apply(Void v) { return qe.execute(query, subquery, executionInfo, profiler); } }); }
@Override public RawQuery setLimit(int limit) { super.setLimit(limit); return this; }
@Override public int getLimit() { return query.getLimit(); } }
private static final boolean isQNFLiteralOrNot(Condition<?> condition) { if (condition instanceof Not) { Condition child = ((Not) condition).getChild(); if (!isQNFLiteral(child)) return false; else if (child instanceof PredicateCondition) { return !((PredicateCondition) child).getPredicate().hasNegation(); } else return true; } else return isQNFLiteral(condition); }
@Override public Iterator<R> iterator() { if (query.isEmpty()) return Iterators.emptyIterator(); return new ResultSetIterator(getUnfoldedIterator(),(query.hasLimit()) ? query.getLimit() : Query.NO_LIMIT); }
@Override public Boolean apply(Void v) { return qe.isDeleted(query, result); } });
@Override public Iterator<R> apply(Void v) { return qe.execute(query, subquery, executionInfo, profiler); } });
@Override public Iterator<R> apply(Void v) { return qe.getNew(query); } });
@Override public Boolean apply(Void v) { return qe.hasDeletions(query); } });
public ResultSetIterator(Iterator<R> inner, int limit) { this.iter = inner; this.limit = limit; count = 0; this.current = null; this.next = nextInternal(); }
@Override public boolean hasLimit() { return query.hasLimit(); }
public static final boolean supports(BiPredicate p) { return convertInternal(p)!=null; } }
private boolean satisfiesCondition(Object value) { return predicate.test(value, this.value); }
@Override public Iterator<R> getNew(final Q query) { return runWithMetrics("getNew", new Function<Void, Iterator<R>>() { @Override public Iterator<R> apply(Void v) { return qe.getNew(query); } }); }
@Override public IndexQueryBuilder limit(int limit) { super.setLimit(limit); return this; }
public static final TitanPredicate convert(BiPredicate p) { TitanPredicate titanPred = convertInternal(p); if (titanPred==null) throw new IllegalArgumentException("Titan does not support the given predicate: " + p); return titanPred; }
@Override public boolean hasDeletions(final Q query) { return runWithMetrics("hasDeletions", new Function<Void, Boolean>() { @Override public Boolean apply(Void v) { return qe.hasDeletions(query); } }); }
@Override public boolean isDeleted(final Q query, final R result) { return runWithMetrics("isDeleted", new Function<Void, Boolean>() { @Override public Boolean apply(Void v) { return qe.isDeleted(query, result); } }); }