Class AverageVisitor.AverageResult

    • Constructor Detail

      • AverageResult

        public AverageResult​(Object value)
      • AverageResult

        public AverageResult​(Object newAverageStrategy,
                             boolean isOptimized)
      • AverageResult

        public AverageResult​(int newCount,
                             Object newSum)
    • Method Detail

      • getResult

        public Object getResult()
      • getCount

        public int getCount()
        The count used to calculate the average
        Returns:
        the count, or -1 if unknown
      • getSum

        public Object getSum()
        The sum used to calculate the average
      • isCompatible

        public boolean isCompatible​(CalcResult targetResults)
        Determines if the target CalcResult object can be merged with this CalcResult object
        Specified by:
        isCompatible in interface CalcResult
        Overrides:
        isCompatible in class AbstractCalcResult
        Parameters:
        targetResults - a second CalcResult object (target)
        Returns:
        boolean
      • merge

        public CalcResult merge​(CalcResult resultsToAdd)
        Merges the contents of a CalcResult Object with another CalcResult Object. If the two CalcResult objects are compatible, the merged result (a new object) is returned.
        Specified by:
        merge in interface CalcResult
        Overrides:
        merge in class AbstractCalcResult
        Parameters:
        resultsToAdd - the CalcResult to merge the results with
        Returns:
        a new merged CalcResult object
        Throws:
        IllegalArgumentException - when the resultsToAdd are inappropriate