title: Design pattern for consecutive object value extractor
body: <p>Consider an object that extracts object values from a source on a "pull" basis, until a special value (e.g., <code>null</code>) is encountered.</p>
  
  <p>In <code>Java</code>, the API could be something like</p>
  
  <pre><code>  public interface ValueExtractor&lt;T&gt; {
      public T extractNext();
    }
  </code></pre>
  
  <p>Operationally, this is an <code>Iterator</code> but it only has a (sort of) "next()" method and is not a <code>Reader</code> since it does not read from the source byte-by-byte. It also resembles a database cursor in the sense that it "scrolls" over all data values (records), until they are exhausted.</p>
  
  <p>Is there a design pattern other than "iterator" for this use case?</p>
  
  <p>What would be the best name to call such a simple object?</p>