B addProjection(String projection, String... others) { this.projection.add(projection); Collections.addAll(this.projection, others); return self(); }
B addDistinctOn(String property, String... others) { this.distinctOn.add(property); Collections.addAll(this.distinctOn, others); return self(); }
@Override public B addOrderBy(OrderBy orderBy, OrderBy... others) { this.orderBy.add(orderBy); Collections.addAll(this.orderBy, others); return self(); }
B addProjection(String projection, String... others) { this.projection.add(projection); Collections.addAll(this.projection, others); return self(); }
@Override public B clearOrderBy() { orderBy.clear(); return self(); }
@Override public B setKind(String kind) { this.kind = kind; return self(); }
addDistinctOn(distinctOnPb.getName()); return self();
B clearDistinctOn() { distinctOn.clear(); return self(); }
B clearProjection() { projection.clear(); return self(); }
B setDistinctOn(String property, String... others) { clearDistinctOn(); addDistinctOn(property, others); return self(); }
@Override public B setOrderBy(OrderBy orderBy, OrderBy... others) { clearOrderBy(); addOrderBy(orderBy, others); return self(); }
@Override public B setFilter(Filter filter) { this.filter = filter; return self(); }
@Override public B setOffset(int offset) { Preconditions.checkArgument(offset >= 0, "offset must not be negative"); this.offset = offset; return self(); }
@Override public B clearOrderBy() { orderBy.clear(); return self(); }
@Override public B setStartCursor(Cursor startCursor) { this.startCursor = startCursor; return self(); }
@Override public B setKind(String kind) { this.kind = kind; return self(); }
@Override public B setNamespace(String namespace) { this.namespace = namespace; return self(); }
B setProjection(String projection, String... others) { clearProjection(); addProjection(projection, others); return self(); }
@Override public B setLimit(Integer limit) { Preconditions.checkArgument(limit == null || limit > 0, "limit must be positive"); this.limit = limit; return self(); }
@Override public B setEndCursor(Cursor endCursor) { this.endCursor = endCursor; return self(); }