com.ejie.r01f.util
Class Pager

java.lang.Object
  extended bycom.ejie.r01f.util.Pager
All Implemented Interfaces:
java.io.Serializable

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

Clase que modela la paginación en un conjunto de resultados Esencialmente es una lista que contiene el código de los primeros elementos de cada página y el número total de elementos encontrados. Este objeto será devuelto por el procedimiento que inicializa una búsqueda y es utilizado en el cliente para navegar a través de las páginas. Fecha de creación: (19/7/00 11:57:14)

Author:
Alex Lara (EJIE)
See Also:
Serialized Form

Constructor Summary
Pager()
          Constructor Pager
Pager(int newPageSize)
          Constructor del pager en base a el tamaño de la pagina
Pager(int newPageSize, int newBlockSize)
          Constructor en base al tamaño de la página y al tamaño del bloque de páginas de la barra de navegación
 
Method Summary
 void addPageElement(java.lang.Object elementOid)
          Mete un nueva pagina en el registro de paginas OJO!!!!!
 int getBlockCount()
          Devuelve el número total de bloques de páginas
 int getBlockSize()
          Devuelve el tamaño del bloque (el número de páginas que se muestran ej << ...6 7 8...>> es un bloque de 3 paginas)
 int getCurrentBlockNumber()
          Devuelve el número del bloque actual
 int[] getCurrentBlockPageNumbers()
          Sirve para crear barras de navegación en las que las páginas se dividen en bloques.
 int getCurrentPageElementNumber()
          Devuelve el número de página actual
 java.lang.Object getCurrentPageFirstElement()
          Devuelve el valor del primer elemento de la página actual
 int getCurrentPageFirstElementNumber()
          Devuelve el número de orden del primer elemento de la página Si por ejemplo hay 12 páginas de 10 elementos cada una, la página 2 tendrá los elementos del 11 al 20.
 java.lang.Object getCurrentPageLastElement()
          Devuelve el valor del ultimo elemento de la pagina actual
 int getCurrentPageLastElementNumber()
          Devuelve el número de orden del ultimo elemento de la página Si por ejemplo hay 12 páginas de 10 elementos cada una, la página 2 tendrá los elementos del 11 al 20.
 int getCurrentPageNextElementNumber()
          Obtiene el número de orden del siguiente elemento de la página Si se está en la página 5, devuelve 6
 int getCurrentPagePrevElementNumber()
          Obtiene el número de orden del elemento anterior de la página Si se está en la página 5, devuelve 4
 int getElementCount()
          Devuelve el número de elementos encontrados en la búsqueda.
 int getFirstPageElementNumber()
          Devuelve el número de orden de la primera página
 int getLastPageElementNumber()
          Devuelve el número de orden de la última página
 int getNextBlockFirstElementNumber()
          Devuelve el número de orden del último elemento del bloque anterior al bloque actual.
 java.lang.Object getNextPageFirstElement()
          Devuelve el valor del primer elemento de la página siguiente.
 int getNextPageFirstElementNumber()
          Devuelve el número de orden del elemento siguiente al primero de la página actual (el primer elemento de la página siguiente) Si por ejemplo hay 12 páginas de 10 elemento cada una, la página 2 tendrá los elementos del 11 al 20.
 int getPageCount()
          Devuelve el número de páginas de la búsqueda
 java.lang.Object getPageFirstElement(int inPage)
          Devuelve el valor del primer elemento de la página que se indica
 int getPageSize()
          Devuelve el tamaño de las páginas de resultados.
 int getPrevBlockLastElementNumber()
          Devuelve el número de orden del último elemento del bloque anterior al bloque actual.
 int getPreviousPageLastElementNumber()
          Devuelve el número de orden del elemento anterior al primero de la página actual (el último elemento de la página anterior) Si por ejemplo hay 12 páginas de 10 elemento cada una, la página 2 tendrá los elementos del 11 al 20.
 java.lang.Object getPrevPageFirstElement()
          Devuelve el valor del primer elemento de la página anterior.
 void goToFirstPage()
          Establece el puntero a la primera página
 void goToLastPage()
          Establece el puntero en la última página
 void gotoNextBlockFirstPage()
          Mueve el puntero al primer elemento del bloque siguiente de resultados
 void goToNextPage()
          Establece el puntero en la siguiente página
 void goToPage(int newPage)
          Establece el puntero en la página indicada
 void gotoPrevBlockLastPage()
          Mueve el puntero al ultimo elemento del bloque anterior de resultados
 void goToPrevPage()
          Establece el puntero en la página anterior
 void setBlockSize(int theBlockSize)
          Sirve para crear barras de navegación en las que las páginas se dividen en bloques.
 void setElementCount(int elementCount)
          Establece el número de elementos encontrados.
 void setPageSize(int thePageSize)
          Establece el tamaño de las páginas de resultados
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Pager

public Pager()
      throws java.lang.IllegalArgumentException
Constructor Pager


Pager

public Pager(int newPageSize)
Constructor del pager en base a el tamaño de la pagina

Parameters:
newPageSize - El tamaño de la pagina
Throws:
java.lang.IllegalArgumentException - si el tamaño de la pagina es menor que cero

Pager

public Pager(int newPageSize,
             int newBlockSize)
      throws java.lang.IllegalArgumentException
Constructor en base al tamaño de la página y al tamaño del bloque de páginas de la barra de navegación

Parameters:
newPageSize -
newBlockSize -
Throws:
java.lang.IllegalArgumentException - si el tamaño de la pagina es menor que cero
Method Detail

addPageElement

public void addPageElement(java.lang.Object elementOid)
Mete un nueva pagina en el registro de paginas OJO!!!!! Solo se introduce una pagina en el mapa de paginas si la parte decimal de (registro/_pageSize) es cero, quiere decir que se está en un registro múltiplo del tamaño de página (primer registro de la página), por lo que hay que añadir el código de este registro al hash.

Parameters:
elementOid - El indice del registro actual resultado de la búsqueda que se mete en el paginador

getPageSize

public int getPageSize()
Devuelve el tamaño de las páginas de resultados. Este tamaño se establece en los constructores aunque por defecto es 10

Returns:
El tamaño de las páginas

setPageSize

public void setPageSize(int thePageSize)
Establece el tamaño de las páginas de resultados

Parameters:
thePageSize -

getBlockSize

public int getBlockSize()
Devuelve el tamaño del bloque (el número de páginas que se muestran ej << ...6 7 8...>> es un bloque de 3 paginas)

Returns:
el tamaño del bloque

setBlockSize

public void setBlockSize(int theBlockSize)
Sirve para crear barras de navegación en las que las páginas se dividen en bloques. Ejemplo: Si se han encontrado 23 páginas de resultados se puede mostrar una barra de navegación con marcadores a 5 páginas como la siguiente: 1 2 3 4 5 Pg Sig A medida que se va paginando, la ventana de las páginas en la barra de navegación se va desplazando: Pg Ant 6 7 8 9 10 Pg Sig Este método establece el tamaño del bloque (número de páginas en la barra de navegación)

Parameters:
theBlockSize - El tamaño del bloque de páginas en la barra de navegacion

getCurrentBlockPageNumbers

public int[] getCurrentBlockPageNumbers()
Sirve para crear barras de navegación en las que las páginas se dividen en bloques. Ejemplo: Si se han encontrado 23 páginas de resultados se puede mostrar una barra de navegación con marcadores a 5 páginas como la siguiente: Pg Ant 1 2 3 4 5 Pg Sig A medida que se va paginando, la ventana de las páginas en la barra de navegación se va desplazando: Pg Ant 6 7 8 9 10 Pg Sig Este método devuelve un array con los números de las páginas en el bloque actual NOTA: El bloque actual depende de la página actual.

Returns:
Un array con los números de las páginas en el bloque actual

getCurrentBlockNumber

public int getCurrentBlockNumber()
Devuelve el número del bloque actual

Returns:
el número del bloque actual

getBlockCount

public int getBlockCount()
Devuelve el número total de bloques de páginas

Returns:
el número de bloques

getCurrentPageFirstElement

public java.lang.Object getCurrentPageFirstElement()
Devuelve el valor del primer elemento de la página actual

Returns:
Código del primer elemento de la página actual

getCurrentPageLastElement

public java.lang.Object getCurrentPageLastElement()
Devuelve el valor del ultimo elemento de la pagina actual

Returns:
Codigo del ultimo elemento de la página actual

getNextPageFirstElement

public java.lang.Object getNextPageFirstElement()
Devuelve el valor del primer elemento de la página siguiente.

Returns:
El código del primer elemento de la siguiente página

getPrevPageFirstElement

public java.lang.Object getPrevPageFirstElement()
Devuelve el valor del primer elemento de la página anterior.

Returns:
Object

getPageFirstElement

public java.lang.Object getPageFirstElement(int inPage)
                                     throws java.lang.IllegalArgumentException
Devuelve el valor del primer elemento de la página que se indica

Parameters:
inPage - Número de la página solicitada
Returns:
Código del primer elemento de la página que se indica
Throws:
java.lang.IllegalArgumentException

getCurrentPageElementNumber

public int getCurrentPageElementNumber()
Devuelve el número de página actual

Returns:
numero de la pagina actual

getFirstPageElementNumber

public int getFirstPageElementNumber()
Devuelve el número de orden de la primera página

Returns:
Siempre devuelve 1

getLastPageElementNumber

public int getLastPageElementNumber()
Devuelve el número de orden de la última página

Returns:
el número de pagágina

getCurrentPageFirstElementNumber

public int getCurrentPageFirstElementNumber()
Devuelve el número de orden del primer elemento de la página Si por ejemplo hay 12 páginas de 10 elementos cada una, la página 2 tendrá los elementos del 11 al 20. Este método devolverá 11

Returns:
el numero de orden del primer elemento de la pagina

getCurrentPageLastElementNumber

public int getCurrentPageLastElementNumber()
Devuelve el número de orden del ultimo elemento de la página Si por ejemplo hay 12 páginas de 10 elementos cada una, la página 2 tendrá los elementos del 11 al 20. Este método devolverá 20

Returns:
El numero de orden del ultimo elemento de la pagina

getCurrentPageNextElementNumber

public int getCurrentPageNextElementNumber()
Obtiene el número de orden del siguiente elemento de la página Si se está en la página 5, devuelve 6

Returns:
El número de orden del siguiente elemento de la página

getCurrentPagePrevElementNumber

public int getCurrentPagePrevElementNumber()
Obtiene el número de orden del elemento anterior de la página Si se está en la página 5, devuelve 4

Returns:
El número de orden del elemento anterior de la página

getPreviousPageLastElementNumber

public int getPreviousPageLastElementNumber()
Devuelve el número de orden del elemento anterior al primero de la página actual (el último elemento de la página anterior) Si por ejemplo hay 12 páginas de 10 elemento cada una, la página 2 tendrá los elementos del 11 al 20. Este método devolverá 10

Returns:
el número de orden del elemento anterior al primero de la página

getNextPageFirstElementNumber

public int getNextPageFirstElementNumber()
Devuelve el número de orden del elemento siguiente al primero de la página actual (el primer elemento de la página siguiente) Si por ejemplo hay 12 páginas de 10 elemento cada una, la página 2 tendrá los elementos del 11 al 20. Este método devolverá 21

Returns:
el número de orden del elemento siguiente al último de la página

getPrevBlockLastElementNumber

public int getPrevBlockLastElementNumber()
Devuelve el número de orden del último elemento del bloque anterior al bloque actual. Si por ejemplo hay 25 páginas de 10 elementos cada una y se está en el segundo bloque (de la página 11 a la 25), este método devolverá 10 (el número de orden del último elemento de la página anterior)

Returns:
el número de orden del último elememento del bloque anterior.

getNextBlockFirstElementNumber

public int getNextBlockFirstElementNumber()
Devuelve el número de orden del último elemento del bloque anterior al bloque actual. Si por ejemplo hay 25 páginas de 10 elementos cada una y se está en el segundo bloque (de la página 11 a la 25), este método devolverá 10 (el número de orden del último elemento de la página anterior)

Returns:
el número de orden del último elememento del bloque anterior.

getElementCount

public int getElementCount()
Devuelve el número de elementos encontrados en la búsqueda.

Returns:
numero de elementos encontrados en la busqueda

setElementCount

public void setElementCount(int elementCount)
                     throws java.lang.IllegalArgumentException
Establece el número de elementos encontrados.

Parameters:
elementCount - El numero de elementos encontrados
Throws:
java.lang.IllegalArgumentException - si el numero de elementos encontrados es menor que cero

getPageCount

public int getPageCount()
Devuelve el número de páginas de la búsqueda

Returns:
El número de páginas encontradas

goToFirstPage

public void goToFirstPage()
Establece el puntero a la primera página


gotoPrevBlockLastPage

public void gotoPrevBlockLastPage()
Mueve el puntero al ultimo elemento del bloque anterior de resultados


goToPrevPage

public void goToPrevPage()
Establece el puntero en la página anterior


goToPage

public void goToPage(int newPage)
              throws java.lang.IllegalArgumentException
Establece el puntero en la página indicada

Parameters:
newPage - Número de la nueva página a la que hay que moverse
Throws:
java.lang.IllegalArgumentException

goToNextPage

public void goToNextPage()
Establece el puntero en la siguiente página


gotoNextBlockFirstPage

public void gotoNextBlockFirstPage()
Mueve el puntero al primer elemento del bloque siguiente de resultados


goToLastPage

public void goToLastPage()
Establece el puntero en la última página