public class ConditionalIndex extends SimpleMapIndex
MapIndex implementation that uses an associated
 filter to evaluate whether or not an entry should be indexed.  An entry's
 extracted value is only added to the index if the filter evaluates to true.SimpleMapIndex.IndexCalculatorBase.LoggingWriter, Base.StackFramem_calculator, m_cLogMissingIdx, m_comparator, m_ctx, m_cUnits, m_extractor, m_fForwardIndex, m_fImmutableValues, m_fOrdered, m_fSplitCollection, m_ldtLogMissingIdx, m_mapForward, m_mapInverse, m_setKeyExcluded| Constructor and Description | 
|---|
ConditionalIndex(Filter filter,
                ValueExtractor extractor,
                boolean fOrdered,
                Comparator comparator,
                boolean fForwardIndex,
                BackingMapContext ctx)
Construct a ConditionalIndex. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
protected void | 
deleteInternal(Map.Entry entry)
Update this index in response to a remove operation on a cache. 
 | 
boolean | 
equals(Object o)
Compares the specified object with this index for equality. 
 | 
protected boolean | 
evaluateEntry(Map.Entry entry)
Evaluate the given entry using this index's filter. 
 | 
Object | 
get(Object oKey)
Using the index information if possible, get the value associated with
 the specified key. 
 | 
Filter | 
getFilter()
Get the associated filter. 
 | 
protected Map.Entry | 
getForwardEntry(Object oKey)
Get the forward index entry associated with the specified key. 
 | 
protected void | 
insertInternal(Map.Entry entry)
Update this index in response to a insert operation on a cache. 
 | 
protected Map | 
instantiateForwardIndex()
Instantiate the forward index. 
 | 
boolean | 
isPartial()
Determine if indexed information for any entry in the indexed Map has
 been excluded from this index. 
 | 
protected void | 
removeForwardEntry(Object oKey)
Remove the forward index entry for the specified key. 
 | 
String | 
toString()
Returns a string representation of this ConditionalIndex. 
 | 
protected void | 
updateInternal(Map.Entry entry)
Update this index in response to an update operation on a cache. 
 | 
addForwardEntry, addInverseCollectionMapping, addInverseMapping, addInverseMapping, collectRemoved, delete, ensureCollection, extractNewValue, extractOldValue, getCalculator, getComparator, getIndexContents, getUnits, getValueExtractor, hashCode, initialize, insert, instantiateCalculator, instantiateInverseIndex, instantiateSet, isForwardIndexSupported, isKeyExcluded, isOptimizeMV, isOrdered, logMissingIdx, onMappingAdded, onMappingAdded, onMappingRemoved, onMappingRemoved, removeInverseMapping, removeInverseMapping, removeInverseMapping, setOptimizeMV, setUnits, toString, update, updateExcludedKeysazzert, 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, 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, waitpublic ConditionalIndex(Filter filter, ValueExtractor extractor, boolean fOrdered, Comparator comparator, boolean fForwardIndex, BackingMapContext ctx)
filter - the filter that is used to evaluate the entries of
                       the resource map that is being indexedextractor - the ValueExtractor that is used to extract
                       an indexed value from a resource map entryfOrdered - true iff the contents of the indexed information
                       should be ordered; false otherwisecomparator - the Comparator object which imposes an ordering on
                       entries in the index map; or null if the
                       entries' values natural ordering should be usedfForwardIndex - specifies whether or not this index supports a
                       forward mapctx - the context associated with
                       this indexpublic Object get(Object oKey)
get in interface MapIndexget in class SimpleMapIndexoKey - the key that specifies the object to extract the value fromprotected Map.Entry getForwardEntry(Object oKey)
getForwardEntry in class SimpleMapIndexoKey - the keyprotected void removeForwardEntry(Object oKey)
removeForwardEntry in class SimpleMapIndexoKey - the key to remove the forward index entry forprotected Map instantiateForwardIndex()
 Note: To optimize the memory footprint of the forward index, any
 subclasses of the SimpleMapIndex that override this method must also
 implement the SimpleMapIndex.getForwardEntry(Object) method accordingly.
instantiateForwardIndex in class SimpleMapIndexpublic boolean isPartial()
IndexAwareFilter implementations to
 determine the most optimal way to apply the index.
 Note: Queries that use a partial index are allowed not to return entries that are not indexed even though they would match the corresponding filter were they evaluated during the full scan (if there were no index). However, it's not allowable for a query to return entries that do not match the corresponding filter, regardless of their presence in the index.
isPartial in interface MapIndexisPartial in class SimpleMapIndexpublic Filter getFilter()
protected boolean evaluateEntry(Map.Entry entry)
entry - the entry to evaluateprotected void insertInternal(Map.Entry entry)
insertInternal in class SimpleMapIndexentry - the entry representing the object being insertedprotected void updateInternal(Map.Entry entry)
updateInternal in class SimpleMapIndexentry - the entry representing the object being updatedprotected void deleteInternal(Map.Entry entry)
deleteInternal in class SimpleMapIndexentry - the entry representing the object being removedpublic String toString()
toString in class SimpleMapIndexpublic boolean equals(Object o)
equals in class SimpleMapIndexo - object to be compared for equality with this MapIndex