Package org.apache.tapestry5.hibernate.web

# Class HibernateGridDataSource

java.lang.Object
org.apache.tapestry5.hibernate.web.HibernateGridDataSource

All Implemented Interfaces:
  `GridDataSource`

public class HibernateGridDataSource extends Object implements GridDataSource
A simple implementation of `GridDataSource` based on a Hibernate Session and a known entity class. This implementation does support multiple `sort constraints`; however it assumes a direct mapping from sort constraint property to Hibernate property. This class is not thread-safe; it maintains internal state. Typically, an instance of this object is created fresh as needed (that is, it is not stored between requests).

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `HibernateGridDataSource(org.hibernate.Session session, Class entityType)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `applyAdditionalConstraints(org.hibernate.Criteria crit)`
  Invoked after the main criteria has been set up (firstResult, maxResults and any sort contraints).
  `int`
  `getAvailableRows()`
  Returns the total number of rows for the configured entity type.
  `Class`
  `getRowType()`
  Returns the entity type, as provided via the constructor.
  `Object`
  `getRowValue(int index)`
  Returns a row value at the given index (which must be within the range defined by the call to `prepare(int, int, java.util.List)` ).
  `void`
  `prepare(int startIndex, int endIndex, List<SortConstraint> sortConstraints)`
  Prepares the results, performing a query (applying the sort results, and the provided start and end index).

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

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

  ### Methods inherited from interface org.apache.tapestry5.grid.GridDataSource

  `getAvailableRows, isEmpty`

- ## Constructor Details

  - ### HibernateGridDataSource

    public HibernateGridDataSource(org.hibernate.Session session, Class entityType)

- ## Method Details

  - ### getAvailableRows

    public int getAvailableRows()
    Returns the total number of rows for the configured entity type.
    Specified by:
      `getAvailableRows` in interface `GridDataSource`

  - ### prepare

    public void prepare(int startIndex, int endIndex, List<SortConstraint> sortConstraints)
    Prepares the results, performing a query (applying the sort results, and the provided start and end index). The results can later be obtained from `getRowValue(int)` }.
    Specified by:
      `prepare` in interface `GridDataSource`
    Parameters:
      `startIndex` - index, from zero, of the first item to be retrieved
      `endIndex` - index, from zero, of the last item to be retrieved
      `sortConstraints` - zero or more constraints used to set the order of the returned values

  - ### applyAdditionalConstraints

    protected void applyAdditionalConstraints(org.hibernate.Criteria crit)
    Invoked after the main criteria has been set up (firstResult, maxResults and any sort contraints). This gives subclasses a chance to apply additional constraints before the list of results is obtained from the criteria. This implementation does nothing and may be overridden.

  - ### getRowValue

    public Object getRowValue(int index)
    Returns a row value at the given index (which must be within the range defined by the call to `prepare(int, int, java.util.List)` ).
    Specified by:
      `getRowValue` in interface `GridDataSource`
    Parameters:
      `index` - of object
    Returns:
      object at that index

  - ### getRowType

    public Class getRowType()
    Returns the entity type, as provided via the constructor.
    Specified by:
      `getRowType` in interface `GridDataSource`
    Returns:
      the row type, or null