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
Implements
com.google.cloud.datastore.RecordQuery<V>Type Parameter | 
      |
|---|---|
| Name | Description | 
V | 
        |
Methods
equals(Object obj)
public boolean equals(Object obj)| Parameter | |
|---|---|
| Name | Description | 
obj | 
        Object | 
      
| Returns | |
|---|---|
| Type | Description | 
boolean | 
        |
getDistinctOn()
public List<String> getDistinctOn()Returns the distinct on clause for this query.
| Returns | |
|---|---|
| Type | Description | 
List<String> | 
        |
getEndCursor()
public Cursor getEndCursor()Returns the end cursor for this query.
| Returns | |
|---|---|
| Type | Description | 
Cursor | 
        |
getFilter()
public StructuredQuery.Filter getFilter()Returns the filter for this query.
| Returns | |
|---|---|
| Type | Description | 
StructuredQuery.Filter | 
        |
getKind()
public String getKind()Returns the kind for this query.
| Returns | |
|---|---|
| Type | Description | 
String | 
        |
getLimit()
public Integer getLimit()Returns the limit for this query.
| Returns | |
|---|---|
| Type | Description | 
Integer | 
        |
getOffset()
public int getOffset()Returns the offset for this query.
| Returns | |
|---|---|
| Type | Description | 
int | 
        |
getOrderBy()
public List<StructuredQuery.OrderBy> getOrderBy()Returns the order by clause for this query.
| Returns | |
|---|---|
| Type | Description | 
List<OrderBy> | 
        |
getProjection()
public List<String> getProjection()Returns the projection for this query.
| Returns | |
|---|---|
| Type | Description | 
List<String> | 
        |
getStartCursor()
public Cursor getStartCursor()Returns the start cursor for this query.
| Returns | |
|---|---|
| Type | Description | 
Cursor | 
        |
getType()
public Query.ResultType<V> getType()| Returns | |
|---|---|
| Type | Description | 
ResultType<V> | 
        |
hashCode()
public int hashCode()| Returns | |
|---|---|
| Type | Description | 
int | 
        |
nextQuery(RunQueryResponse responsePb)
public StructuredQuery<V> nextQuery(RunQueryResponse responsePb)| Parameter | |
|---|---|
| Name | Description | 
responsePb | 
        RunQueryResponse | 
      
| Returns | |
|---|---|
| Type | Description | 
StructuredQuery<V> | 
        |
populatePb(RunQueryRequest.Builder requestPb)
public void populatePb(RunQueryRequest.Builder requestPb)| Parameter | |
|---|---|
| Name | Description | 
requestPb | 
        RunQueryRequest.Builder | 
      
toBuilder()
public abstract StructuredQuery.Builder<V> toBuilder()| Returns | |
|---|---|
| Type | Description | 
Builder<V> | 
        |
toString()
public String toString()| Returns | |
|---|---|
| Type | Description | 
String | 
        |