@Override public Query hasAuthorization(Iterable<String> authorizations) { getParameters().addHasContainer(new HasAuthorizationContainer(authorizations)); return this; }
@Override public <TResult extends AggregationResult> TResult getAggregationResult(String name, Class<? extends TResult> resultType) { for (Iterable<? extends T> iterable : getIterables()) { if (iterable instanceof QueryResultsIterable) { TResult aggResult = ((QueryResultsIterable<T>) iterable).getAggregationResult(name, resultType); if (aggResult != null) { return aggResult; } } } return AggregationResult.createEmptyResult(resultType); }
@Override public QueryResultsIterable<Edge> edges(FetchHints fetchHints) { return new DefaultGraphQueryIterableWithAggregations<>( getParameters(), this.<Edge>getIterableFromElementType(ElementType.EDGE, fetchHints), true, true, true, getAggregations() ); }
@Override public QueryParameters clone() { SimilarToTextQueryParameters results = new SimilarToTextQueryParameters(getFields(), getText(), getAuthorizations()); super.cloneTo(results); return results; } }
@Override public long getTotalHits() { long total = 0; for (Iterable<? extends T> iterable : getIterables()) { if (iterable instanceof IterableWithTotalHits) { total += ((IterableWithTotalHits) iterable).getTotalHits(); } } return total; } }
@Override public QueryResultsIterable<Vertex> vertices(FetchHints fetchHints) { Iterable<Vertex> vertices = allVertices(fetchHints); return new DefaultGraphQueryIterableWithAggregations<>(getParameters(), vertices, true, true, true, getAggregations()); }
@Override public QueryResultsIterable<Edge> edges(FetchHints fetchHints) { Iterable<Edge> edges = allEdges(fetchHints); return new DefaultGraphQueryIterableWithAggregations<>(getParameters(), edges, true, true, true, getAggregations()); }
@Override public QueryResultsIterable<String> vertexIds(EnumSet<IdFetchHint> idFetchHints) { FetchHints fetchHints = idFetchHintsToElementFetchHints(idFetchHints); return new DefaultGraphQueryIdIterable<>(vertices(fetchHints)); }
@Override public QueryResultsIterable<String> edgeIds(EnumSet<IdFetchHint> idFetchHints) { FetchHints fetchHints = idFetchHintsToElementFetchHints(idFetchHints); return new DefaultGraphQueryIdIterable<>(edges(fetchHints)); }
@Override public QueryResultsIterable<String> elementIds(EnumSet<IdFetchHint> idFetchHints) { FetchHints fetchHints = idFetchHintsToElementFetchHints(idFetchHints); return new DefaultGraphQueryIdIterable<>(elements(fetchHints)); }
@Override public Query hasEdgeLabel(Collection<String> edgeLabels) { for (String edgeLabel : edgeLabels) { getParameters().addEdgeLabel(edgeLabel); } return this; }
@Override public <T> Query hasNot(Iterable<String> propertyNames) { this.parameters.addHasContainer(new HasNotPropertyContainer(propertyNames)); return this; }
@Override public boolean isAggregationSupported(Aggregation aggregation) { if (DefaultGraphQueryIterableWithAggregations.isAggregationSupported(aggregation)) { return true; } return super.isAggregationSupported(aggregation); }
@Override public <T> Query has(Iterable<String> propertyNames) { this.parameters.addHasContainer(new HasPropertyContainer(propertyNames)); return this; }
@Override public Query sort(String propertyName, SortDirection direction) { this.parameters.addSortContainer(new SortContainer(propertyName, direction)); return this; }
@Override public <TResult extends AggregationResult> TResult getAggregationResult(String name, Class<? extends TResult> resultType) { for (Iterable<? extends T> iterable : getIterables()) { if (iterable instanceof QueryResultsIterable) { TResult aggResult = ((QueryResultsIterable<T>) iterable).getAggregationResult(name, resultType); if (aggResult != null) { return aggResult; } } } return AggregationResult.createEmptyResult(resultType); }
@Override public QueryResultsIterable<Vertex> vertices(FetchHints fetchHints) { return new DefaultGraphQueryIterableWithAggregations<>( getParameters(), this.<Vertex>getIterableFromElementType(ElementType.VERTEX, fetchHints), true, true, true, getAggregations() ); }
@Override public Query hasAuthorization(Iterable<String> authorizations) { getParameters().addHasContainer(new HasAuthorizationContainer(authorizations)); return this; }
@Override public Query hasEdgeLabel(String... edgeLabels) { for (String edgeLabel : edgeLabels) { getParameters().addEdgeLabel(edgeLabel); } return this; }
@Override public Query hasNot(String propertyName) { this.parameters.addHasContainer(new HasNotPropertyContainer(propertyName)); return this; }