Author: billie Date: Mon Jul 23 21:23:11 2012 New Revision: 1364803 URL: http://svn.apache.org/viewvc?rev=1364803&view=rev Log: ACCUMULO-675 improved documentation for WrappingIterator - merged to trunk
Modified: accumulo/trunk/ (props changed) accumulo/trunk/core/ (props changed) accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/WrappingIterator.java accumulo/trunk/server/ (props changed) accumulo/trunk/src/ (props changed) Propchange: accumulo/trunk/ ------------------------------------------------------------------------------ Merged /accumulo/branches/1.4/src:r1364778 Propchange: accumulo/trunk/core/ ------------------------------------------------------------------------------ Merged /accumulo/branches/1.4/src/core:r1364778 Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/WrappingIterator.java URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/WrappingIterator.java?rev=1364803&r1=1364802&r2=1364803&view=diff ============================================================================== --- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/WrappingIterator.java (original) +++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/WrappingIterator.java Mon Jul 23 21:23:11 2012 @@ -25,6 +25,15 @@ import org.apache.accumulo.core.data.Key import org.apache.accumulo.core.data.Range; import org.apache.accumulo.core.data.Value; +/** + * A convenience class for implementing iterators that select, but do not modify, entries read from a source iterator. Default implementations exist for all + * methods, but {@link #deepCopy} will throw an <code>UnsupportedOperationException</code>. + * + * This iterator has some checks in place to enforce the iterator contract. Specifically, it verifies that it has a source iterator and that {@link #seek} has + * been called before any data is read. If either of these conditions does not hold true, an <code>IllegalStateException</code> will be thrown. In particular, + * this means that <code>getSource().seek</code> and <code>super.seek</code> no longer perform identical actions. Implementors should take note of this and if + * <code>seek</code> is overridden, ensure that <code>super.seek</code> is called before data is read. + */ public abstract class WrappingIterator implements SortedKeyValueIterator<Key,Value> { private SortedKeyValueIterator<Key,Value> source = null; Propchange: accumulo/trunk/server/ ------------------------------------------------------------------------------ Merged /accumulo/branches/1.4/src/server:r1364778 Propchange: accumulo/trunk/src/ ------------------------------------------------------------------------------ Merged /accumulo/branches/1.4/src/src:r1364778