public class CompositeAggregator<K,V> extends ExternalizableHelper implements InvocableMap.StreamingAggregator<K,V,Object,List>, ExternalizableLite, PortableObject
Modifier and Type | Class and Description |
---|---|
static class |
CompositeAggregator.Parallel
Deprecated.
As of Coherence 12.2.1. Use CompositeAggregator instead.
|
ExternalizableHelper.DecoratedMultiBufferReadBuffer, ExternalizableHelper.DefaultObjectStreamFactory, ExternalizableHelper.FormatAwareCompressor, ExternalizableHelper.IntDecoratedObject, ExternalizableHelper.Shielded, ExternalizableHelper.ShieldedDataOutputStream, ExternalizableHelper.ShieldedInputStream, ExternalizableHelper.ShieldedObjectOutputStream, ExternalizableHelper.ShieldedOutputStream, ExternalizableHelper.SimpleXmlBeanClassCache, ExternalizableHelper.Stats, ExternalizableHelper.XmlBeanClassCache
Base.LoggingWriter, Base.StackFrame
Modifier and Type | Field and Description |
---|---|
protected InvocableMap.EntryAggregator[] |
m_aAggregator
The underlying EntryAggregator array.
|
protected List[] |
m_aParallelResults
An array of partial results for each aggregator.
|
protected boolean |
m_fInit
Flag specifying whether this aggregator has been initialized.
|
protected boolean |
m_fParallel
Flag specifying whether parallel optimizations can be used.
|
protected boolean |
m_fStreaming
Flag specifying whether streaming optimizations can be used.
|
protected Set |
m_setEntries
A set of accumulated entries to aggregate.
|
CONVERTER_FROM_BINARY, CONVERTER_STRIP_INTDECO, CONVERTER_TO_BINARY, DECO_APP_1, DECO_APP_2, DECO_APP_3, DECO_CUSTOM, DECO_EXPIRY, DECO_ID_MAX, DECO_ID_MIN, DECO_JCACHE, DECO_JCACHE_SYNTHETIC, DECO_MEMCACHED, DECO_PUSHREP, DECO_QUEUE_METADATA, DECO_RSVD_1, DECO_RSVD_2, DECO_STORE, DECO_TX, DECO_VALUE, DECO_WLS, EMPTY_BINARY_ARRAY, FMT_B_ARRAY, FMT_BIN_DECO, FMT_BIN_EXT_DECO, FMT_BINARY, FMT_BOOLEAN, FMT_BYTE, FMT_DECIMAL, FMT_DOUBLE, FMT_EXT, FMT_FLOAT, FMT_IDO, FMT_INT, FMT_INTEGER, FMT_LONG, FMT_NONE, FMT_NULL, FMT_OBJ_EXT, FMT_OBJ_SER, FMT_OPT, FMT_OPT_DOUBLE, FMT_OPT_INT, FMT_OPT_LONG, FMT_SHORT, FMT_STRING, FMT_UNKNOWN, FMT_XML_BEAN, FMT_XML_SER, FORCE_RESOLVING_STREAMS, MAX_DECO_HEADER_BYTES, PROPERTY_CONFIG, s_streamfactory, TRINT_DOMAIN_SPAN, TRINT_MAX_VALUE, TRINT_MAX_VARIANCE, USE_POF_STREAMS, USE_XMLBEAN_CLASS_CACHE, XMLBEAN_CLASS_CACHE
LOG_ALWAYS, LOG_DEBUG, LOG_ERR, LOG_INFO, LOG_MAX, LOG_MIN, LOG_QUIET, LOG_WARN, POWER_0, POWER_G, POWER_K, POWER_M, POWER_T, UNIT_D, UNIT_H, UNIT_M, UNIT_MS, UNIT_NS, UNIT_S, UNIT_US
ALLOW_INCONSISTENCIES, BY_MEMBER, BY_PARTITION, PARALLEL, PRESENT_ONLY, RETAINS_ENTRIES, SERIAL
Constructor and Description |
---|
CompositeAggregator()
Default constructor (necessary for the ExternalizableLite interface).
|
CompositeAggregator(InvocableMap.EntryAggregator[] aAggregator)
Construct a CompositeAggregator based on a specified EntryAggregator
array.
|
Modifier and Type | Method and Description |
---|---|
boolean |
accumulate(InvocableMap.Entry entry)
Accumulate one entry into the result.
|
List |
aggregate(Set setEntries)
Process a set of InvocableMap Entry objects using each of the
underlying agregators in order to produce an array of aggregated
results.
|
int |
characteristics()
A bit mask representing the set of characteristics of this aggregator.
|
boolean |
combine(Object oResultPart)
Merge another partial result into the result.
|
static CompositeAggregator |
createInstance(InvocableMap.EntryAggregator[] aAggregator)
Create an instance of CompositeAggregator based on a specified
EntryAggregator
array. |
protected void |
ensureInitialized()
Ensure that this aggregator is initialized.
|
boolean |
equals(Object o)
Compare the CompositeAggregator with another object to determine
equality.
|
List |
finalizeResult()
Return the final result of the aggregation.
|
InvocableMap.EntryAggregator[] |
getAggregators()
Obtain the EntryAggregator array.
|
Object |
getPartialResult()
Return the partial result of the aggregation.
|
int |
hashCode()
Determine a hash value for the MultiExtractor object according to the
general
Object.hashCode() contract. |
void |
readExternal(DataInput in)
Restore the contents of this object by loading the object's state from
the passed DataInput object.
|
void |
readExternal(PofReader in)
Restore the contents of a user type instance by reading its state using
the specified PofReader object.
|
InvocableMap.StreamingAggregator<K,V,Object,List> |
supply()
Create a new instance of this aggregator.
|
String |
toString()
Return a human-readable description for this ValueExtractor.
|
void |
writeExternal(DataOutput out)
Save the contents of this object by storing the object's state into
the passed DataOutput object.
|
void |
writeExternal(PofWriter out)
Save the contents of a POF user type instance by writing its state using
the specified PofWriter object.
|
asBinary, calculatePackedLength, calculatePackedLength, checkObjectInputFilter, convertUTF, decodeExpiry, decorate, decorate, decorate, decorate, decorate, decorateBinary, encodeExpiry, ensureSerializer, extractIntDecoration, fromBinary, fromBinary, fromBinary, fromBinary, fromBinary, fromBinary, fromByteArray, fromByteArray, getClass, getDecoration, getDecoration, getDecorations, getDeltaCompressor, getInputStream, getNewObjectInput, getObjectInput, getObjectOutput, getObjectStreamFactory, getOutputStream, getShieldedOutputStream, getStreamFormat, getUndecorated, getUndecorated, isDecorated, isDecorated, isIntDecorated, isIntDecorated, isResolving, isSerializable, isSerializerCompatible, isVersionCompatible, isVersionCompatible, loadClass, loadResource, main, makeTrint, readBigDecimal, readBigInteger, readBooleanArray, readByteArray, readCollection, readDate, readDoubleArray, readExternalizableLite, readExternalizableLite, readFloatArray, readInt, readInt, readIntArray2d, readLong, readLong, readMap, readMap, readObject, readObject, readSafeUTF, readSafeUTF, readSerializable, readSerializable, readStringArray, readTime, readTimestamp, readTrint, readUnsignedTrint, readUTF, readXmlBean, readXmlSerializable, readXmlSerializable, realize, removeIntDecoration, removeIntDecoration, replace, reportIncompatibleSerializers, setObjectStreamFactory, toBinary, toBinary, toByteArray, toByteArray, toByteArray, toLiteBinary, toLong, undecorate, undecorate, validateBufferSize, writeBigDecimal, writeBigInteger, writeBooleanArray, writeByteArray, writeCollection, writeDate, writeDoubleArray, writeExternalizableLite, writeFloatArray, writeInt, writeInt, writeIntArray2d, writeLong, writeLong, writeMap, writeObject, writeSafeUTF, writeSafeUTF, writeSerializable, writeStringArray, writeTime, writeTimestamp, writeTrint, writeTrint, writeUTF, writeXmlBean, writeXmlSerializable
countBits, countBits, countBits, indexOfLSB, indexOfLSB, indexOfLSB, indexOfMSB, indexOfMSB, indexOfMSB, rotateLeft, rotateLeft, rotateLeft, rotateRight, rotateRight, rotateRight, toBitString, toBitString, toBitString, toBytes, toBytes, toBytes, toBytes, toInt, toInt, toLong
azzert, azzert, azzert, azzertFailed, breakLines, breakLines, capitalize, checkNotEmpty, checkNotNull, checkRange, computeSafeWaitTime, decimalValue, dup, dup, ensureBigDecimal, ensureClassLoader, ensureRuntimeException, ensureRuntimeException, equals, equalsDeep, err, err, err, err, err, escape, formatDateTime, getCallerStackFrame, getCommonMonitor, getCommonMonitor, getCommonMonitor, getContextClassLoader, getContextClassLoader, getDeepMessage, getErr, getLastSafeTimeMillis, getLog, getMaxDecDigits, getMaxHexDigits, getOriginalException, getOut, getProcessRandom, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mod, mod, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, randomize, randomize, randomize, randomize, read, read, read, read, read, read, read, replace, setErr, setLog, setLogEcho, setOut, sleep, toBandwidthString, toBandwidthString, toCharEscape, toCrc, toCrc, toCrc, toCrc, toCrc, toDecString, toDelimitedString, toDelimitedString, toDelimitedString, toDelimitedString, toHex, toHex, toHexDump, toHexEscape, toHexEscape, toHexEscape, toHexEscape, toHexString, toMemorySizeString, toMemorySizeString, toQuotedCharEscape, toQuotedStringEscape, toSqlString, toString, toString, toStringEscape, toUnicodeEscape, trace, trace, trace, trace, trace, trace, trace, trace, trace, truncateString, truncateString, wait
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
accumulate, isAllowInconsistencies, isByMember, isByPartition, isParallel, isPresentOnly, isRetainsEntries, isSerial
protected InvocableMap.EntryAggregator[] m_aAggregator
protected transient boolean m_fInit
protected transient boolean m_fStreaming
protected transient boolean m_fParallel
protected transient Set m_setEntries
protected transient List[] m_aParallelResults
public CompositeAggregator()
public CompositeAggregator(InvocableMap.EntryAggregator[] aAggregator)
aAggregator
- an array of EntryAggregator objects; may not be
nullpublic List aggregate(Set setEntries)
aggregate
in interface InvocableMap.EntryAggregator<K,V,List>
aggregate
in interface InvocableMap.StreamingAggregator<K,V,Object,List>
setEntries
- a Set of read-only InvocableMap Entry objects to
aggregatepublic InvocableMap.StreamingAggregator<K,V,Object,List> supply()
InvocableMap.StreamingAggregator
public boolean accumulate(InvocableMap.Entry entry)
InvocableMap.StreamingAggregator
accumulate
in interface InvocableMap.StreamingAggregator<K,V,Object,List>
entry
- the entry to accumulate into the aggregation resulttrue
to continue the aggregation, and false
to
signal to the caller that the result is ready and the
aggregation can be short-circuitedpublic boolean combine(Object oResultPart)
InvocableMap.StreamingAggregator
public Object getPartialResult()
InvocableMap.StreamingAggregator
getPartialResult
in interface InvocableMap.StreamingAggregator<K,V,Object,List>
public List finalizeResult()
InvocableMap.StreamingAggregator
finalizeResult
in interface InvocableMap.StreamingAggregator<K,V,Object,List>
public int characteristics()
InvocableMap.StreamingAggregator
Be default, characteristics are a combination of InvocableMap.StreamingAggregator.PARALLEL
and InvocableMap.StreamingAggregator.RETAINS_ENTRIES
, which is sub-optimal and should be
overridden by the aggregator implementation if the aggregator does not
need to retain entries (which is often the case).
characteristics
in interface InvocableMap.StreamingAggregator<K,V,Object,List>
InvocableMap.StreamingAggregator.PARALLEL
,
InvocableMap.StreamingAggregator.SERIAL
,
InvocableMap.StreamingAggregator.BY_MEMBER
,
InvocableMap.StreamingAggregator.BY_PARTITION
,
InvocableMap.StreamingAggregator.RETAINS_ENTRIES
,
InvocableMap.StreamingAggregator.PRESENT_ONLY
protected void ensureInitialized()
public void readExternal(DataInput in) throws IOException
readExternal
in interface ExternalizableLite
in
- the DataInput stream to read data from in order to restore
the state of this objectIOException
- if an I/O exception occursNotActiveException
- if the object is not in its initial
state, and therefore cannot be deserialized intopublic void writeExternal(DataOutput out) throws IOException
writeExternal
in interface ExternalizableLite
out
- the DataOutput stream to write the state of this object toIOException
- if an I/O exception occurspublic void readExternal(PofReader in) throws IOException
readExternal
in interface PortableObject
in
- the PofReader from which to read the object's stateIOException
- if an I/O error occurspublic void writeExternal(PofWriter out) throws IOException
writeExternal
in interface PortableObject
out
- the PofWriter to which to write the object's stateIOException
- if an I/O error occurspublic InvocableMap.EntryAggregator[] getAggregators()
public boolean equals(Object o)
public int hashCode()
Object.hashCode()
contract.public String toString()
public static CompositeAggregator createInstance(InvocableMap.EntryAggregator[] aAggregator)
EntryAggregator
array. If all the aggregators in the specified array are instances of
ParallelAwareAggregator
, then a parallel-aware instance of the
CompositeAggregator will be created.
aAggregator
- an array of EntryAggregator objects; must contain
not less than two aggregators