Class VisibilityFilter
- java.lang.Object
-
- org.apache.accumulo.core.iterators.SynchronizedServerFilter
-
- org.apache.accumulo.core.iteratorsImpl.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 extendedFilter
and all system iterators where wrapped with aSynchronizedIterator
during 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 Authorizations
authorizations
protected org.apache.commons.collections4.map.LRUMap<ByteSequence,Boolean>
cache
protected ByteSequence
defaultVisibility
protected VisibilityEvaluator
ve
-
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 boolean
accept(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.SortedKeyValueIterator
isRunningLowOnMemory
-
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:SortedKeyValueIterator
Creates 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:
deepCopy
in interfaceSortedKeyValueIterator<Key,Value>
- Specified by:
deepCopy
in classSynchronizedServerFilter
- Parameters:
env
-IteratorEnvironment
environment in which iterator is being run, provided by Accumulo itself and is expected to be non-null.- Returns:
SortedKeyValueIterator
a copy of this iterator (with the same source and settings).
-
accept
protected boolean accept(Key k, Value v)
- Specified by:
accept
in classSynchronizedServerFilter
- Returns:
true
if the key/value pair is accepted by the filter.
-
wrap
public static SortedKeyValueIterator<Key,Value> wrap(SortedKeyValueIterator<Key,Value> source, Authorizations authorizations, byte[] defaultVisibility)
-
-