Class StructuredQuery<V> (2.18.5)

public abstract class StructuredQuery<V> extends Query<V> implements RecordQuery<V>

An implementation of a Google Cloud Datastore Query that can be constructed by providing all the specific query elements.

A usage example:

A simple query that returns all entities for a specific kind


 Query<Entity> query = Query.newEntityQueryBuilder().setKind(kind).build();
 QueryResults<Entity> results = datastore.run(query);
 while (results.hasNext()) {
   Entity entity = results.next();
   ...
 }
 

A simple key-only query of all entities for a specific kind


 Query<Key> keyOnlyQuery =  Query.newKeyQueryBuilder().setKind(KIND1).build();
 QueryResults<Key> results = datastore.run(keyOnlyQuery);
 ...
 

A less trivial example of a projection query that returns the first 10 results of "age" and "name" properties (sorted and grouped by "age") with an age greater than 18


 Query<ProjectionEntity> query = Query.newProjectionEntityQueryBuilder()
     .setKind(kind)
     .setProjection(Projection.property("age"), Projection.first("name"))
     .setFilter(PropertyFilter.gt("age", 18))
     .setGroupBy("age")
     .setOrderBy(OrderBy.asc("age"))
     .setLimit(10)
     .build();
 QueryResults<ProjectionEntity> results = datastore.run(query);
 ...
 

See Also: Datastore queries

Inheritance

Object > Query > StructuredQuery<V>

Implements

com.google.cloud.datastore.RecordQuery<V>

Type Parameter

NameDescription
V

Methods

equals(Object obj)

public boolean equals(Object obj)
Parameter
NameDescription
objObject
Returns
TypeDescription
boolean
Overrides

getDistinctOn()

public List<String> getDistinctOn()

Returns the distinct on clause for this query.

Returns
TypeDescription
List<String>

getEndCursor()

public Cursor getEndCursor()

Returns the end cursor for this query.

Returns
TypeDescription
Cursor

getFilter()

public StructuredQuery.Filter getFilter()

Returns the filter for this query.

Returns
TypeDescription
StructuredQuery.Filter

getKind()

public String getKind()

Returns the kind for this query.

Returns
TypeDescription
String

getLimit()

public Integer getLimit()

Returns the limit for this query.

Returns
TypeDescription
Integer

getOffset()

public int getOffset()

Returns the offset for this query.

Returns
TypeDescription
int

getOrderBy()

public List<StructuredQuery.OrderBy> getOrderBy()

Returns the order by clause for this query.

Returns
TypeDescription
List<OrderBy>

getProjection()

public List<String> getProjection()

Returns the projection for this query.

Returns
TypeDescription
List<String>

getStartCursor()

public Cursor getStartCursor()

Returns the start cursor for this query.

Returns
TypeDescription
Cursor

getType()

public Query.ResultType<V> getType()
Returns
TypeDescription
ResultType<V>

hashCode()

public int hashCode()
Returns
TypeDescription
int
Overrides

nextQuery(RunQueryResponse responsePb)

public StructuredQuery<V> nextQuery(RunQueryResponse responsePb)
Parameter
NameDescription
responsePbRunQueryResponse
Returns
TypeDescription
StructuredQuery<V>

populatePb(RunQueryRequest.Builder requestPb)

public void populatePb(RunQueryRequest.Builder requestPb)
Parameter
NameDescription
requestPbRunQueryRequest.Builder

toBuilder()

public abstract StructuredQuery.Builder<V> toBuilder()
Returns
TypeDescription
Builder<V>

toString()

public String toString()
Returns
TypeDescription
String
Overrides