|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectpl.slawas.paging.PagedResultSupport<Obj>
Obj
- klasa obiektu na liscie rezultatówpublic abstract class PagedResultSupport<Obj>
PagedResultSupport - abstrakcja stronicowanego wyniku zapytania
Field Summary | |
---|---|
protected PagingParams |
pagingParams
|
protected _IPagedQuery<Obj> |
query
|
protected ResultSupport<Obj> |
result
|
Constructor Summary | |
---|---|
PagedResultSupport(PagingParams pagingParams,
ResultSupport<Obj> result,
_IPagedQuery<Obj> query,
boolean checkPagingParamRestrictions)
|
Method Summary | |
---|---|
java.util.Enumeration<Page> |
getAllPages()
|
Page |
getCurrentPageInfo()
Pobranie informacji o aktulanej stronie |
Page |
getFirstPageInfo()
Pobranie informacji o pierwszej stronie |
java.lang.Integer |
getFirstRowPositionOfPreviousResultRows()
|
Page |
getLastPageInfo()
Pobranie informacji o ostatniej stronie |
java.lang.Integer |
getLastRowPosition()
|
ResultMessage |
getMessage()
Komunikat wyniku |
Page |
getNextPageInfo()
Pobranie informacji o następnej stronie |
int |
getNumberOfRowsOnThePage()
Na skróty: Pobieranie liczby wierszy na obecnej strony. |
Page |
getPageInfo(java.lang.Integer pageNumber)
Pobranie informacji o stronie o podanym numerze |
int |
getPageNr()
Na skróty: Pobieranie numeru obecnej strony Tę samą informacje można otrzymać poprzez pobranie obiektu @ Page
za pomocą metody _IPagingInfo.getCurrentPageInfo() i wykorzystanie informacji
w Page.getNumber() . |
int |
getPageSize()
Na skróty: Pobieranie rozmiaru obecnej strony. |
PagingParams |
getPagingParams()
|
ResultSupport<Obj> |
getPreDefinitionOfResult()
Pobieranie obiektu rezultatu "pierwotnego", który jest podstwą do zbudowania stronicowanego rezultatu. |
Page |
getPreviousPageInfo()
Pobranie informacji o poprzedniej stronie |
_IPagedQuery<Obj> |
getQuery()
|
java.util.Collection<Obj> |
getResult()
Kolekcja wierszy na obecnej stronie |
java.util.Collection<Obj> |
getResult(Page page)
Kolekcja wierszy na zadanej stronie |
int |
getResultSize()
Liczba wswzystkich wierszy jakie można otrzymać w wyniku tego zapytania. |
Obj |
getUniqueResult()
Zwraca pierwszy wiersz na stronie |
boolean |
hasMoreResultRows()
Metode można wykożystać do badania czy został przekroczony zakres liczby wyników. |
boolean |
hasPreviousResultRows()
Implementacja biblioteki pozwala na pobranie kolejnej czesci wyników zapytania w przypadku gdy _IPagingInfo.hasMoreResultRows() zwraca true
. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected _IPagedQuery<Obj> query
protected ResultSupport<Obj> result
protected final PagingParams pagingParams
Constructor Detail |
---|
public PagedResultSupport(PagingParams pagingParams, ResultSupport<Obj> result, _IPagedQuery<Obj> query, boolean checkPagingParamRestrictions)
pagingParams
- parametry stronicowaniaresult
- obiektu rezultatu "pierwotnego", który jest podstwą do
zbudowania stronicowanego rezultatuquery
- zapytanie, na podstwie, którego został zbudowany rezultat
"pierwotny". Obiekt ten potrzebny jest aby bez konieczności
odwoływania się do manager-ów zarządzajacych zapytaniami, można
było pobrać kolejną stronę, czy też odświeżyć wynik.checkPagingParamRestrictions
- czy mają być przestrzegane parametry stronicowania. Niektóre
systemy dają możliwość pobrania kolejnej "paczki" danych w
systuacji, kiedy wynik ogólny (liczba zwracanych
dokumentów/wierszy) nie spełnia warunków związnych z
ograniczeniami np. ograniczenia pozwalają na pobranie
maksymalnie 5
stron i całość rezultatu nie mieści sie na
nich. Gdy parametr ustawimy parametr na true
, to wtedy
nie bedziemy mogli pobrać kolejnej strony np. 6 wyniku, trzeba
zmienic kryteria stronicowania. Jeżeli jednak ustawimy na
false
, parametry stronicowania zostaną zignorowane i
stronicowany obiekt pozwoli na utworzenie kolejnej paczki stron
np. 6,7,8,9,10
. O tym czy wynik ma kolejną paczkę
informuje nas metoda hasMoreResultRows()
, a o tym czy
jesteśmy w "paczce rozszerzonej" (w kolejnej paczce) możemy
rozpoznać po tym, że pierwsza strona paczki ma numer różny od
Page.MIN_PAGE_NR
, albo używając metody
hasPreviousResultRows()
.Method Detail |
---|
public java.util.Collection<Obj> getResult()
_IPagedResult
getResult
in interface _IPagedResult<Obj>
public java.util.Collection<Obj> getResult(Page page)
_IPagedResult
getResult
in interface _IPagedResult<Obj>
page
- obiekt strony, której wyniki nas integersują
public Obj getUniqueResult()
_IPagedResult
getUniqueResult
in interface _IPagedResult<Obj>
public ResultMessage getMessage()
_IPagingInfo
getMessage
in interface _IPagingInfo
ResultMessage
public int getResultSize()
_IPagingInfo
getResultSize
in interface _IPagingInfo
public Page getCurrentPageInfo()
_IPagingInfo
getCurrentPageInfo
in interface _IPagingInfo
public Page getFirstPageInfo()
_IPagingInfo
getFirstPageInfo
in interface _IPagingInfo
public Page getPreviousPageInfo() throws PagedResultException
_IPagingInfo
getPreviousPageInfo
in interface _IPagingInfo
PagedResultException
- zwraca błąd gdy obecna strona _IPagingInfo.getCurrentPageInfo()
jest stroną pierwszą. Poprzednia nie istnieje.public Page getNextPageInfo() throws PagedResultException
_IPagingInfo
getNextPageInfo
in interface _IPagingInfo
PagedResultException
- zwraca błąd gdy obecna strona _IPagingInfo.getCurrentPageInfo()
jest stroną ostatnią. Nastepna nie istnieje.public Page getPageInfo(java.lang.Integer pageNumber) throws PagedResultException
_IPagingInfo
getPageInfo
in interface _IPagingInfo
pageNumber
- numer intetersującej nas strony
PagedResultException
- zwraca błąd gdy strona o danym numerze nie istnieje.public Page getLastPageInfo()
_IPagingInfo
getLastPageInfo
in interface _IPagingInfo
public java.util.Enumeration<Page> getAllPages()
getAllPages
in interface _IPagingInfo
public boolean hasMoreResultRows()
_IPagingInfo
_IPagingInfo.getLastRowPosition()
do pobrania
kolejenj paczki rezultatu poprzez wywołanie wykonania zapytania JDBC ze
odpowiednią wartością argumentu 'startPosition'.
Przykład na podstawie implementacji:
if (pagedResult.hasMoreResultRows()) { T lastQuery = pagedResult.getQuery(); lastQuery.setExecuted(false); lastQuery.execute( em.getConnection(), pagedResult.getLastRowPosition() + 1, null, CacheUsage.NONE); }
hasMoreResultRows
in interface _IPagingInfo
true
oznacza, że jest więcej wierszy w bazie danych
spełniających warunek wyszukiwania zapytania SQL.public java.lang.Integer getLastRowPosition()
getLastRowPosition
in interface _IPagingInfo
public _IPagedQuery<Obj> getQuery()
getQuery
in interface _IPagedResult<Obj>
public java.lang.Integer getFirstRowPositionOfPreviousResultRows()
getFirstRowPositionOfPreviousResultRows
in interface _IPagingInfo
_IPagingInfo.hasPreviousResultRows()
), zwraca null
._IPagingInfo.hasPreviousResultRows()
,
_IPagingInfo.hasMoreResultRows()
public boolean hasPreviousResultRows()
_IPagingInfo
_IPagingInfo.hasMoreResultRows()
zwraca true
. Dla takiego stronicowanego wyniku istotna jest infomacja czy posiada ona
poprzednia część rezultatu.
hasPreviousResultRows
in interface _IPagingInfo
true
oznacza, że dany wynik jest wynikiem rozszerzonym
(poza granicą maksymalnej liczby stron) i posiada poprzedzający
obecny wynik obiekt wyniku stronicowanego.public int getPageNr()
_IPagingInfo
Tę samą informacje można otrzymać poprzez pobranie obiektu @Page
za pomocą metody _IPagingInfo.getCurrentPageInfo()
i wykorzystanie informacji
w Page.getNumber()
.
getPageNr
in interface _IPagingInfo
public int getPageSize()
_IPagingInfo
Tę samą informacje można otrzymać poprzez pobranie obiektu @Page
za pomocą metody _IPagingInfo.getCurrentPageInfo()
i wykorzystanie informacji
w Page.getSize()
.
getPageSize
in interface _IPagingInfo
public int getNumberOfRowsOnThePage()
_IPagingInfo
Tę samą informacje można otrzymać poprzez pobranie obiektu @Page
za pomocą metody _IPagingInfo.getCurrentPageInfo()
i wykorzystanie informacji
w Page.getNumberOfRowsOnThePage()
.
getNumberOfRowsOnThePage
in interface _IPagingInfo
public PagingParams getPagingParams()
getPagingParams
in interface _IPagingInfo
public ResultSupport<Obj> getPreDefinitionOfResult()
PagedResultSupport(PagingParams, ResultSupport, _IPagedQuery, boolean)
i nie raz może być potrzebny do dalszego przetwarzania.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |