Class UniqueVisitor.UniqueResult

All Implemented Interfaces:
CalcResult
Enclosing class:
UniqueVisitor

public static class UniqueVisitor.UniqueResult extends AbstractCalcResult
  • Constructor Details

    • UniqueResult

      public UniqueResult(Set<Object> newSet)
    • UniqueResult

      public UniqueResult(Set<Object> newSet, boolean preserveOrder)
  • Method Details

    • createNewSet

      public static <T> Set<T> createNewSet(Collection<T> collection, boolean preserveOrder)
    • getValue

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

      public boolean isCompatible(CalcResult targetResults)
      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
      Overrides:
      isCompatible in class AbstractCalcResult
      Parameters:
      targetResults - the second CalcResult Object
      Returns:
      true if the targetResults can be merged with the current results
    • merge

      public CalcResult merge(CalcResult resultsToAdd)
      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
      Overrides:
      merge in class AbstractCalcResult
      Returns:
      the merged results