Package org.geotools.feature.visitor
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.
-
-
Field Summary
-
Fields inherited from interface CalcResult
NULL_RESULT
-
-
Constructor Summary
Constructors Constructor Description GroupByResult(Map<List<Object>,CalcResult> results, Aggregate aggregateVisitor, List<Expression> groupByAttributes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AggregategetAggregateVisitor()List<Expression>getGroupByAttributes()Map<List<Object>,CalcResult>getResults()ObjectgetValue()Actual answerbooleanisCompatible(CalcResult newResult)Returns true if the target results is a compatible type with the current results, with compatible meaning that the two results may be merged.CalcResultmerge(CalcResult newResult)Returns the merged results of two CalcResult.Object[]toArray()Access getValue as an arraydoubletoDouble()Access getValue as a doubleEnvelopetoEnvelope()Access getValue as an envelopefloattoFloat()Access getValue as a floatGeometrytoGeometry()Access getValue as a geometryinttoInt()Access getValue as an intListtoList()Access getValue as a listlongtoLong()Access getValue as a longMaptoMap()The keys of the map will be List instead of arrays, since arrays don't give a decent hash code.PointtoPoint()Access getValue as a pointSettoSet()Access getValue as a setStringtoString()Access getValue as a string
-
-
-
Constructor Detail
-
GroupByResult
public GroupByResult(Map<List<Object>,CalcResult> results, Aggregate aggregateVisitor, List<Expression> groupByAttributes)
-
-
Method Detail
-
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:CalcResultReturns 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:
isCompatiblein interfaceCalcResult- 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:CalcResultReturns 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:
mergein interfaceCalcResult- Returns:
- the merged results
-
getValue
public Object getValue()
Description copied from interface:CalcResultActual answer- Specified by:
getValuein interfaceCalcResult- Returns:
- the calculation result as a generic object
-
toInt
public int toInt()
Description copied from interface:CalcResultAccess getValue as an int- Specified by:
toIntin interfaceCalcResult- Returns:
- the calculation result as a int (or 0 if not applicable)
-
toDouble
public double toDouble()
Description copied from interface:CalcResultAccess getValue as a double- Specified by:
toDoublein interfaceCalcResult- Returns:
- the calculation result as a double (or 0 if not applicable)
-
toString
public String toString()
Description copied from interface:CalcResultAccess getValue as a string- Specified by:
toStringin interfaceCalcResult- Overrides:
toStringin classObject- Returns:
- the calculation result as a string (or "" if not applicable)
-
toLong
public long toLong()
Description copied from interface:CalcResultAccess getValue as a long- Specified by:
toLongin interfaceCalcResult- Returns:
- the calculation result as a long (or 0 if not applicable)
-
toFloat
public float toFloat()
Description copied from interface:CalcResultAccess getValue as a float- Specified by:
toFloatin interfaceCalcResult- Returns:
- the calculation result as a float (or 0 if not applicable)
-
toGeometry
public Geometry toGeometry()
Description copied from interface:CalcResultAccess getValue as a geometry- Specified by:
toGeometryin interfaceCalcResult- Returns:
- the calculation result as a geometry (or null if not applicable)
-
toEnvelope
public Envelope toEnvelope()
Description copied from interface:CalcResultAccess getValue as an envelope- Specified by:
toEnvelopein interfaceCalcResult- Returns:
- the calculation result as an envelope (or null if not applicable)
-
toPoint
public Point toPoint()
Description copied from interface:CalcResultAccess getValue as a point- Specified by:
toPointin interfaceCalcResult- Returns:
- the calculation result as a point (or null if not applicable)
-
toSet
public Set toSet()
Description copied from interface:CalcResultAccess getValue as a set- Specified by:
toSetin interfaceCalcResult- Returns:
- the calculation result as a set (or null if not applicable)
-
toList
public List toList()
Description copied from interface:CalcResultAccess getValue as a list- Specified by:
toListin interfaceCalcResult- Returns:
- the calculation result as a list (or null if not applicable)
-
toArray
public Object[] toArray()
Description copied from interface:CalcResultAccess getValue as an array- Specified by:
toArrayin interfaceCalcResult- 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:
toMapin interfaceCalcResult- Returns:
- the calculation result as a map (or null if not applicable)
-
-