org.apache.commons.beanutils

## Class ResultSetIterator

- java.lang.Object
- - org.apache.commons.beanutils.ResultSetIterator

- All Implemented Interfaces:
    Iterator<DynaBean>, DynaBean

      public class ResultSetIterator
      extends Object
      implements DynaBean, Iterator<DynaBean>

  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:
    $Id$

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `DynaBean` | `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`

    - ### Methods inherited from interface java.util.Iterator

      `forEachRemaining`

- - ### 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<DynaBean>`
      Returns:
        `true` if the result set has another row, otherwise `false`

    - #### next

          public DynaBean next()

      Return the next element in the iteration.

      Specified by:
        `next` in interface `Iterator<DynaBean>`
      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<DynaBean>`

    - #### 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–2019 The Apache Software Foundation. All rights reserved.