Class GroupByVisitor.GroupByResult

Object
GroupByResult
All Implemented Interfaces:
CalcResult
Enclosing class:
GroupByVisitor

public static class GroupByVisitor.GroupByResult extends Object implements CalcResult
This class implements the feature calculation result of the group by visitor.
  • Constructor Details

  • Method Details

    • getResults

      public Map<List<Object>,CalcResult> getResults()
    • getAggregateVisitor

      public Aggregate getAggregateVisitor()
    • getGroupByAttributes

      public List<Expression> getGroupByAttributes()
    • isCompatible

      public boolean isCompatible(CalcResult newResult)
      Description copied from interface: CalcResult
      Returns true if the target results is a compatible type with the current results, with compatible meaning that the two results may be merged.
      Specified by:
      isCompatible in interface CalcResult
      Parameters:
      newResult - the second CalcResult Object
      Returns:
      true if the targetResults can be merged with the current results
    • merge

      public CalcResult merge(CalcResult newResult)
      Description copied from interface: CalcResult
      Returns the merged results of two CalcResult. The way in which the results are merged is dependent on the type of the results added. A new instance is created containing the merged results.

      For example: merging two min functions would return the smaller of the two values; merging a count and a sum would return an average.

      Specified by:
      merge in interface CalcResult
      Returns:
      the merged results
    • getValue

      public Object getValue()
      Description copied from interface: CalcResult
      Actual answer
      Specified by:
      getValue in interface CalcResult
      Returns:
      the calculation result as a generic object
    • toInt

      public int toInt()
      Description copied from interface: CalcResult
      Access getValue as an int
      Specified by:
      toInt in interface CalcResult
      Returns:
      the calculation result as a int (or 0 if not applicable)
    • toDouble

      public double toDouble()
      Description copied from interface: CalcResult
      Access getValue as a double
      Specified by:
      toDouble in interface CalcResult
      Returns:
      the calculation result as a double (or 0 if not applicable)
    • toString

      public String toString()
      Description copied from interface: CalcResult
      Access getValue as a string
      Specified by:
      toString in interface CalcResult
      Overrides:
      toString in class Object
      Returns:
      the calculation result as a string (or "" if not applicable)
    • toLong

      public long toLong()
      Description copied from interface: CalcResult
      Access getValue as a long
      Specified by:
      toLong in interface CalcResult
      Returns:
      the calculation result as a long (or 0 if not applicable)
    • toFloat

      public float toFloat()
      Description copied from interface: CalcResult
      Access getValue as a float
      Specified by:
      toFloat in interface CalcResult
      Returns:
      the calculation result as a float (or 0 if not applicable)
    • toGeometry

      public Geometry toGeometry()
      Description copied from interface: CalcResult
      Access getValue as a geometry
      Specified by:
      toGeometry in interface CalcResult
      Returns:
      the calculation result as a geometry (or null if not applicable)
    • toEnvelope

      public Envelope toEnvelope()
      Description copied from interface: CalcResult
      Access getValue as an envelope
      Specified by:
      toEnvelope in interface CalcResult
      Returns:
      the calculation result as an envelope (or null if not applicable)
    • toPoint

      public Point toPoint()
      Description copied from interface: CalcResult
      Access getValue as a point
      Specified by:
      toPoint in interface CalcResult
      Returns:
      the calculation result as a point (or null if not applicable)
    • toSet

      public Set toSet()
      Description copied from interface: CalcResult
      Access getValue as a set
      Specified by:
      toSet in interface CalcResult
      Returns:
      the calculation result as a set (or null if not applicable)
    • toList

      public List toList()
      Description copied from interface: CalcResult
      Access getValue as a list
      Specified by:
      toList in interface CalcResult
      Returns:
      the calculation result as a list (or null if not applicable)
    • toArray

      public Object[] toArray()
      Description copied from interface: CalcResult
      Access getValue as an array
      Specified by:
      toArray in interface CalcResult
      Returns:
      the calculation result as an array (or null if not applicable)
    • toMap

      public Map toMap()
      The keys of the map will be List instead of arrays, since arrays don't give a decent hash code.
      Specified by:
      toMap in interface CalcResult
      Returns:
      the calculation result as a map (or null if not applicable)