|
Oracle® Coherence Java API Reference Release 3.7.1.0 E22843-01 |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
com.tangosol.util.Base
com.tangosol.util.BitHelper
com.tangosol.util.ExternalizableHelper
com.tangosol.util.extractor.AbstractExtractor
com.tangosol.util.extractor.AbstractCompositeExtractor
com.tangosol.util.extractor.MultiExtractor
public class MultiExtractor
Composite ValueExtractor implementation based on an array of extractors. All extractors in the array are applied to the same target object and the result of the extraction is a List
of extracted values.
Common scenarios for using the MultiExtractor involve the DistinctValues
or GroupAggregator
aggregators, that allow clients to collect all distinct combinations of a given set of attributes or collect and run additional aggregation against the corresponding groups of entries.
Field Summary |
---|
Fields inherited from class com.tangosol.util.extractor.AbstractCompositeExtractor |
---|
m_aExtractor |
Fields inherited from class com.tangosol.util.extractor.AbstractExtractor |
---|
KEY, m_nTarget, VALUE |
Constructor Summary | |
---|---|
MultiExtractor() Default constructor (necessary for the ExternalizableLite interface). |
|
MultiExtractor(java.lang.String sNames) Construct a MultiExtractor for a specified method name list. |
|
MultiExtractor(ValueExtractor[] aExtractor) Construct a MultiExtractor. |
Method Summary | |
---|---|
int |
compareEntries(QueryMap.Entry entry1, QueryMap.Entry entry2) Compare two entries based on the rules specified by Comparator . |
static ValueExtractor[] |
createExtractors(java.lang.String sNames) Parse a comma-delimited sequence of method names and instantiate a corresponding array of ValueExtractor objects. |
java.lang.Object |
extract(java.lang.Object oTarget) Extract a collection of values from the passed object using the underlying array of ValueExtractor objects. |
java.lang.Object |
extractFromEntry(java.util.Map.Entry entry) Extract a collection of values from the passed entry using the underlying array of ValueExtractor objects. |
java.lang.Object |
extractOriginalFromEntry(MapTrigger.Entry entry) Extract the value from the "original value" of the passed Entry object. |
Methods inherited from class com.tangosol.util.extractor.AbstractCompositeExtractor |
---|
equals, getExtractors, hashCode, readExternal, readExternal, toString, writeExternal, writeExternal |
Methods inherited from class com.tangosol.util.extractor.AbstractExtractor |
---|
compare |
Methods inherited from class com.tangosol.util.BitHelper |
---|
countBits, countBits, countBits, indexOfLSB, indexOfLSB, indexOfLSB, indexOfMSB, indexOfMSB, indexOfMSB, rotateLeft, rotateLeft, rotateLeft, rotateRight, rotateRight, rotateRight, toBitString, toBitString, toBitString |
Constructor Detail |
---|
public MultiExtractor()
public MultiExtractor(ValueExtractor[] aExtractor)
aExtractor
- the ValueExtractor arraypublic MultiExtractor(java.lang.String sNames)
sNames
- a comma-delimited sequence of method names which results in a MultiExtractor that is based on a corresponding array of ValueExtractor
objects; individual array elements will be either ReflectionExtractor
or ChainedExtractor
objectsMethod Detail |
---|
public java.lang.Object extract(java.lang.Object oTarget)
extract
in interface ValueExtractor
extract
in class AbstractExtractor
oTarget
- an Object to retrieve the collection of values fromList
containing the extracted values or null if the target object itself is nullpublic java.lang.Object extractFromEntry(java.util.Map.Entry entry)
extractFromEntry
in class AbstractExtractor
entry
- an entry to retrieve the collection of values fromList
containing the extracted valuespublic java.lang.Object extractOriginalFromEntry(MapTrigger.Entry entry)
AbstractExtractor
AbstractExtractor.extractFromEntry(java.util.Map.Entry)
method.extractOriginalFromEntry
in class AbstractExtractor
entry
- an Entry object whose original value should be used to extract the desired value frompublic int compareEntries(QueryMap.Entry entry1, QueryMap.Entry entry2)
Comparator
.
If possible, use the extract
method to optimize the value extraction process.
This method is expected to be implemented by Comparator wrappers, such as ChainedComparator
and InverseComparator
, which simply pass on this invocation to the wrapped Comparator objects if they too implement this interface, or to invoke their default compare method passing the actual objects (not the extracted values) obtained from the extractor using the passed entries.
This interface is also expected to be implemented by ValueExtractor implementations that implement the Comparator interface. It is expected that in most cases, the Comparator wrappers will eventually terminate at (i.e. delegate to) ValueExtractors that also implement this interface.
compareEntries
in interface QueryMapComparator
compareEntries
in class AbstractExtractor
entry1
- the first entry to compare values from; read-onlyentry2
- the second entry to compare values from; read-onlypublic static ValueExtractor[] createExtractors(java.lang.String sNames)
ValueExtractor
objects. Individual array elements will be either ReflectionExtractor
or ChainedExtractor
objects.sNames
- a comma-delimited sequence of method namesValueExtractor
objects
|
Oracle® Coherence Java API Reference Release 3.7.1.0 E22843-01 |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |