public class ChainedExtractor<T,E> extends AbstractCompositeExtractor<T,E>
ExternalizableHelper.DecoratedMultiBufferReadBuffer, ExternalizableHelper.DefaultObjectStreamFactory, ExternalizableHelper.FormatAwareCompressor, ExternalizableHelper.IntDecoratedObject, ExternalizableHelper.Shielded, ExternalizableHelper.ShieldedDataOutputStream, ExternalizableHelper.ShieldedInputStream, ExternalizableHelper.ShieldedObjectOutputStream, ExternalizableHelper.ShieldedOutputStream, ExternalizableHelper.SimpleXmlBeanClassCache, ExternalizableHelper.Stats, ExternalizableHelper.XmlBeanClassCacheBase.LoggingWriter, Base.StackFramem_aExtractorKEY, m_nTarget, m_sNameCanon, VALUECHUNK_SIZE, CHUNK_THRESHOLD, 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_TOPLINK, 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, s_tloInEHDeserialize, TRINT_DOMAIN_SPAN, TRINT_MAX_VALUE, TRINT_MAX_VARIANCE, USE_POF_STREAMS, USE_XMLBEAN_CLASS_CACHE, XMLBEAN_CLASS_CACHE| Constructor and Description |
|---|
ChainedExtractor()
Default constructor (necessary for the ExternalizableLite interface).
|
ChainedExtractor(String sName)
Construct a ChainedExtractor for a specified method name sequence.
|
ChainedExtractor(ValueExtractor[] aExtractor)
Construct a ChainedExtractor based on a specified ValueExtractor array.
|
ChainedExtractor(ValueExtractor<? super T,? extends U> extractor1,
ValueExtractor<? super U,? extends E> extractor2)
Construct a ChainedExtractor based on two extractors.
|
| Modifier and Type | Method and Description |
|---|---|
<V> ValueExtractor<T,V> |
andThen(ValueExtractor<? super E,? extends V> after)
Returns a composed extractor that first applies this extractor to its
input, and then applies the
after extractor to the result. |
<V> ValueExtractor<V,E> |
compose(ValueExtractor<? super V,? extends T> before)
Returns a composed extractor that first applies the
before
extractor to its input, and then applies this extractor to the result. |
protected int |
computeTarget()
Return the target of the first extractor in composite extractor.
|
static ValueExtractor[] |
createExtractors(String sName)
Parse a dot-delimited sequence of method names and instantiate
a corresponding array of
ReflectionExtractor objects. |
void |
ensureTarget()
Ensure that this target is correct after first extractor manually updated.
|
E |
extract(Object oTarget)
Extract the value from the passed object.
|
E |
extractFromEntry(Map.Entry entry)
Extract the value from the passed entry.
|
E |
extractOriginalFromEntry(MapTrigger.Entry entry)
Extract the value from the "original value" of the passed Entry object
or the key (if targeted).
|
String |
getCanonicalName()
Compute a canonical name as a dot-separated concatenation of
the canonical name of each
ValueExtractor array element, starting
from lowest index array element. |
protected static ValueExtractor[] |
merge(ValueExtractor[] aHead,
ValueExtractor[] aTail)
Return a
ValueExtractor array with the provided arrays merged
into a single array. |
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.
|
equals, getExtractors, hashCode, toString, writeExternal, writeExternalcompare, compareEntries, getTarget, isCanonicallyEquatableasBinary, calculatePackedLength, calculatePackedLength, checkObjectInputFilter, checkObjectInputFilter, checkObjectInputFilter, convertUTF, decodeExpiry, decorate, decorate, decorate, decorate, decorate, decorateBinary, encodeExpiry, ensureSerializer, extractIntDecoration, fromBinary, fromBinary, fromBinary, fromBinary, fromBinary, fromBinary, fromByteArray, fromByteArray, getClass, getConfigSerialFilter, getConfigSerialFilterFactory, getDecoration, getDecoration, getDecorations, getDeltaCompressor, getInputStream, getNewObjectInput, getObjectInput, getObjectInputFilter, getObjectOutput, getObjectStreamFactory, getOutputStream, getShieldedOutputStream, getStreamFormat, getUndecorated, getUndecorated, isDecorated, isDecorated, isIntDecorated, isIntDecorated, isPatchCompatible, isPatchCompatible, isResolving, isSerializable, isSerializerCompatible, isVersionCompatible, isVersionCompatible, isVersionCompatible, isVersionCompatible, isVersionCompatible, isVersionCompatible, loadClass, loadResource, main, makeTrint, readBigDecimal, readBigInteger, readBooleanArray, readBooleanArray, readByteArray, readCharArray, readCharArray, readCollection, readDate, readDoubleArray, readDoubleArray, readExternalizableLite, readExternalizableLite, readFloatArray, readFloatArray, readInt, readInt, readIntArray, readIntArray, readIntArray2d, readLargeBooleanArray, readLargeByteArray, readLargeCharArray, readLargeDoubleArray, readLargeFloatArray, readLargeIntArray, readLargeLongArray, readLargeObjectArray, readLargeStringArray, readLong, readLong, readLongArray, readLongArray, readMap, readMap, readObject, readObject, readObjectArray, readObjectArray, readSafeUTF, readSafeUTF, readSerializable, readSerializable, readStringArray, readStringArray, readTime, readTimestamp, readTrint, readUnsignedTrint, readUTF, readXmlBean, readXmlSerializable, readXmlSerializable, realize, removeIntDecoration, removeIntDecoration, replace, reportIncompatibleSerializers, setObjectStreamFactory, toBinary, toBinary, toBinary, toByteArray, toByteArray, toByteArray, toLiteBinary, toLong, undecorate, undecorate, validateBufferSize, validateLoadArray, validateLoadClass, 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, writeXmlSerializablecountBits, countBits, countBits, indexOfLSB, indexOfLSB, indexOfLSB, indexOfMSB, indexOfMSB, indexOfMSB, rotateLeft, rotateLeft, rotateLeft, rotateRight, rotateRight, rotateRight, toBitString, toBitString, toBitString, toBytes, toBytes, toBytes, toBytes, toInt, toInt, toLongazzert, 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, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mergeArray, mergeBooleanArray, mergeByteArray, mergeCharArray, mergeDoubleArray, mergeFloatArray, mergeIntArray, mergeLongArray, 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, waitclone, finalize, getClass, notify, notifyAll, wait, wait, waitapply, applyAsDouble, applyAsInt, applyAsLong, fromKey, identity, identityCast, ofandThen, composecomparing, comparing, comparingDouble, comparingInt, comparingLong, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLongpublic ChainedExtractor()
public ChainedExtractor(ValueExtractor[] aExtractor)
aExtractor - the ValueExtractor arraypublic ChainedExtractor(ValueExtractor<? super T,? extends U> extractor1, ValueExtractor<? super U,? extends E> extractor2)
U - the type of value that will be extracted in the first ValueExtractorextractor1 - the first ValueExtractorextractor2 - the second ValueExtractorpublic ChainedExtractor(String sName)
sName - a dot-delimited sequence of method names which results
in a ChainedExtractor that is based on an array of
corresponding ReflectionExtractor objectspublic void ensureTarget()
public E extract(Object oTarget)
extract in interface ValueExtractor<T,E>extract in class AbstractExtractor<T,E>oTarget - the object to extract the value frompublic E extractFromEntry(Map.Entry entry)
extractFromEntry in class AbstractExtractor<T,E>entry - an Entry object to extract a desired value frompublic E extractOriginalFromEntry(MapTrigger.Entry entry)
AbstractExtractorAbstractExtractor.extractFromEntry(java.util.Map.Entry) method.extractOriginalFromEntry in class AbstractExtractor<T,E>entry - an Entry object whose original value should be used to
extract the desired value frompublic <V> ValueExtractor<V,E> compose(ValueExtractor<? super V,? extends T> before)
ValueExtractorbefore
extractor to its input, and then applies this extractor to the result.
If evaluation of either extractor throws an exception, it is relayed
to the caller of the composed extractor.V - the type of input to the before extractor, and
to the composed extractorbefore - the extractor to apply before this extractor is appliedbefore
extractor and then applies this extractorValueExtractor.andThen(ValueExtractor)public <V> ValueExtractor<T,V> andThen(ValueExtractor<? super E,? extends V> after)
ValueExtractorafter extractor to the result. If
evaluation of either extractor throws an exception, it is relayed to
the caller of the composed extractor.V - the type of output of the after extractor, and of
the composed extractorafter - the extractor to apply after this extractor is appliedafter extractorValueExtractor.compose(ValueExtractor)public String getCanonicalName()
ValueExtractor array element, starting
from lowest index array element.getCanonicalName in interface CanonicallyNamedgetCanonicalName in interface ValueExtractor<T,E>getCanonicalName in class AbstractExtractor<T,E>ValueExtractors.public void readExternal(DataInput in) throws IOException
readExternal in interface ExternalizableLitereadExternal in class AbstractCompositeExtractor<T,E>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 readExternal(PofReader in) throws IOException
readExternal in interface PortableObjectreadExternal in class AbstractCompositeExtractor<T,E>in - the PofReader from which to read the object's stateIOException - if an I/O error occurspublic static ValueExtractor[] createExtractors(String sName)
ReflectionExtractor objects.sName - a dot-delimited sequence of method namesReflectionExtractor objectsprotected static ValueExtractor[] merge(ValueExtractor[] aHead, ValueExtractor[] aTail)
ValueExtractor array with the provided arrays merged
into a single array.aHead - the first group of elements in the returned arrayaTail - the second group of elements in the returned arrayprotected int computeTarget()
Enables equivalence between KeyExtractor("foo.bar") and ChainExtractor(ReflectionExtractor("foo", null, KEY), ReflectionExtractor("bar")).