Class AggregateQuerySnapshot

java.lang.Object
com.google.cloud.firestore.AggregateQuerySnapshot

@InternalExtensionOnly public class AggregateQuerySnapshot extends Object
The results of executing an AggregateQuery.
  • Method Details

    • getQuery

      @Nonnull public AggregateQuery getQuery()
      Returns the query that was executed to produce this result.
    • getReadTime

      @Nonnull public com.google.cloud.Timestamp getReadTime()
      Returns the time at which this snapshot was read.
    • getCount

      public long getCount()
      Returns the number of documents in the result set of the underlying query.
    • get

      public long get(@Nonnull AggregateField.CountAggregateField unused)
      Returns the number of documents in the result set of the underlying query.
    • get

      @Nullable public Object get(@Nonnull AggregateField aggregateField)
      Returns the result of the given aggregation from the server without coercion of data types. Throws java.lang.RuntimeException if the `aggregateField` was not requested when calling `query.aggregate(...)`.
      Parameters:
      aggregateField - The aggregation for which the value is requested.
      Returns:
      The result of the given aggregation.
    • get

      @Nullable public Double get(@Nonnull AggregateField.AverageAggregateField averageAggregateField)
      Returns the result of the given average aggregation. Since the result of an average aggregation performed by the server is always a double, this convenience overload can be used in lieu of the above `get` method. Throws java.lang.RuntimeException if the `aggregateField` was not requested when calling `query.aggregate(...)`.
      Parameters:
      averageAggregateField - The average aggregation for which the value is requested.
      Returns:
      The result of the given average aggregation.
    • getDouble

      @Nullable public Double getDouble(@Nonnull AggregateField aggregateField)
      Returns the result of the given aggregation as a double. Coerces all numeric values and throws a RuntimeException if the result of the aggregate is non-numeric. In the case of coercion of long to double, uses java.lang.Long.doubleValue to perform the conversion, and may result in a loss of precision.
      Parameters:
      aggregateField - The aggregation for which the value is requested.
      Returns:
      The result of the given average aggregation as a double.
    • getLong

      @Nullable public Long getLong(@Nonnull AggregateField aggregateField)
      Returns the result of the given aggregation as a long. Coerces all numeric values and throws a RuntimeException if the result of the aggregate is non-numeric. In case of coercion of double to long, uses java.lang.Double.longValue to perform the conversion.
      Parameters:
      aggregateField - The aggregation for which the value is requested.
      Returns:
      The result of the given average aggregation as a long.
    • equals

      public boolean equals(Object object)
      Compares this object with the given object for equality.

      This object is considered "equal" to the other object if and only if all of the following conditions are satisfied:

      1. object is a non-null instance of AggregateQuerySnapshot.
      2. The AggregateQuery of object compares equal to that of this object.
      3. object has the same results as this object.
      Overrides:
      equals in class Object
      Parameters:
      object - The object to compare to this object for equality.
      Returns:
      true if this object is "equal" to the given object, as defined above, or false otherwise.
    • hashCode

      public int hashCode()
      Calculates and returns the hash code for this object.
      Overrides:
      hashCode in class Object
      Returns:
      the hash code for this object.