Copyright © 2008-2011 Ralph Schuster. All Rights Reserved.

csv.impl
Class AbstractColumnFilter

java.lang.Object
  extended by csv.impl.AbstractColumnFilter
All Implemented Interfaces:
TableReader, java.util.Iterator<java.lang.Object[]>
Direct Known Subclasses:
DefaultColumnFilter

public abstract class AbstractColumnFilter
extends java.lang.Object
implements TableReader

Filters columns from underlying table reader. This is an abstract implementation only that eases filtering. Most of the methods are forwared to underlying reader.

Author:
ralph

Constructor Summary
AbstractColumnFilter(TableReader reader)
          Constructor.
 
Method Summary
 void close()
          Closes the underlying reader.
protected  java.lang.Object[] filter(java.lang.Object[] row)
          Filters columns within a row.
 java.lang.Object get(java.lang.String name, java.lang.Object[] row)
          Forwarded to underlying reader.
 int getColumnIndex(java.lang.String name)
          Returns the translated column index.
protected abstract  int getFilteredIndex(int originalIndex)
          Returns the index in filtered row of the specified original column index.
 java.lang.Object[] getHeaderRow()
          Returns the header row filtered.
 int getMinimumColumnCount()
          Forwarded to underlying reader.
protected  TableReader getReader()
          Returns the underlying reader.
protected  int getRowIndex()
          Returns the index of current row (delivered rows only)
 boolean hasHeaderRow()
          Forwarded to underlying reader.
 boolean hasNext()
          Forwarded to underlying reader.
 java.lang.Object[] next()
          Returns the row returned by underlying reader and reshuffles according to definition.
 void open()
          Forwarded to underlying reader.
 void registerCommentCallBack(CommentCallback callback)
          Forwarded to underlying reader.
 void remove()
          Forwarded to underlying reader.
 void reset()
          Forwarded to underlying reader.
 void setHasHeaderRow(boolean hasHeaderRow)
          Forwarded to underlying reader.
 void setMinimumColumnCount(int length)
          Forwarded to underlying reader.
 void unregisterCommentCallBack(CommentCallback callback)
          Forwarded to underlying reader.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractColumnFilter

public AbstractColumnFilter(TableReader reader)
Constructor.

Method Detail

getReader

protected TableReader getReader()
Returns the underlying reader.

Returns:
the reader

close

public void close()
Closes the underlying reader.

Specified by:
close in interface TableReader
See Also:
TableReader.close()

get

public java.lang.Object get(java.lang.String name,
                            java.lang.Object[] row)
Forwarded to underlying reader.

Specified by:
get in interface TableReader
Parameters:
name - name of column (from header row)
row - row of values
Returns:
value in row for specified column.
See Also:
TableReader.get(java.lang.String, java.lang.Object[])

getColumnIndex

public int getColumnIndex(java.lang.String name)
Returns the translated column index.

Specified by:
getColumnIndex in interface TableReader
Parameters:
name - name of column
Returns:
index of column or -1 if it does not exist.
See Also:
getFilteredIndex(int), TableReader.getColumnIndex(java.lang.String)

getHeaderRow

public java.lang.Object[] getHeaderRow()
Returns the header row filtered.

Specified by:
getHeaderRow in interface TableReader
Returns:
header row if such was defined.
See Also:
TableReader.getHeaderRow()

getMinimumColumnCount

public int getMinimumColumnCount()
Forwarded to underlying reader.

Specified by:
getMinimumColumnCount in interface TableReader
Returns:
length number of columns
See Also:
TableReader.getMinimumColumnCount()

hasHeaderRow

public boolean hasHeaderRow()
Forwarded to underlying reader.

Specified by:
hasHeaderRow in interface TableReader
Returns:
true if there is a header row.
See Also:
TableReader.hasHeaderRow()

open

public void open()
Forwarded to underlying reader.

Specified by:
open in interface TableReader
See Also:
TableReader.open()

registerCommentCallBack

public void registerCommentCallBack(CommentCallback callback)
Forwarded to underlying reader.

Specified by:
registerCommentCallBack in interface TableReader
Parameters:
callback - callback to be registered
See Also:
TableReader.registerCommentCallBack(csv.CommentCallback)

reset

public void reset()
Forwarded to underlying reader.

Specified by:
reset in interface TableReader
See Also:
TableReader.reset()

setHasHeaderRow

public void setHasHeaderRow(boolean hasHeaderRow)
Forwarded to underlying reader.

Specified by:
setHasHeaderRow in interface TableReader
Parameters:
hasHeaderRow - true if there is a header row.
See Also:
TableReader.setHasHeaderRow(boolean)

setMinimumColumnCount

public void setMinimumColumnCount(int length)
Forwarded to underlying reader.

Specified by:
setMinimumColumnCount in interface TableReader
Parameters:
length - number of columns
See Also:
TableReader.setMinimumColumnCount(int)

unregisterCommentCallBack

public void unregisterCommentCallBack(CommentCallback callback)
Forwarded to underlying reader.

Specified by:
unregisterCommentCallBack in interface TableReader
Parameters:
callback - callback to be unregistered
See Also:
TableReader.unregisterCommentCallBack(csv.CommentCallback)

hasNext

public boolean hasNext()
Forwarded to underlying reader.

Specified by:
hasNext in interface java.util.Iterator<java.lang.Object[]>
See Also:
Iterator.hasNext()

getRowIndex

protected int getRowIndex()
Returns the index of current row (delivered rows only)

Returns:
the rowIndex

next

public java.lang.Object[] next()
Returns the row returned by underlying reader and reshuffles according to definition.

Specified by:
next in interface java.util.Iterator<java.lang.Object[]>
See Also:
getFilteredIndex(int), Iterator.next()

filter

protected java.lang.Object[] filter(java.lang.Object[] row)
Filters columns within a row. Do not override here but override getFilteredIndex(int) instead.

Parameters:
row - row to be filtered
Returns:
row with filtered column sonly
See Also:
getFilteredIndex(int)

getFilteredIndex

protected abstract int getFilteredIndex(int originalIndex)
Returns the index in filtered row of the specified original column index.

Parameters:
originalIndex - index of value in row from underlying reader
Returns:
index of value in filtered row or -1 if column will not be visible.

remove

public void remove()
Forwarded to underlying reader.

Specified by:
remove in interface java.util.Iterator<java.lang.Object[]>
See Also:
Iterator.remove()

Copyright © 2008-2011 Ralph Schuster. All Rights Reserved.

Copyright © 2008-2011 Ralph Schuster. All Rights Reserved.