za.org.coefficient.util.common
Class HibernatePager

java.lang.Object
  extended by za.org.coefficient.util.common.HibernatePager
All Implemented Interfaces:
java.io.Serializable, Pager

public class HibernatePager
extends java.lang.Object
implements Pager, java.io.Serializable

DOCUMENT ME!

Version:
$Revision: 1.5 $
Author:
$author$
See Also:
Serialized Form

Field Summary
private static java.lang.String AND
           
private  java.lang.StringBuffer andConstraints
           
private  java.util.ArrayList andVals
           
private  boolean ascending
           
private  int currentPageNumber
           
private  java.lang.StringBuffer fromClause
           
private  boolean hasNext
           
private static java.lang.String OR
           
private  java.lang.StringBuffer orConstraints
           
private  java.lang.String orderByField
           
private  java.util.ArrayList orVals
           
private  java.util.ArrayList page
           
private  java.lang.Class pagerClass
           
private  int pageSize
           
private  int total
           
private  java.lang.String userQuery
           
private  java.lang.Object[] userValues
           
 
Constructor Summary
HibernatePager()
           
HibernatePager(java.lang.Class pageClass, java.lang.String orderByField)
           
HibernatePager(java.lang.Class pageClass, java.lang.String orderByField, boolean orderByAscending)
           
HibernatePager(java.lang.Class pageClass, java.lang.String orderByField, boolean orderByAscending, java.util.HashMap andSearchParams)
           
HibernatePager(java.lang.Class pageClass, java.lang.String orderByField, boolean orderByAscending, java.util.HashMap andSearchParams, java.util.HashMap orSearchParams)
           
HibernatePager(java.lang.Class pageClass, java.lang.String orderByField, int pageSize)
           
HibernatePager(java.lang.Class pageClass, java.lang.String orderByField, int pageSize, boolean orderByAscending)
           
HibernatePager(java.lang.Class pageClass, java.lang.String orderByField, int pageSize, java.util.HashMap andSearchParams)
           
HibernatePager(java.lang.Class pageClass, java.lang.String orderByField, int pageSize, java.util.HashMap andSearchParams, boolean orderByAscending)
           
HibernatePager(java.lang.Class pageClass, java.lang.String orderByField, int pageSize, java.util.HashMap andSearchParams, java.util.HashMap orSearchParams)
           
HibernatePager(java.lang.Class pageClass, java.lang.String orderByField, int pageSize, java.util.HashMap andSearchParams, java.util.HashMap orSearchParams, boolean orderByAscending)
           
HibernatePager(java.lang.String searchQuery, java.lang.Object[] values)
           
HibernatePager(java.lang.String searchQuery, java.lang.Object[] values, int pageSize)
           
 
Method Summary
private  java.lang.Object[] convertValsToArray()
           
 java.util.List currentPage()
          Returns the data in the current page.
 int getCurrentPageNumber()
          Returns the current page number
private  int getLengthForConstraint(boolean and)
           
 int getMaxPageNumber()
          Returns the maximum number of pages
 int getPageSize()
           
 int getTotalNumberOfResults()
          Returns the total number of results found by the query
 java.util.List goToPage(int pageNumber)
          If the submitted page is in range then the pager will jump to that page otherwise it will stay where it is
 boolean hasNextPage()
          Checks whether there is a "next" page of data
 boolean hasPreviousPage()
          Checks whether there is a "previous" page of data
 void initialize()
          This will start the pager at the beginning of the search set
 void next()
          Moves to the next page of data.
 java.util.List nextPage()
          Moves to the next page of data, and returns the data in that page.
private  void performQuery(int startElement)
           
 void previous()
          Moves to the previous page of data.
 java.util.List previousPage()
          Moves to the previous page of data, and returns the data in that page.
 void setAndSearchParams(java.util.HashMap searchParams)
          Use this to constrain the result set by doing a field 'like' value for the key-value pairs in the hashmap all pairs being And'ed together
 void setFromClauses(java.util.HashMap fromElements)
          Use fromElements to add elments to the from portion of the query
 void setFromWhereAndInitialize(java.util.HashMap andSearchParams, java.util.HashMap orSearchParams, java.util.HashMap fromElements)
           
private  void setIntoConstraint(boolean and, java.lang.String addition)
           
private  void setIntoVals(boolean and, java.lang.Object val)
           
 void setOrSearchParams(java.util.HashMap searchParams)
          Use this to constrain the result set by doing a field 'like' value for the key-value pairs in the hashmap all pairs being Or'ed together
 void setPageSize(int pageSize)
           
 void setQuery(java.lang.String queryString, java.lang.Object[] values)
           
private  void setSearchParams(java.util.HashMap searchParams, java.lang.String logicalOperator)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

AND

private static final java.lang.String AND
See Also:
Constant Field Values

OR

private static final java.lang.String OR
See Also:
Constant Field Values

andVals

private java.util.ArrayList andVals

orVals

private java.util.ArrayList orVals

page

private java.util.ArrayList page

pagerClass

private java.lang.Class pagerClass

orderByField

private java.lang.String orderByField

userQuery

private java.lang.String userQuery

andConstraints

private java.lang.StringBuffer andConstraints

fromClause

private java.lang.StringBuffer fromClause

orConstraints

private java.lang.StringBuffer orConstraints

userValues

private java.lang.Object[] userValues

ascending

private boolean ascending

hasNext

private boolean hasNext

currentPageNumber

private int currentPageNumber

pageSize

private int pageSize

total

private int total
Constructor Detail

HibernatePager

public HibernatePager()

HibernatePager

public HibernatePager(java.lang.String searchQuery,
                      java.lang.Object[] values)
               throws java.lang.Exception
Throws:
java.lang.Exception

HibernatePager

public HibernatePager(java.lang.String searchQuery,
                      java.lang.Object[] values,
                      int pageSize)
               throws java.lang.Exception
Throws:
java.lang.Exception

HibernatePager

public HibernatePager(java.lang.Class pageClass,
                      java.lang.String orderByField)
               throws java.lang.Exception
Throws:
java.lang.Exception

HibernatePager

public HibernatePager(java.lang.Class pageClass,
                      java.lang.String orderByField,
                      boolean orderByAscending)
               throws java.lang.Exception
Throws:
java.lang.Exception

HibernatePager

public HibernatePager(java.lang.Class pageClass,
                      java.lang.String orderByField,
                      int pageSize)
               throws java.lang.Exception
Throws:
java.lang.Exception

HibernatePager

public HibernatePager(java.lang.Class pageClass,
                      java.lang.String orderByField,
                      int pageSize,
                      boolean orderByAscending)
               throws java.lang.Exception
Throws:
java.lang.Exception

HibernatePager

public HibernatePager(java.lang.Class pageClass,
                      java.lang.String orderByField,
                      boolean orderByAscending,
                      java.util.HashMap andSearchParams)
               throws java.lang.Exception
Throws:
java.lang.Exception

HibernatePager

public HibernatePager(java.lang.Class pageClass,
                      java.lang.String orderByField,
                      boolean orderByAscending,
                      java.util.HashMap andSearchParams,
                      java.util.HashMap orSearchParams)
               throws java.lang.Exception
Throws:
java.lang.Exception

HibernatePager

public HibernatePager(java.lang.Class pageClass,
                      java.lang.String orderByField,
                      int pageSize,
                      java.util.HashMap andSearchParams)
               throws java.lang.Exception
Throws:
java.lang.Exception

HibernatePager

public HibernatePager(java.lang.Class pageClass,
                      java.lang.String orderByField,
                      int pageSize,
                      java.util.HashMap andSearchParams,
                      java.util.HashMap orSearchParams)
               throws java.lang.Exception
Throws:
java.lang.Exception

HibernatePager

public HibernatePager(java.lang.Class pageClass,
                      java.lang.String orderByField,
                      int pageSize,
                      java.util.HashMap andSearchParams,
                      boolean orderByAscending)
               throws java.lang.Exception
Throws:
java.lang.Exception

HibernatePager

public HibernatePager(java.lang.Class pageClass,
                      java.lang.String orderByField,
                      int pageSize,
                      java.util.HashMap andSearchParams,
                      java.util.HashMap orSearchParams,
                      boolean orderByAscending)
               throws java.lang.Exception
Throws:
java.lang.Exception
Method Detail

setAndSearchParams

public void setAndSearchParams(java.util.HashMap searchParams)
                        throws java.lang.Exception
Use this to constrain the result set by doing a field 'like' value for the key-value pairs in the hashmap all pairs being And'ed together

Parameters:
searchParams - must contain a string key which is the element name on the class this pager is for and an Object representing the value of this field to constrain by. If null it will clear the old params.
Throws:
exception - is thrown if a named element does not exist on the pager class or if a Hibernate Type can not be determined for it
java.lang.Exception

getCurrentPageNumber

public int getCurrentPageNumber()
Returns the current page number

Returns:
is the current page number

setFromClauses

public void setFromClauses(java.util.HashMap fromElements)
                    throws java.lang.Exception
Use fromElements to add elments to the from portion of the query

Throws:
java.lang.Exception

setFromWhereAndInitialize

public void setFromWhereAndInitialize(java.util.HashMap andSearchParams,
                                      java.util.HashMap orSearchParams,
                                      java.util.HashMap fromElements)
                               throws java.lang.Exception
Throws:
java.lang.Exception

getMaxPageNumber

public int getMaxPageNumber()
Returns the maximum number of pages

Returns:
is the maximum number of pages

setOrSearchParams

public void setOrSearchParams(java.util.HashMap searchParams)
                       throws java.lang.Exception
Use this to constrain the result set by doing a field 'like' value for the key-value pairs in the hashmap all pairs being Or'ed together

Parameters:
searchParams - must contain a string key which is the element name on the class this pager is for and an Object representing the value of this field to constrain by. If null it will clear the old params.
Throws:
exception - is thrown if a named element does not exist on the pager class or if a Hibernate Type can not be determined for it
java.lang.Exception

setPageSize

public void setPageSize(int pageSize)

getPageSize

public int getPageSize()

setQuery

public void setQuery(java.lang.String queryString,
                     java.lang.Object[] values)

getTotalNumberOfResults

public int getTotalNumberOfResults()
Returns the total number of results found by the query


currentPage

public java.util.List currentPage()
Returns the data in the current page.

Specified by:
currentPage in interface Pager

goToPage

public java.util.List goToPage(int pageNumber)
If the submitted page is in range then the pager will jump to that page otherwise it will stay where it is

Parameters:
pageNumber - is the page to move to
Returns:
list containing data for the page

hasNextPage

public boolean hasNextPage()
Checks whether there is a "next" page of data

Specified by:
hasNextPage in interface Pager

hasPreviousPage

public boolean hasPreviousPage()
Checks whether there is a "previous" page of data

Specified by:
hasPreviousPage in interface Pager

initialize

public void initialize()
This will start the pager at the beginning of the search set


next

public void next()
Moves to the next page of data.

Specified by:
next in interface Pager

nextPage

public java.util.List nextPage()
Moves to the next page of data, and returns the data in that page.

Specified by:
nextPage in interface Pager

previous

public void previous()
Moves to the previous page of data.

Specified by:
previous in interface Pager

previousPage

public java.util.List previousPage()
Moves to the previous page of data, and returns the data in that page.

Specified by:
previousPage in interface Pager

setIntoConstraint

private void setIntoConstraint(boolean and,
                               java.lang.String addition)

setIntoVals

private void setIntoVals(boolean and,
                         java.lang.Object val)

getLengthForConstraint

private int getLengthForConstraint(boolean and)

setSearchParams

private void setSearchParams(java.util.HashMap searchParams,
                             java.lang.String logicalOperator)
                      throws java.lang.Exception
Throws:
java.lang.Exception

convertValsToArray

private java.lang.Object[] convertValsToArray()

performQuery

private void performQuery(int startElement)


Copyright CSIR. All Rights Reserved.