info.informatica.data
Class IteratorDataset<T>

java.lang.Object
  extended by info.informatica.data.AbstractDataset
      extended by info.informatica.data.GenericDataset
          extended by info.informatica.data.IteratorDataset<T>
All Implemented Interfaces:
Dataset

public final class IteratorDataset<T>
extends GenericDataset

A Dataset backed by an Iterator.

Version:
2.00
Author:
amengual at informatica dot info

Constructor Summary
IteratorDataset(List<String> column_names)
           
 
Method Summary
 void add(T o)
          If the iterator is a ListIterator, this method can be used to add rows to it.
 void close()
          Closes the Dataset.
 Map<FieldName,Object> getMap()
          Gets a name-> values map containing the current data row.
 boolean isAfterLast()
          Retrieves wether the dataset is after its last row.
 boolean isEmpty()
          This implementation of the method is only accurate when iterator is before its first row.
 boolean isLast()
          Retrieves wether the dataset is on its last row.
 boolean next()
          Positions the Dataset at the next row of data.
 void reset()
          Puts the Dataset cursor in the initial state, regardless of the current cursor state.
 void setIterator(Iterator<T> it)
          Sets the iterator that will provide the data to this Dataset.
 
Methods inherited from class info.informatica.data.GenericDataset
getDate, getDate, getDouble, getDouble, getInt, getInt, getLong, getLong, getMetaData, getNestedSet, getObject, getObject, getString, getString, setMetaData
 
Methods inherited from class info.informatica.data.AbstractDataset
evaluate, findColumn, getCatalogName, getColumnCount, getColumnName, getEnviron, getLabel, setEnviron, setLabel
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IteratorDataset

public IteratorDataset(List<String> column_names)
Method Detail

setIterator

public void setIterator(Iterator<T> it)
Sets the iterator that will provide the data to this Dataset.


add

public void add(T o)
If the iterator is a ListIterator, this method can be used to add rows to it.

Parameters:
o - Object to be added to ListIterator.

isEmpty

public boolean isEmpty()
                throws DatasetException
This implementation of the method is only accurate when iterator is before its first row.

Returns:
true if the Dataset is empty, false otherwise.
Throws:
DatasetException

next

public boolean next()
             throws DatasetException
Description copied from interface: Dataset
Positions the Dataset at the next row of data.

Specified by:
next in interface Dataset
Overrides:
next in class AbstractDataset
Returns:
false if there were no more rows, true otherwise.
Throws:
DatasetException - if the data repository produced an error.

isAfterLast

public boolean isAfterLast()
                    throws DatasetException
Description copied from interface: Dataset
Retrieves wether the dataset is after its last row.

Returns:
true if the dataset is after its last row, false otherwise.
Throws:
DatasetException - if the data repository produced an error.

isLast

public boolean isLast()
               throws DatasetException
Description copied from interface: Dataset
Retrieves wether the dataset is on its last row.

Evaluation of this method could be expensive.

Returns:
true if the dataset is on its last row, false otherwise.
Throws:
DatasetException - if the data repository produced an error.

reset

public void reset()
           throws DatasetException
Description copied from interface: Dataset
Puts the Dataset cursor in the initial state, regardless of the current cursor state.

This method allows the reuse of a Dataset object after all rows have been extracted by the use of the next() function.

This method is optional. Implementations are required to throw an UnsupportedOperationException in case they do not implement it.

Throws:
DatasetException - if an error happened when resetting the data.

close

public void close()
           throws DatasetException
Description copied from interface: Dataset
Closes the Dataset.

No further work is possible with the Dataset after closing it.

Specified by:
close in interface Dataset
Overrides:
close in class GenericDataset
Throws:
DatasetException - if an error happens when closing the Dataset.

getMap

public Map<FieldName,Object> getMap()
                             throws DatasetException
Gets a name-> values map containing the current data row.

Specified by:
getMap in interface Dataset
Overrides:
getMap in class GenericDataset
Returns:
a Map with the current data row. Cannot return null.
Throws:
DatasetException - if an error happens when creating the Map.