pl.slawas.paging
Class PagingParams

java.lang.Object
  extended by pl.slawas.paging.PagingParams
All Implemented Interfaces:
java.io.Serializable, _ICopyable<PagingParams>
Direct Known Subclasses:
PagingParamsReadOnly

public class PagingParams
extends java.lang.Object
implements java.io.Serializable, _ICopyable<PagingParams>

PagingParams - klasa służy do definiowania ile, i których z kolei dokumentów zwrócić ma zwrócić wplucene. Jeśli wplucen znajdzie więcej dokumentów to zwróci tyle o ile została zapytana. Jeśli znajdzie mniej to zwróci tyle ile znalazła. Dla ułatwienia można posłużyć się pl.wp.lucene.api.search.Page i użyć konstruktora z parametrem tej klasy. Ustawienia count i offset zmieniają się w momencie ustawiania paramteru klasy Page. Przy ustawianiu parametrów sprawdzane są ograniczenia. Jeśli podawana wartość prowadzi do przekroczenia ograniczeń to wyszukiwanie nie zostanie przeprowadzone.

Version:
$Revision: 1.5.2.1 $
Author:
Slawomir Cichy <slawas@slawas.pl>, Patryk Makuch <pmakuch@slawas.pl>
See Also:
Serialized Form

Field Summary
static int DEFAULT_PAGING_OFFSET
          Domyślna liczba pierwszych wyników/dokumentów jaka ma być pominięta w odpowiedzi wyszukiwarki.
protected  boolean isReadOnly
           
static int MAX_DOC_COUNT
          Domyślna maksymalna liczba dokumentów w wyniku zapytania (w jednym requeście).
static int MAX_PAGE_SIZE
          Domyslna maksymalna liczba dokumentów offsetu (maksymalna liczba na stronie)
 
Constructor Summary
protected PagingParams()
           
  PagingParams(int pageSize, int offset)
          Konstruktor za pomocą którego można wygenerować definicję strony podczas wywołania metody getPage().
  PagingParams(int pageSize, int offset, int maxPageSize)
          Konstruktor za pomocą którego można wygenerować definicję strony podczas wywołania metody getPage() z możliwośćią zmiany ograniczenia na rozmiar strony.
  PagingParams(int pageSize, int offset, int maxPageSize, int maxCount)
          Konstruktor za pomocą którego można wygenerować definicję strony podczas wywołania metody getPage() z możliwośćią zmiany ograniczenia na rozmiar strony oraz maksymalną liczbą zwracanych wyników zapytania.
  PagingParams(Page page)
          Ustawianie parametrów stronicowania na podstawie definicji strony.
  PagingParams(Page page, int maxPageSize)
          Ustawianie parametrów stronicowania na podstawie definicji strony z możliwośćią zmiany ograniczenia na rozmiar strony.
  PagingParams(Page page, int maxPageSize, int maxCount)
          Ustawianie parametrów stronicowania na podstawie definicji strony z możliwośćią zmiany ograniczenia na rozmiar strony oraz maksymalną liczbą zwracanych wyników zapytania.
 
Method Summary
 PagingParams copy()
          Metoda tworząca nową kopie aktualnego obiektu.
 PagingParams copy(PagingParams source)
          Metoda wykonująca kopiowanie wartości poszczgólnych pól, z obiektu tej samej klasy do aktualnie modyfikowanego obiektu.
 void copyTo(PagingParams target)
          Metoda wykonująca kopiowanie wartości poszczgólnych pól, z aktualnego obiektu do obiektu docelowego.
 boolean equals(java.lang.Object obj)
           
 int getCursorOfPage()
           
 Page getFirstPage()
          Pobieranie definicji pierwszej strony na podstwawie parametrów stronicowania.
 int getMaxCount()
          Informacja o ograniczeniu związanych z maksymalną liczbą dokumentów w wyniku zapytania.
 int getMaxPages()
          Informacja o maksymalnej liczbie stron dostępnych przy aktualnych parametrach stronicowania.
 int getMaxPageSize()
          Informacja o ograniczeniu związanych z maksymalną liczbą dokumentów na stronie
 Page getMinimalPage()
          Pobieranie definicji strony o minimlnie możliwym numerze na podstwawie parametrów stronicowania.
 int getOffset()
           
 Page getPage()
          Pobieranie obiektu strony.
 int getPageSize()
          Pobieranie rozmiaru strony pageSize
 int hashCode()
           
 boolean isReadOnly()
           
 boolean isValid()
           
 boolean setCursorOfPage(int cursorOfPage)
          Ustawianie parametru cursorOfPage, ze sprawdzeniem jego poprawności w stosunku do ograniczeń związanych obiektem stronicowania.
 void setMaxCount(int maxCount)
          Zmiana ograniczeń związanych z maksymalną liczbą dokumentów w wyniku zapytania maxCount
 void setMaxPageSize(int maxPageSize)
          Zmiana ograniczeń związanych z maksymalną liczbą dokumentów na stronie maxPageSize
 boolean setOffset(int offset)
           
 boolean setPage(int pageNumber)
          Ustawianie definicji aktualnej strony na podstawie numeru strony.
 boolean setPage(Page page)
          Ustawianie definicji aktualnej strony.
 boolean setPageSize(int pageSize)
          Ustawianie rozmiaru strony pageSize, ze sprawdzeniem jego poprawności w stosunku do ograniczeń związanych z maksymalnym rozmiarem strony (zobacz maxPageSize).
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

isReadOnly

protected boolean isReadOnly

DEFAULT_PAGING_OFFSET

public static int DEFAULT_PAGING_OFFSET
Domyślna liczba pierwszych wyników/dokumentów jaka ma być pominięta w odpowiedzi wyszukiwarki.


MAX_PAGE_SIZE

public static final int MAX_PAGE_SIZE
Domyslna maksymalna liczba dokumentów offsetu (maksymalna liczba na stronie)

See Also:
Constant Field Values

MAX_DOC_COUNT

public static final int MAX_DOC_COUNT
Domyślna maksymalna liczba dokumentów w wyniku zapytania (w jednym requeście). Ta liczba wyznaczana jest na podstawie ilorazu dwóch domyślnych parametrów: Page.DEFAULT_MAX_PAGES oraz MAX_PAGE_SIZE.

Constructor Detail

PagingParams

protected PagingParams()

PagingParams

public PagingParams(Page page)
Ustawianie parametrów stronicowania na podstawie definicji strony.

Parameters:
page - definicja strony.
See Also:
setPage(Page)

PagingParams

public PagingParams(Page page,
                    int maxPageSize)
Ustawianie parametrów stronicowania na podstawie definicji strony z możliwośćią zmiany ograniczenia na rozmiar strony.

Parameters:
page - definicja strony
maxPageSize - ograniczenie na rozmiar strony
See Also:
setPage(Page), maxPageSize

PagingParams

public PagingParams(Page page,
                    int maxPageSize,
                    int maxCount)
Ustawianie parametrów stronicowania na podstawie definicji strony z możliwośćią zmiany ograniczenia na rozmiar strony oraz maksymalną liczbą zwracanych wyników zapytania.

Parameters:
page - definicja strony
maxPageSize - ograniczenie na rozmiar strony
maxCount - ograniczenie na liczbę zwracanych wyników
See Also:
setPage(Page), maxPageSize, maxCount

PagingParams

public PagingParams(int pageSize,
                    int offset)
Konstruktor za pomocą którego można wygenerować definicję strony podczas wywołania metody getPage().

Parameters:
pageSize - roziar strony, liczba elementów na stronie
offset - numer pozycji elementu w wyniku zapytania dla pierwszego dokumentu na stronie.

PagingParams

public PagingParams(int pageSize,
                    int offset,
                    int maxPageSize)
Konstruktor za pomocą którego można wygenerować definicję strony podczas wywołania metody getPage() z możliwośćią zmiany ograniczenia na rozmiar strony.

Parameters:
pageSize - roziar strony, liczba elementów na stronie
offset - numer pozycji elementu w wyniku zapytania dla pierwszego dokumentu na stronie.
maxPageSize - ograniczenie na rozmiar strony
See Also:
maxPageSize

PagingParams

public PagingParams(int pageSize,
                    int offset,
                    int maxPageSize,
                    int maxCount)
Konstruktor za pomocą którego można wygenerować definicję strony podczas wywołania metody getPage() z możliwośćią zmiany ograniczenia na rozmiar strony oraz maksymalną liczbą zwracanych wyników zapytania.

Parameters:
pageSize - roziar strony, liczba elementów na stronie
offset - numer pozycji elementu w wyniku zapytania dla pierwszego dokumentu na stronie.
maxPageSize - ograniczenie na rozmiar strony
maxCount - ograniczenie na liczbę zwracanych wyników
See Also:
maxPageSize, maxCount
Method Detail

getPageSize

public int getPageSize()
Pobieranie rozmiaru strony pageSize

Returns:
rozmiar strony

setPageSize

public boolean setPageSize(int pageSize)
Ustawianie rozmiaru strony pageSize, ze sprawdzeniem jego poprawności w stosunku do ograniczeń związanych z maksymalnym rozmiarem strony (zobacz maxPageSize).

Parameters:
pageSize - rozmiar strony, liczba dokumentów na stronie
Returns:
true, jeżeli wszystko jest OK.

getCursorOfPage

public int getCursorOfPage()
Returns:
cursorOfPage

setCursorOfPage

public boolean setCursorOfPage(int cursorOfPage)
Ustawianie parametru cursorOfPage, ze sprawdzeniem jego poprawności w stosunku do ograniczeń związanych obiektem stronicowania.

Parameters:
cursorOfPage - wartość parametru
Returns:
true, jeżeli wszystko jest OK.

getPage

public Page getPage()
Pobieranie obiektu strony. Jeżeli wcześniej nie została ona zdefiniowana, to zostanie wygenerowany obiekt strony na podstawie cursorOfPage oraz pageSize.

Returns:
aktualna definicja strony

setPage

public boolean setPage(Page page)
Ustawianie definicji aktualnej strony. Metoda sprawdza od razu czy strona spełnia warunki ograniczeń związanych z maksymalną liczbą maxCount oraz maxPageSize.

Parameters:
page - defnicja strony
Returns:
true, jeżeli wszystko jest OK.
See Also:
page

setPage

public boolean setPage(int pageNumber)
Ustawianie definicji aktualnej strony na podstawie numeru strony. Metoda sprawdza od razu czy strona spełnia warunki ograniczeń związanych z maksymalną liczbą maxCount.

Parameters:
pageNumber - numer strony
Returns:
true, jeżeli wszystko jest OK.
See Also:
page

getFirstPage

public Page getFirstPage()
Pobieranie definicji pierwszej strony na podstwawie parametrów stronicowania. Numer pierwszej strony zdefiniowany jest przez Page.MIN_PAGE_NR, a jej rozmiar wynika z warunków parametrów stronicowania getPageSize().

Returns:
obiekt pierwszej strony

getMinimalPage

public Page getMinimalPage()
Pobieranie definicji strony o minimlnie możliwym numerze na podstwawie parametrów stronicowania. Numer strony zdefiniowany jest przez offset oraz pageSize.

Returns:
minimalna mozliwa strona do pobrania

getMaxPageSize

public int getMaxPageSize()
Informacja o ograniczeniu związanych z maksymalną liczbą dokumentów na stronie

Returns:
maxPageSize

setMaxPageSize

public void setMaxPageSize(int maxPageSize)
Zmiana ograniczeń związanych z maksymalną liczbą dokumentów na stronie maxPageSize

Parameters:
maxPageSize - nowa wartość ograniczeń

getMaxCount

public int getMaxCount()
Informacja o ograniczeniu związanych z maksymalną liczbą dokumentów w wyniku zapytania.

Returns:
maxCount

getMaxPages

public int getMaxPages()
Informacja o maksymalnej liczbie stron dostępnych przy aktualnych parametrach stronicowania.

Returns:
maksymalna liczba stron

setMaxCount

public void setMaxCount(int maxCount)
Zmiana ograniczeń związanych z maksymalną liczbą dokumentów w wyniku zapytania maxCount

Parameters:
maxCount - nowa wartość ograniczeń

isValid

public boolean isValid()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

copy

public PagingParams copy()
Description copied from interface: _ICopyable
Metoda tworząca nową kopie aktualnego obiektu.

Przykładowa implementacja:

 public TEntity copy() {
        TEntity newCopy = new TEntity();
        return newCopy.copy(this);
 }
 

Przykład użycia (pseudo-kod):

 ...
  // kopiowanie już istniejącego obiektu o nazwie source
  Class<Obj> target = source.copy();
 ...
 

Specified by:
copy in interface _ICopyable<PagingParams>
Returns:
nowy obiekt, kopia aktualnego oniektu.

copy

public PagingParams copy(PagingParams source)
Description copied from interface: _ICopyable
Metoda wykonująca kopiowanie wartości poszczgólnych pól, z obiektu tej samej klasy do aktualnie modyfikowanego obiektu.

Przykładowa implementacja:

 public TEntity copy(TEntity source) {
        this.id = source.getId();
        this.name = source.getName();
        this.date = source.getDate();
        this.price = source.getPrice();
        this.user = source.getUser();
        return this;
 }
 

Przykład użycia (pseudo-kod):

 ...
  Class<Obj> target = Class<Obj>.newInstance();
  // wstrzykiwanie już wartości istniejącego obiektu o nazwie source
  target = target.copy(source);
  // albo po prostu:
  target.copy(source);
 ...
 

Specified by:
copy in interface _ICopyable<PagingParams>
Parameters:
source - źródło, klasa, której informacje zostaną skopiowane do aktualnego obiektu
Returns:
modyfikowany obiekt

copyTo

public void copyTo(PagingParams target)
Description copied from interface: _ICopyable
Metoda wykonująca kopiowanie wartości poszczgólnych pól, z aktualnego obiektu do obiektu docelowego.

Przykładowa implementacja:

 public void copyTo(TEntity target) {
        target.setDate(this.date);
        target.setId(this.id);
        target.setName(this.name);
        target.setPrice(this.price);
        target.setUser(this.user);
 }
 

Przykład użycia (pseudo-kod):

 ...
  Class<Obj> target = Class<Obj>.newInstance();
  // wstrzykiwanie wartości istniejącego obiektu o nazwie source do obiektu target
  source.copyTo(target);
 ...
 

Specified by:
copyTo in interface _ICopyable<PagingParams>
Parameters:
target - obiekt, do którego mają zostac skopiowane wartości aktualnego oniektu.

getOffset

public int getOffset()
Returns:
the offset

setOffset

public boolean setOffset(int offset)
Parameters:
offset - the offset to set
Returns:
true, jeżeli wszystko jest OK.

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

isReadOnly

public boolean isReadOnly()
Returns:
the isReadOnly


Copyright © 2014 Sci Software. All Rights Reserved.