Class VisibilityFilter
- java.lang.Object
-
- org.apache.accumulo.core.iterators.SynchronizedServerFilter
-
- org.apache.accumulo.core.iterators.system.VisibilityFilter
-
- All Implemented Interfaces:
SortedKeyValueIterator<Key,Value>,YieldingKeyValueIterator<Key,Value>
public class VisibilityFilter extends SynchronizedServerFilter
A SortedKeyValueIterator that filters based on ColumnVisibility and optimized for use with system iterators. Prior to 2.0, this class extendedFilterand all system iterators where wrapped with aSynchronizedIteratorduring creation of the iterator stack inIteratorUtil.loadIterators(). For performance reasons, the synchronization was pushed down the stack to this class.
-
-
Field Summary
Fields Modifier and Type Field Description protected Authorizationsauthorizationsprotected org.apache.commons.collections4.map.LRUMap<ByteSequence,Boolean>cacheprotected ByteSequencedefaultVisibilityprotected VisibilityEvaluatorve-
Fields inherited from class org.apache.accumulo.core.iterators.SynchronizedServerFilter
source
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanaccept(Key k, Value v)SortedKeyValueIterator<Key,Value>deepCopy(IteratorEnvironment env)Creates a deep copy of this iterator as though seek had not yet been called.static SortedKeyValueIterator<Key,Value>wrap(SortedKeyValueIterator<Key,Value> source, Authorizations authorizations, byte[] defaultVisibility)-
Methods inherited from class org.apache.accumulo.core.iterators.SynchronizedServerFilter
getTopKey, getTopValue, hasTop, init, next, seek
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.accumulo.core.iterators.YieldingKeyValueIterator
enableYielding
-
-
-
-
Field Detail
-
ve
protected VisibilityEvaluator ve
-
defaultVisibility
protected ByteSequence defaultVisibility
-
cache
protected org.apache.commons.collections4.map.LRUMap<ByteSequence,Boolean> cache
-
authorizations
protected Authorizations authorizations
-
-
Method Detail
-
deepCopy
public SortedKeyValueIterator<Key,Value> deepCopy(IteratorEnvironment env)
Description copied from interface:SortedKeyValueIteratorCreates a deep copy of this iterator as though seek had not yet been called. init should be called on an iterator before deepCopy is called. init should not need to be called on the copy that is returned by deepCopy; that is, when necessary init should be called in the deepCopy method on the iterator it returns. The behavior is unspecified if init is called after deepCopy either on the original or the copy. A proper implementation would call deepCopy on the source.- Specified by:
deepCopyin interfaceSortedKeyValueIterator<Key,Value>- Specified by:
deepCopyin classSynchronizedServerFilter- Parameters:
env-IteratorEnvironmentenvironment in which iterator is being run.- Returns:
SortedKeyValueIteratora copy of this iterator (with the same source and settings).
-
accept
protected boolean accept(Key k, Value v)
- Specified by:
acceptin classSynchronizedServerFilter- Returns:
trueif the key/value pair is accepted by the filter.
-
wrap
public static SortedKeyValueIterator<Key,Value> wrap(SortedKeyValueIterator<Key,Value> source, Authorizations authorizations, byte[] defaultVisibility)
-
-