org.red5.io.object

## Class RecordSet

- java.lang.Object
- - org.red5.io.object.RecordSet

    public class RecordSet
    extends Object

Read only RecordSet object that might be received through remoting calls. There are 3 types of data fetching:

- On demand (used by default)
- Fetch all at once
- Page-by-page fetching

For last mode, use `page size` property to specify maximum number of rows on one page

Author:
  The Red5 Project (red5@osflash.org), Joachim Bauch (jojo@struktur.de)
See Also:
  osflash.org documentation

### Constructor Summary

Constructors
Constructor and Description
`RecordSet(Input input)` Creates recordset from Input object

### Method Summary

Methods
`List<String>` `getColumnNames()` Return a list containing the names of the columns in the recordset.
`List<Object>` `getItemAt(int index)` Return a specified item from the recordset.
`int` `getLength()` Get the total number of items.
`int` `getNumberAvailable()` Get the number of items already received from the server.
`boolean` `isFullyPopulated()` Check if all items are available on the client.
`Map<String,Object>` `serialize()` Return Map that can be serialized as result.
`void` `setDeliveryMode(String mode)` Set the mode for fetching paged results.
`void` `setDeliveryMode(String mode, int pageSize)` Set the mode for fetching paged results with given max page size.
`void` `setDeliveryMode(String mode, int pageSize, int prefetchCount)` Set the mode for fetching paged results with given max page size and number of prefetched pages.
`void` `setRemotingClient(RemotingClient client)` Set the remoting client to use for retrieving of paged results.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### RecordSet

    public RecordSet(Input input)

Creates recordset from Input object

Parameters:
  `input` - input

### Method Detail

#### setRemotingClient

    public void setRemotingClient(RemotingClient client)

Set the remoting client to use for retrieving of paged results.

Parameters:
  `client` - Remoting client that works with this Recordset

#### setDeliveryMode

    public void setDeliveryMode(String mode)

Set the mode for fetching paged results.

Parameters:
  `mode` - Mode for fetching of results

#### setDeliveryMode

    public void setDeliveryMode(String mode,
                       int pageSize)

Set the mode for fetching paged results with given max page size.

Parameters:
  `mode` - Mode for fetching of results
  `pageSize` - Max page size

#### setDeliveryMode

    public void setDeliveryMode(String mode,
                       int pageSize,
                       int prefetchCount)

Set the mode for fetching paged results with given max page size and number of prefetched pages.

Parameters:
  `mode` - Mode for fetching of results
  `pageSize` - Max page size
  `prefetchCount` - Number of prefetched pages (not implemented yet)

#### getColumnNames

    public List<String> getColumnNames()

Return a list containing the names of the columns in the recordset.

Returns:
  Column names set

#### getItemAt

    public List<Object> getItemAt(int index)

Return a specified item from the recordset. If the item is not available yet, it will be received from the server.

Parameters:
  `index` - Item index
Returns:
  Item from recordset

#### getLength

    public int getLength()

Get the total number of items.

Returns:
  Number of items

#### getNumberAvailable

    public int getNumberAvailable()

Get the number of items already received from the server.

Returns:
  Nsumber of received items

#### isFullyPopulated

    public boolean isFullyPopulated()

Check if all items are available on the client.

Returns:
  number of available items

#### serialize

    public Map<String,Object> serialize()

Return Map that can be serialized as result.

Returns:
  serializable informations