Package org.geotools.feature.visitor
Class GroupByVisitor.GroupByResult
Object
GroupByResult
- All Implemented Interfaces:
CalcResult
- Enclosing class:
- GroupByVisitor
This class implements the feature calculation result of the group by visitor.
-
Field Summary
Fields inherited from interface CalcResult
NULL_RESULT
-
Constructor Summary
ConstructorsConstructorDescriptionGroupByResult
(Map<List<Object>, CalcResult> results, Aggregate aggregateVisitor, List<Expression> groupByAttributes) -
Method Summary
Modifier and TypeMethodDescriptiongetValue()
Actual answerboolean
isCompatible
(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.merge
(CalcResult newResult) Returns the merged results of two CalcResult.Object[]
toArray()
Access getValue as an arraydouble
toDouble()
Access getValue as a doubleAccess getValue as an envelopefloat
toFloat()
Access getValue as a floatAccess getValue as a geometryint
toInt()
Access getValue as an inttoList()
Access getValue as a listlong
toLong()
Access getValue as a longtoMap()
The keys of the map will be List instead of arrays, since arrays don't give a decent hash code.toPoint()
Access getValue as a pointtoSet()
Access getValue as a settoString()
Access getValue as a string
-
Constructor Details
-
GroupByResult
public GroupByResult(Map<List<Object>, CalcResult> results, Aggregate aggregateVisitor, List<Expression> groupByAttributes)
-
-
Method Details
-
getResults
-
getAggregateVisitor
-
getGroupByAttributes
-
isCompatible
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 interfaceCalcResult
- Parameters:
newResult
- the second CalcResult Object- Returns:
- true if the targetResults can be merged with the current results
-
merge
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 interfaceCalcResult
- Returns:
- the merged results
-
getValue
Description copied from interface:CalcResult
Actual answer- Specified by:
getValue
in interfaceCalcResult
- 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 interfaceCalcResult
- 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 interfaceCalcResult
- Returns:
- the calculation result as a double (or 0 if not applicable)
-
toString
Description copied from interface:CalcResult
Access getValue as a string- Specified by:
toString
in interfaceCalcResult
- Overrides:
toString
in classObject
- 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 interfaceCalcResult
- 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 interfaceCalcResult
- Returns:
- the calculation result as a float (or 0 if not applicable)
-
toGeometry
Description copied from interface:CalcResult
Access getValue as a geometry- Specified by:
toGeometry
in interfaceCalcResult
- Returns:
- the calculation result as a geometry (or null if not applicable)
-
toEnvelope
Description copied from interface:CalcResult
Access getValue as an envelope- Specified by:
toEnvelope
in interfaceCalcResult
- Returns:
- the calculation result as an envelope (or null if not applicable)
-
toPoint
Description copied from interface:CalcResult
Access getValue as a point- Specified by:
toPoint
in interfaceCalcResult
- Returns:
- the calculation result as a point (or null if not applicable)
-
toSet
Description copied from interface:CalcResult
Access getValue as a set- Specified by:
toSet
in interfaceCalcResult
- Returns:
- the calculation result as a set (or null if not applicable)
-
toList
Description copied from interface:CalcResult
Access getValue as a list- Specified by:
toList
in interfaceCalcResult
- Returns:
- the calculation result as a list (or null if not applicable)
-
toArray
Description copied from interface:CalcResult
Access getValue as an array- Specified by:
toArray
in interfaceCalcResult
- Returns:
- the calculation result as an array (or null if not applicable)
-
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 interfaceCalcResult
- Returns:
- the calculation result as a map (or null if not applicable)
-