accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bil...@apache.org
Subject svn commit: r1364803 - in /accumulo/trunk: ./ core/ core/src/main/java/org/apache/accumulo/core/iterators/WrappingIterator.java server/ src/
Date Mon, 23 Jul 2012 21:23:12 GMT
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



Mime
View raw message