@Override public QueryResultsIterable<Edge> edges(FetchHints fetchHints) { return new DefaultGraphQueryIterableWithAggregations<>( getParameters(), this.<Edge>getIterableFromElementType(ElementType.EDGE, fetchHints), true, true, true, getAggregations() ); }
@Override public QueryResultsIterable<Edge> edges(FetchHints fetchHints) { return new DefaultGraphQueryIterableWithAggregations<>( getParameters(), this.<Edge>getIterableFromElementType(ElementType.EDGE, fetchHints), true, true, true, getAggregations() ); }
@Override public QueryResultsIterable<Vertex> vertices(FetchHints fetchHints) { return new DefaultGraphQueryIterableWithAggregations<>( getParameters(), this.<Vertex>getIterableFromElementType(ElementType.VERTEX, fetchHints), true, true, true, getAggregations() ); }
@Override public QueryResultsIterable<Vertex> vertices(FetchHints fetchHints) { return new DefaultGraphQueryIterableWithAggregations<>( getParameters(), this.<Vertex>getIterableFromElementType(ElementType.VERTEX, fetchHints), true, true, true, getAggregations() ); }
@SuppressWarnings("unchecked") private <T extends Element> Iterable<T> getIterableFromElementType(ElementType elementType, FetchHints fetchHints) throws VertexiumException { switch (elementType) { case VERTEX: return (Iterable<T>) getGraph().getVertices(fetchHints, getParameters().getAuthorizations()); case EDGE: return (Iterable<T>) getGraph().getEdges(fetchHints, getParameters().getAuthorizations()); default: throw new VertexiumException("Unexpected element type: " + elementType); } }
@SuppressWarnings("unchecked") private <T extends Element> Iterable<T> getIterableFromElementType(ElementType elementType, FetchHints fetchHints) throws VertexiumException { switch (elementType) { case VERTEX: return (Iterable<T>) getGraph().getVertices(fetchHints, getParameters().getAuthorizations()); case EDGE: return (Iterable<T>) getGraph().getEdges(fetchHints, getParameters().getAuthorizations()); default: throw new VertexiumException("Unexpected element type: " + elementType); } }