Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.faces.model
Class ArrayDataModel<E>

    java.lang.Object
      javax.faces.model.DataModel<E>
          javax.faces.model.ArrayDataModel<E>

All Implemented Interfaces:
  java.lang.Iterable<E>

    public class ArrayDataModel<E>

extends DataModel<E>

ArrayDataModel is a convenience implementation of `DataModel` that wraps an array of Java objects.

Constructor Summary
`ArrayDataModel()` Construct a new `ArrayDataModel` with no specified wrapped data.
`ArrayDataModel(E[] array)` Construct a new `ArrayDataModel` wrapping the specified array.

Method Summary
`int` | `getRowCount()` If there is `wrappedData` available, return the length of the array.
`E` | `getRowData()` If row data is available, return the array element at the index specified by `rowIndex`.
`int` | `getRowIndex()` Return the zero-relative index of the currently selected row.
`java.lang.Object` | `getWrappedData()` Return the object representing the data wrapped by this `DataModel`, if any.
`boolean` | `isRowAvailable()` Return `true` if there is `wrappedData` available, and the current value of `rowIndex` is greater than or equal to zero, and less than the length of the array.
`void` | `setRowIndex(int rowIndex)` Set the zero-relative index of the currently selected row, or -1 to indicate that we are not positioned on a row.
`void` | `setWrappedData(java.lang.Object data)` Set the object representing the data collection wrapped by this `DataModel`.

Methods inherited from class javax.faces.model.DataModel
`addDataModelListener, getDataModelListeners, iterator, removeDataModelListener`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ArrayDataModel

    public ArrayDataModel()

  Construct a new `ArrayDataModel` with no specified wrapped data.

### ArrayDataModel

    public ArrayDataModel(E[] array)

  Construct a new `ArrayDataModel` wrapping the specified array.

  Parameters:
    `array` - Array to be wrapped (if any)

Method Detail

### isRowAvailable

    public boolean isRowAvailable()

  Return `true` if there is `wrappedData` available, and the current value of `rowIndex` is greater than or equal to zero, and less than the length of the array. Otherwise, return `false`.

  Specified by:
    `isRowAvailable` in class `DataModel<E>`
  Throws:
    `FacesException` - if an error occurs getting the row availability

### getRowCount

    public int getRowCount()

  If there is `wrappedData` available, return the length of the array. If no `wrappedData` is available, return -1.

  Specified by:
    `getRowCount` in class `DataModel<E>`
  Throws:
    `FacesException` - if an error occurs getting the row count

### getRowData

    public E getRowData()

  If row data is available, return the array element at the index specified by `rowIndex`. If no wrapped data is available, return `null`.

  Specified by:
    `getRowData` in class `DataModel<E>`
  Throws:
    `FacesException` - if an error occurs getting the row data
    `java.lang.IllegalArgumentException` - if now row data is available at the currently specified row index

### getRowIndex

    public int getRowIndex()

  Description copied from class: `DataModel`

  Return the zero-relative index of the currently selected row. If we are not currently positioned on a row, or no `wrappedData` is available, return -1.

  Specified by:
    `getRowIndex` in class `DataModel<E>`
  Throws:
    `FacesException` - if an error occurs getting the row index

### setRowIndex

    public void setRowIndex(int rowIndex)

  Description copied from class: `DataModel`

  Set the zero-relative index of the currently selected row, or -1 to indicate that we are not positioned on a row. It is possible to set the row index at a value for which the underlying data collection does not contain any row data. Therefore, callers may use the `isRowAvailable()` method to detect whether row data will be available for use by the `getRowData()` method.

  If there is no `wrappedData` available when this method is called, the specified `rowIndex` is stored (and may be retrieved by a subsequent call to `getRowData()`), but no event is sent. Otherwise, if the currently selected row index is changed by this call, a `DataModelEvent` will be sent to the `rowSelected()` method of all registered `DataModelListener`s.

  Specified by:
    `setRowIndex` in class `DataModel<E>`
  Parameters:
    `rowIndex` - The new zero-relative index (must be non-negative)
  Throws:
    `FacesException` - if an error occurs setting the row index
    `java.lang.IllegalArgumentException` - if `rowIndex` is less than -1

### getWrappedData

    public java.lang.Object getWrappedData()

  Description copied from class: `DataModel`

  Return the object representing the data wrapped by this `DataModel`, if any.

  Specified by:
    `getWrappedData` in class `DataModel<E>`

### setWrappedData

    public void setWrappedData(java.lang.Object data)

  Description copied from class: `DataModel`

  Set the object representing the data collection wrapped by this `DataModel`. If the specified `data` is `null`, detach this `DataModel` from any previously wrapped data collection instead.

  If `data` is non-`null`, the currently selected row index must be set to zero, and a `DataModelEvent` must be sent to the `rowSelected()` method of all registered `DataModelListener`s indicating that this row is now selected.

  Specified by:
    `setWrappedData` in class `DataModel<E>`
  Parameters:
    `data` - Data collection to be wrapped, or `null` to detach from any previous data collection
  Throws:
    `java.lang.ClassCastException` - if `data` is non-`null` and is not an array of Java objects.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2002-2010 Oracle America Inc, Inc. All Rights Reserved.