org.nuiton.wikitty.search
Class PagedResult<T>

java.lang.Object
  extended by org.nuiton.wikitty.search.PagedResult<T>
Type Parameters:
T - paged result value type
All Implemented Interfaces:
Serializable

public class PagedResult<T>
extends Object
implements Serializable

Paged result containing result collection and facet topics.

Version:
$Revision: 755 $ Last update: $Date: 2011-04-01 18:57:08 +0200 (ven. 01 avril 2011) $ by : $Author: bpoussin $
Author:
poussin
See Also:
Serialized Form

Field Summary
protected  Map<String,List<FacetTopic>> facets
          facet asked or null if no facet
protected  Map<String,Map<String,FacetTopic>> facetsAsMap
          facet asked of null if no facet, FacetTopic are put in map with key topic name, To use this variable, you must used getter, because, this variable is lazy loaded from facets variable.
protected  int firstIndice
          indice element in global search result
protected  int numFound
          total number of result if we call the query for all possible result
protected  String queryString
          query really executed
protected  List<T> results
          list of result in the wanted interval
 
Constructor Summary
PagedResult(int firstIndice, int numFound, String queryString, Map<String,List<FacetTopic>> facets, List<T> results)
          we don't initialize securityToken
 
Method Summary
 PagedResult<Wikitty> cast(String securityToken, WikittyService ws)
          Convert all result to the wikitty type and return new PagedResult with this new result list.
<E extends BusinessEntityImpl>
PagedResult<E>
cast(WikittyProxy proxy, Class<E> clazz)
          Call cast(WikittyProxy, Class, boolean) with autoconvert = true
<E extends BusinessEntityImpl>
PagedResult<E>
cast(WikittyProxy proxy, Class<E> clazz, boolean autoconvert)
          Convert all result to the wanted type and return new PagedResult with this new result list.
 T get(int i)
          Return element at index.
 List<T> getAll()
          Return unmodifiable list of all result.
 Collection<String> getFacetNames()
          Return name of all facet used in query.
 Map<String,List<FacetTopic>> getFacets()
          Get map represent facets.
 Map<String,Map<String,FacetTopic>> getFacetsAsMap()
           
 T getFirst()
          Return the first element in result Can throw an exception if no element available
 int getFirstIndice()
           
 int getNumFound()
           
 String getQueryString()
           
 List<FacetTopic> getTopic(String facetName)
          Return all topic for the specified facet.
 FacetTopic getTopic(String facetName, String topicName)
          Return topic for the specified facet and topic name.
 int getTopicCount(String facetName, String topicName)
          Return topic count for the specified facet and topic name.
 int size()
          Return the number of result in this object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

firstIndice

protected int firstIndice
indice element in global search result


numFound

protected int numFound
total number of result if we call the query for all possible result


queryString

protected String queryString
query really executed


results

protected List<T> results
list of result in the wanted interval


facets

protected Map<String,List<FacetTopic>> facets
facet asked or null if no facet


facetsAsMap

protected Map<String,Map<String,FacetTopic>> facetsAsMap
facet asked of null if no facet, FacetTopic are put in map with key topic name, To use this variable, you must used getter, because, this variable is lazy loaded from facets variable.

Constructor Detail

PagedResult

public PagedResult(int firstIndice,
                   int numFound,
                   String queryString,
                   Map<String,List<FacetTopic>> facets,
                   List<T> results)
we don't initialize securityToken

Parameters:
firstIndice -
numFound -
queryString -
facets -
results -
Method Detail

cast

public <E extends BusinessEntityImpl> PagedResult<E> cast(WikittyProxy proxy,
                                                          Class<E> clazz)
Call cast(WikittyProxy, Class, boolean) with autoconvert = true

Parameters:
proxy - used to retrieve securityToken and WikittyService
clazz - target PagedResult type
Returns:
new PagedResult, this result can have less elements that original for some reason (security, ...)

cast

public PagedResult<Wikitty> cast(String securityToken,
                                 WikittyService ws)
Convert all result to the wikitty type and return new PagedResult with this new result list.

Parameters:
securityToken - security token
ws - wikitty service
Returns:
new PagedResult, this result can have less elements that original for some reason (security, ...)

cast

public <E extends BusinessEntityImpl> PagedResult<E> cast(WikittyProxy proxy,
                                                          Class<E> clazz,
                                                          boolean autoconvert)
Convert all result to the wanted type and return new PagedResult with this new result list. If some result don't have the right extension (clazz) this extension is automatically added if autoconvert is true. Else an exception is thrown when result without extension is found. When you used autoconvert = false, you have a potentially problem when you have modified a BusinessEntity to have new extension and all your wikitty object are not uptodate in database.

Type Parameters:
E - class to cast into
Parameters:
proxy - used to retrieve securityToken and WikittyService
autoconvert - if autoconvert is false and object don't all needed extension, object is not put in the result
Returns:
new PagedResult, this result can have less elements that original for some reason (security, ...)

getFirstIndice

public int getFirstIndice()

getNumFound

public int getNumFound()

getQueryString

public String getQueryString()

getFacetNames

public Collection<String> getFacetNames()
Return name of all facet used in query.

Returns:
result's facets names

getTopic

public List<FacetTopic> getTopic(String facetName)
Return all topic for the specified facet.

Parameters:
facetName - name of the wanted facet
Returns:
facet's topics

getTopic

public FacetTopic getTopic(String facetName,
                           String topicName)
Return topic for the specified facet and topic name.

Parameters:
facetName - name of the wanted facet
topicName - name of the wanted topic
Returns:
topic

getTopicCount

public int getTopicCount(String facetName,
                         String topicName)
Return topic count for the specified facet and topic name. If facet or topic don't exist, return 0.

Parameters:
facetName - name of the wanted facet
topicName - name of the wanted topic
Returns:
topic count or 0

getFacets

public Map<String,List<FacetTopic>> getFacets()
Get map represent facets.

Returns:
all facets

getFacetsAsMap

public Map<String,Map<String,FacetTopic>> getFacetsAsMap()

getFirst

public T getFirst()
Return the first element in result Can throw an exception if no element available

Returns:
first element

get

public T get(int i)
Return element at index.

Parameters:
i - index
Returns:
element at index

getAll

public List<T> getAll()
Return unmodifiable list of all result.

Returns:
all results

size

public int size()
Return the number of result in this object.

Returns:
result number


Copyright © 2009-2011 CodeLutin. All Rights Reserved.