javax.faces.model

## Class ScalarDataModel<E>

- java.lang.Object
- - javax.faces.model.DataModel<E>
  - - javax.faces.model.ScalarDataModel<E>

- All Implemented Interfaces:
    Iterable<E>

      public class ScalarDataModel<E>
      extends DataModel<E>

  ScalarDataModel is a convenience implementation of `DataModel` that wraps an individual Java object.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ScalarDataModel()` Construct a new `ScalarDataModel` with no specified wrapped data.
    `ScalarDataModel(E scalar)` Construct a new `ScalarDataModel` wrapping the specified scalar object.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getRowCount()` If there is `wrappedData` available, return 1.
    `E` | `getRowData()` If wrapped data is available, return the wrapped data instance.
    `int` | `getRowIndex()` Return the zero-relative index of the currently selected row.
    `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 zero.
    `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(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

    - #### ScalarDataModel

          public ScalarDataModel()

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

    - #### ScalarDataModel

          public ScalarDataModel(E scalar)

      Construct a new `ScalarDataModel` wrapping the specified scalar object.

      Parameters:
        `scalar` - Scalar 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 zero. 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 1. 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 wrapped data is available, return the wrapped data instance. Otherwise, return `null`.

      Specified by:
        `getRowData` in class `DataModel<E>`
      Throws:
        `FacesException` - if an error occurs getting the row data
        `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`

    - #### 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`
        `IllegalArgumentException` - if `rowIndex` is less than -1

    - #### getWrappedData

          public 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(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:
        `ClassCastException` - if `data` is not of the appropriate type for this `DataModel` implementation

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.