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, Joachim Bauch (jojo@struktur.de)
  • Field Details

    • MODE_ONDEMAND

      private static final String MODE_ONDEMAND
      On demand fetching mode
      See Also:
    • MODE_FETCHALL

      private static final String MODE_FETCHALL
      Fetch all at once fetching mode
      See Also:
    • MODE_PAGE

      private static final String MODE_PAGE
      Page-by-page fetching mode
      See Also:
    • totalCount

      private int totalCount
      Total number of pages
    • data

      private List<List<Object>> data
      Recordset data
    • cursor

      private int cursor
      Recordset cursor
    • serviceName

      private String serviceName
      Name of service
    • columns

      private List<String> columns
      Recordset column names set
    • version

      private int version
      Recordset version
    • id

      private Object id
      Recordset id
    • client

      private IRemotingClient client
      Remoting client that fetches data
    • mode

      private String mode
      Fetching mode, on demand by default
    • pageSize

      private int pageSize
      Page size
  • Constructor Details

    • RecordSet

      public RecordSet(Input input)
      Creates recordset from Input object
      Parameters:
      input - input
  • Method Details

    • setRemotingClient

      public void setRemotingClient(IRemotingClient 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
    • ensureAvailable

      private void ensureAvailable(int index)
      Make sure the passed item has been fetched from the server.
      Parameters:
      index - Item index
    • 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