org.apache.commons.beanutils
Class ResultSetIterator

java.lang.Object
  extended by org.apache.commons.beanutils.ResultSetIterator
All Implemented Interfaces:
Iterator, DynaBean

public class ResultSetIterator
extends Object
implements DynaBean, Iterator

Implementation of java.util.Iterator returned by the iterator() method of ResultSetDynaClass. Each object returned by this iterator will be a DynaBean that represents a single row from the result set being wrapped.

Version:
$Revision: 556221 $ $Date: 2007-07-14 05:19:21 +0100 (Sat, 14 Jul 2007) $
Author:
Craig R. McClanahan

Field Summary
protected  boolean current
          Flag indicating whether the result set is currently positioned at a row for which we have not yet returned an element in the iteration.
protected  ResultSetDynaClass dynaClass
          The ResultSetDynaClass we are associated with.
protected  boolean eof
          Flag indicating whether the result set has indicated that there are no further rows.
 
Method Summary
protected  void advance()
          Advance the result set to the next row, if there is not a current row (and if we are not already at eof).
 boolean contains(String name, String key)
          Does the specified mapped property contain a value for the specified key value?
 Object get(String name)
          Return the value of a simple property with the specified name.
 Object get(String name, int index)
          Return the value of an indexed property with the specified name.
 Object get(String name, String key)
          Return the value of a mapped property with the specified name, or null if there is no value for the specified key.
 DynaClass getDynaClass()
          Return the DynaClass instance that describes the set of properties available for this DynaBean.
 boolean hasNext()
          Return true if the iteration has more elements.
 Object next()
          Return the next element in the iteration.
 void remove()
          Remove the current element from the iteration.
 void remove(String name, String key)
          Remove any existing value for the specified key on the specified mapped property.
 void set(String name, int index, Object value)
          Set the value of an indexed property with the specified name.
 void set(String name, Object value)
          Set the value of a simple property with the specified name.
 void set(String name, String key, Object value)
          Set the value of a mapped property with the specified name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

current

protected boolean current

Flag indicating whether the result set is currently positioned at a row for which we have not yet returned an element in the iteration.


dynaClass

protected ResultSetDynaClass dynaClass

The ResultSetDynaClass we are associated with.


eof

protected boolean eof

Flag indicating whether the result set has indicated that there are no further rows.

Method Detail

contains

public boolean contains(String name,
                        String key)
Does the specified mapped property contain a value for the specified key value?

Specified by:
contains in interface DynaBean
Parameters:
name - Name of the property to check
key - Name of the key to check
Returns:
true if the mapped property contains a value for the specified key, otherwise false
Throws:
IllegalArgumentException - if there is no property of the specified name

get

public Object get(String name)
Return the value of a simple property with the specified name.

Specified by:
get in interface DynaBean
Parameters:
name - Name of the property whose value is to be retrieved
Returns:
The property's value
Throws:
IllegalArgumentException - if there is no property of the specified name

get

public Object get(String name,
                  int index)
Return the value of an indexed property with the specified name.

Specified by:
get in interface DynaBean
Parameters:
name - Name of the property whose value is to be retrieved
index - Index of the value to be retrieved
Returns:
The indexed property's value
Throws:
IllegalArgumentException - if there is no property of the specified name
IllegalArgumentException - if the specified property exists, but is not indexed
IndexOutOfBoundsException - if the specified index is outside the range of the underlying property
NullPointerException - if no array or List has been initialized for this property

get

public Object get(String name,
                  String key)
Return the value of a mapped property with the specified name, or null if there is no value for the specified key.

Specified by:
get in interface DynaBean
Parameters:
name - Name of the property whose value is to be retrieved
key - Key of the value to be retrieved
Returns:
The mapped property's value
Throws:
IllegalArgumentException - if there is no property of the specified name
IllegalArgumentException - if the specified property exists, but is not mapped

getDynaClass

public DynaClass getDynaClass()
Return the DynaClass instance that describes the set of properties available for this DynaBean.

Specified by:
getDynaClass in interface DynaBean
Returns:
The associated DynaClass

remove

public void remove(String name,
                   String key)
Remove any existing value for the specified key on the specified mapped property.

Specified by:
remove in interface DynaBean
Parameters:
name - Name of the property for which a value is to be removed
key - Key of the value to be removed
Throws:
IllegalArgumentException - if there is no property of the specified name

set

public void set(String name,
                Object value)
Set the value of a simple property with the specified name.

Specified by:
set in interface DynaBean
Parameters:
name - Name of the property whose value is to be set
value - Value to which this property is to be set
Throws:
ConversionException - if the specified value cannot be converted to the type required for this property
IllegalArgumentException - if there is no property of the specified name
NullPointerException - if an attempt is made to set a primitive property to null

set

public void set(String name,
                int index,
                Object value)
Set the value of an indexed property with the specified name.

Specified by:
set in interface DynaBean
Parameters:
name - Name of the property whose value is to be set
index - Index of the property to be set
value - Value to which this property is to be set
Throws:
ConversionException - if the specified value cannot be converted to the type required for this property
IllegalArgumentException - if there is no property of the specified name
IllegalArgumentException - if the specified property exists, but is not indexed
IndexOutOfBoundsException - if the specified index is outside the range of the underlying property

set

public void set(String name,
                String key,
                Object value)
Set the value of a mapped property with the specified name.

Specified by:
set in interface DynaBean
Parameters:
name - Name of the property whose value is to be set
key - Key of the property to be set
value - Value to which this property is to be set
Throws:
ConversionException - if the specified value cannot be converted to the type required for this property
IllegalArgumentException - if there is no property of the specified name
IllegalArgumentException - if the specified property exists, but is not mapped

hasNext

public boolean hasNext()

Return true if the iteration has more elements.

Specified by:
hasNext in interface Iterator
Returns:
true if the result set has another row, otherwise false

next

public Object next()

Return the next element in the iteration.

Specified by:
next in interface Iterator
Returns:
advance to the new row and return this

remove

public void remove()

Remove the current element from the iteration. This method is not supported.

Specified by:
remove in interface Iterator

advance

protected void advance()
                throws SQLException

Advance the result set to the next row, if there is not a current row (and if we are not already at eof).

Throws:
SQLException - if the result set throws an exception


Copyright © 2000-2009 The Apache Software Foundation. All Rights Reserved.