com.tangosol.util.aggregator.DoubleAverage Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of coherence Show documentation
Show all versions of coherence Show documentation
Oracle Coherence Community Edition
/*
* Copyright (c) 2000, 2020, Oracle and/or its affiliates.
*
* Licensed under the Universal Permissive License v 1.0 as shown at
* http://oss.oracle.com/licenses/upl.
*/
package com.tangosol.util.aggregator;
import com.tangosol.io.ByteArrayReadBuffer;
import com.tangosol.io.ByteArrayWriteBuffer;
import com.tangosol.util.InvocableMap;
import com.tangosol.util.ValueExtractor;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
/**
* Calculates an average for values of any numeric type extracted from a set
* of entries in a Map. All the extracted Number objects will be treated as
* Java double values. If the set of entries is empty, a
* null result is returned.
*
* @param the type of the value to extract from
*
* @author gg 2005.09.05
* @since Coherence 3.1
*/
public class DoubleAverage
extends AbstractDoubleAggregator
{
// ----- constructors ---------------------------------------------------
/**
* Default constructor (necessary for the ExternalizableLite interface).
*/
public DoubleAverage()
{
super();
}
/**
* Construct a DoubleAverage aggregator.
*
* @param extractor the extractor that provides a value in the form of
* any Java object that is a {@link Number}
*/
public DoubleAverage(ValueExtractor super T, ? extends Number> extractor)
{
super(extractor);
}
/**
* Construct an DoubleAverage object.
*
* @param sMethod the name of the method that returns a value in the form
* of any Java object that is a {@link Number}
*/
public DoubleAverage(String sMethod)
{
super(sMethod);
}
// ----- StreamingAggregator methods ------------------------------------
@Override
public InvocableMap.StreamingAggregator