org.opencms.search.galleries
Class CmsGallerySearchParameters

java.lang.Object
  extended by org.opencms.search.galleries.CmsGallerySearchParameters

public class CmsGallerySearchParameters
extends java.lang.Object

Parameters used for the gallery search index.

Since:
8.0.0

Nested Class Summary
protected  class CmsGallerySearchParameters.CmsGallerySearchTimeRange
          Helper class to store a time range.
static class CmsGallerySearchParameters.CmsGallerySortParam
          Sort parameter constants.
 
Field Summary
static org.apache.lucene.search.Sort SORT_DATE_CREATED_ASC
          Sort result documents by date of creation ascending.
static org.apache.lucene.search.Sort SORT_DATE_CREATED_DESC
          Sort result documents by date of creation descending.
static org.apache.lucene.search.Sort SORT_DATE_EXPIRED_ASC
          Sort result documents by date of expiration ascending.
static org.apache.lucene.search.Sort SORT_DATE_EXPIRED_DESC
          Sort result documents by date of expiration descending.
static org.apache.lucene.search.Sort SORT_DATE_LASTMODIFIED_ASC
          Sort result documents by date of last modification ascending.
static org.apache.lucene.search.Sort SORT_DATE_LASTMODIFIED_DESC
          Sort result documents by date of last modification descending.
static org.apache.lucene.search.Sort SORT_DATE_RELEASED_ASC
          Sort result documents by date of release ascending.
static org.apache.lucene.search.Sort SORT_DATE_RELEASED_DESC
          Sort result documents by date of release descending.
static org.apache.lucene.search.Sort SORT_LENGTH_ASC
          Sort result documents by resource length ascending, then score.
static org.apache.lucene.search.Sort SORT_LENGTH_DESC
          Sort result documents by resource length descending, then score.
static org.apache.lucene.search.Sort SORT_PATH_ASC
          Sort result documents by VFS path ascending.
static org.apache.lucene.search.Sort SORT_PATH_DESC
          Sort result documents by VFS path descending.
static org.apache.lucene.search.Sort SORT_SCORE
          Sort result documents by score.
static org.apache.lucene.search.Sort SORT_STATE_ASC
          Sort result documents by resource state ascending, then score.
static org.apache.lucene.search.Sort SORT_STATE_DESC
          Sort result documents by resource state descending, then score.
static org.apache.lucene.search.Sort SORT_TITLE_ASC
          Sort result documents by title ascending, then score.
static org.apache.lucene.search.Sort SORT_TITLE_DESC
          Sort result documents by title descending, then score.
static org.apache.lucene.search.Sort SORT_TYPE_ASC
          Sort result documents by resource type ascending, then score.
static org.apache.lucene.search.Sort SORT_TYPE_DESC
          Sort result documents by resource type descending, then score.
static org.apache.lucene.search.Sort SORT_USER_CREATED_ASC
          Sort result documents by date user who created ascending, then date of creation.
static org.apache.lucene.search.Sort SORT_USER_CREATED_DESC
          Sort result documents by date user who created descending, then date of creation.
static org.apache.lucene.search.Sort SORT_USER_LASTMODIFIED_ASC
          Sort result documents by date user who did the last modification ascending, then date of last modification.
static org.apache.lucene.search.Sort SORT_USER_LASTMODIFIED_DESC
          Sort result documents by date user who did the last modification descending, then date of last modification.
 
Constructor Summary
CmsGallerySearchParameters()
          Default constructor.
 
Method Summary
 java.util.List<java.lang.String> getCategories()
          Returns the categories that have been included in the search.
protected  CmsSearchParameters getCmsSearchParams()
          Wraps this parameters to the standard search parameters, so that inherited methods in the search index can be used.
 java.util.List<java.lang.String> getContainerTypes()
          Returns the container types that have been included in the search.
 CmsGallerySearchParameters.CmsGallerySearchTimeRange getDateCreatedRange()
          Returns the time range for the date of creation that has been used for the search result.
 CmsGallerySearchParameters.CmsGallerySearchTimeRange getDateLastModifiedRange()
          Returns the time range for the date of last modification that has been used for the search result.
 java.util.List<java.lang.String> getFields()
          Returns the list of the names of the fields to search in.
 java.util.List<java.lang.String> getFolders()
          Returns the list of folders to search in.
 java.util.List<java.lang.String> getGalleries()
          Returns the galleries that have been included in the search.
 java.lang.String getLocale()
          Returns the locale that has been used for the search.
 int getMatchesPerPage()
          Returns the maximum number of matches per result page.
 java.util.List<java.lang.String> getResourceTypes()
          Returns the names of the resource types that have been included in the search result.
 int getResultPage()
          Returns the index of the requested result page.
 java.lang.String getSearchWords()
          Returns the words (terms) that have been used for the full text search.
 org.apache.lucene.search.Sort getSort()
          Returns the Lucene sort indicated by the selected sort order.
 CmsGallerySearchParameters.CmsGallerySortParam getSortOrder()
          Returns the sort order that has been used in the search.
 org.apache.lucene.search.Sort getTitleSort(java.lang.String locale, boolean desc)
          Returns a sort for a localized title.
 void setCategories(java.util.List<java.lang.String> categories)
          Sets the categories for the search.
 void setContainerTypes(java.util.List<java.lang.String> containerTypes)
          Sets the container types for the search.
 void setDateCreatedTimeRange(long startTime, long endTime)
          Sets the time range for the date of resource creation to consider in the search.
 void setDateLastModifiedTimeRange(long startTime, long endTime)
          Sets the time range for the date of resource last modification to consider in the search.
 void setFields(java.util.List<java.lang.String> fields)
          Sets the list of the names of the fields to search in.
 void setFolders(java.util.List<java.lang.String> folders)
          Sets the folders to search in.
 void setGalleries(java.util.List<java.lang.String> galleries)
          Sets the galleries for the search.
 void setMatchesPerPage(int matchesPerPage)
          Sets the maximum number of matches per result page.
 void setResourceTypes(java.util.List<java.lang.String> resourceTypes)
          Sets the names of the resource types to include in the search result.
 void setResultPage(int resultPage)
          Sets the index of the result page that should be returned.
 void setSearchLocale(java.lang.String locale)
          Sets the locale for the search.
 void setSearchWords(java.lang.String words)
          Sets the words (terms) for the full text search.
 void setSortOrder(CmsGallerySearchParameters.CmsGallerySortParam sortOrder)
          Sets the sort order for the search.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SORT_DATE_CREATED_ASC

public static final org.apache.lucene.search.Sort SORT_DATE_CREATED_ASC
Sort result documents by date of creation ascending.


SORT_DATE_CREATED_DESC

public static final org.apache.lucene.search.Sort SORT_DATE_CREATED_DESC
Sort result documents by date of creation descending.


SORT_DATE_EXPIRED_ASC

public static final org.apache.lucene.search.Sort SORT_DATE_EXPIRED_ASC
Sort result documents by date of expiration ascending.


SORT_DATE_EXPIRED_DESC

public static final org.apache.lucene.search.Sort SORT_DATE_EXPIRED_DESC
Sort result documents by date of expiration descending.


SORT_DATE_LASTMODIFIED_ASC

public static final org.apache.lucene.search.Sort SORT_DATE_LASTMODIFIED_ASC
Sort result documents by date of last modification ascending.


SORT_DATE_LASTMODIFIED_DESC

public static final org.apache.lucene.search.Sort SORT_DATE_LASTMODIFIED_DESC
Sort result documents by date of last modification descending.


SORT_DATE_RELEASED_ASC

public static final org.apache.lucene.search.Sort SORT_DATE_RELEASED_ASC
Sort result documents by date of release ascending.


SORT_DATE_RELEASED_DESC

public static final org.apache.lucene.search.Sort SORT_DATE_RELEASED_DESC
Sort result documents by date of release descending.


SORT_LENGTH_ASC

public static final org.apache.lucene.search.Sort SORT_LENGTH_ASC
Sort result documents by resource length ascending, then score.


SORT_LENGTH_DESC

public static final org.apache.lucene.search.Sort SORT_LENGTH_DESC
Sort result documents by resource length descending, then score.


SORT_PATH_ASC

public static final org.apache.lucene.search.Sort SORT_PATH_ASC
Sort result documents by VFS path ascending.


SORT_PATH_DESC

public static final org.apache.lucene.search.Sort SORT_PATH_DESC
Sort result documents by VFS path descending.


SORT_SCORE

public static final org.apache.lucene.search.Sort SORT_SCORE
Sort result documents by score.


SORT_STATE_ASC

public static final org.apache.lucene.search.Sort SORT_STATE_ASC
Sort result documents by resource state ascending, then score.


SORT_STATE_DESC

public static final org.apache.lucene.search.Sort SORT_STATE_DESC
Sort result documents by resource state descending, then score.


SORT_TITLE_ASC

public static final org.apache.lucene.search.Sort SORT_TITLE_ASC
Sort result documents by title ascending, then score.


SORT_TITLE_DESC

public static final org.apache.lucene.search.Sort SORT_TITLE_DESC
Sort result documents by title descending, then score.


SORT_TYPE_ASC

public static final org.apache.lucene.search.Sort SORT_TYPE_ASC
Sort result documents by resource type ascending, then score.


SORT_TYPE_DESC

public static final org.apache.lucene.search.Sort SORT_TYPE_DESC
Sort result documents by resource type descending, then score.


SORT_USER_CREATED_ASC

public static final org.apache.lucene.search.Sort SORT_USER_CREATED_ASC
Sort result documents by date user who created ascending, then date of creation.


SORT_USER_CREATED_DESC

public static final org.apache.lucene.search.Sort SORT_USER_CREATED_DESC
Sort result documents by date user who created descending, then date of creation.


SORT_USER_LASTMODIFIED_ASC

public static final org.apache.lucene.search.Sort SORT_USER_LASTMODIFIED_ASC
Sort result documents by date user who did the last modification ascending, then date of last modification.


SORT_USER_LASTMODIFIED_DESC

public static final org.apache.lucene.search.Sort SORT_USER_LASTMODIFIED_DESC
Sort result documents by date user who did the last modification descending, then date of last modification.

Constructor Detail

CmsGallerySearchParameters

public CmsGallerySearchParameters()
Default constructor.

Method Detail

getCategories

public java.util.List<java.lang.String> getCategories()
Returns the categories that have been included in the search.

If no categories have been set, then null is returned.

Returns:
the categories that have been included in the search

getContainerTypes

public java.util.List<java.lang.String> getContainerTypes()
Returns the container types that have been included in the search.

Returns:
the container types that have been included in the search

getDateCreatedRange

public CmsGallerySearchParameters.CmsGallerySearchTimeRange getDateCreatedRange()
Returns the time range for the date of creation that has been used for the search result.

In case this time range has not been set, this will return an object where the start date is equal to Long.MIN_VALUE and the end date is equal to Long.MAX_VALUE.

Returns:
the time range for the date of creation that has been used for the search result

getDateLastModifiedRange

public CmsGallerySearchParameters.CmsGallerySearchTimeRange getDateLastModifiedRange()
Returns the time range for the date of last modification that has been used for the search result.

In case this time range has not been set, this will return an object where the start date is equal to Long.MIN_VALUE and the end date is equal to Long.MAX_VALUE.

Returns:
the time range for the date of last modification that has been used for the search result

getFields

public java.util.List<java.lang.String> getFields()
Returns the list of the names of the fields to search in.

If this has not been set, then the default fields defined in CmsSearchIndex.DOC_META_FIELDS are used as default.

Returns:
the list of the names of the fields to search in

getFolders

public java.util.List<java.lang.String> getFolders()
Returns the list of folders to search in.

Returns:
a list of paths of VFS folders

getGalleries

public java.util.List<java.lang.String> getGalleries()
Returns the galleries that have been included in the search.

If no galleries have been set, then null is returned.

Returns:
the galleries that have been included in the search

getLocale

public java.lang.String getLocale()
Returns the locale that has been used for the search.

If no locale has been set, then null is returned.

Returns:
the locale that has been used for the search

getMatchesPerPage

public int getMatchesPerPage()
Returns the maximum number of matches per result page.

Returns:
the the maximum number of matches per result page
See Also:
getMatchesPerPage(), setResultPage(int)

getResourceTypes

public java.util.List<java.lang.String> getResourceTypes()
Returns the names of the resource types that have been included in the search result.

If no resource types have been set, then null is returned.

Returns:
the names of the resource types that have been included in the search result

getResultPage

public int getResultPage()
Returns the index of the requested result page.

Returns:
the index of the requested result page
See Also:
setResultPage(int), getMatchesPerPage(), setMatchesPerPage(int)

getSearchWords

public java.lang.String getSearchWords()
Returns the words (terms) that have been used for the full text search.

If no search words have been set, then null is returned.

Returns:
the words (terms) that have been used for the full text search

getSort

public org.apache.lucene.search.Sort getSort()
Returns the Lucene sort indicated by the selected sort order.

Returns:
the Lucene sort indicated by the selected sort order
See Also:
getSortOrder()

getSortOrder

public CmsGallerySearchParameters.CmsGallerySortParam getSortOrder()
Returns the sort order that has been used in the search.

If the sort parameter has not been set the default sort order defined by CmsGallerySearchParameters.CmsGallerySortParam.DEFAULT is used.

Returns:
the sort order that has been used in the search

getTitleSort

public org.apache.lucene.search.Sort getTitleSort(java.lang.String locale,
                                                  boolean desc)
Returns a sort for a localized title.

Parameters:
locale - the locale to sort with
desc - indicates if the sort should be descending
Returns:
a sort for a localized title

setCategories

public void setCategories(java.util.List<java.lang.String> categories)
Sets the categories for the search.

Results are found only if they are contained in at least one of the given categories.

Parameters:
categories - the categories to set

setContainerTypes

public void setContainerTypes(java.util.List<java.lang.String> containerTypes)
Sets the container types for the search.

Results are found only if they are compatible with one of the given container types. If no container type is set, results compatible with any container will be returned in the search result.

Parameters:
containerTypes - the container types to set

setDateCreatedTimeRange

public void setDateCreatedTimeRange(long startTime,
                                    long endTime)
Sets the time range for the date of resource creation to consider in the search.

Parameters:
startTime - the start time of the time range
endTime - the end time of the time range

setDateLastModifiedTimeRange

public void setDateLastModifiedTimeRange(long startTime,
                                         long endTime)
Sets the time range for the date of resource last modification to consider in the search.

Parameters:
startTime - the start time of the time range
endTime - the end time of the time range

setFields

public void setFields(java.util.List<java.lang.String> fields)
Sets the list of the names of the fields to search in.

Parameters:
fields - the list of names of the fields to set

setFolders

public void setFolders(java.util.List<java.lang.String> folders)
Sets the folders to search in.

Parameters:
folders - the list of VFS folders

setGalleries

public void setGalleries(java.util.List<java.lang.String> galleries)
Sets the galleries for the search.

Results are found only if they are contained in one of the given galleries. If no gallery is set, results from all galleries will be returned in the search result.

Parameters:
galleries - the galleries to set

setMatchesPerPage

public void setMatchesPerPage(int matchesPerPage)
Sets the maximum number of matches per result page.

Use this together with setResultPage(int) in order to split the result in more than one page.

Parameters:
matchesPerPage - the the maximum number of matches per result page to set
See Also:
getMatchesPerPage(), setResultPage(int)

setResourceTypes

public void setResourceTypes(java.util.List<java.lang.String> resourceTypes)
Sets the names of the resource types to include in the search result.

Results are found only if they resources match one of the given resource type names. If no resource type name is set, all resource types will be returned in the search result.

Parameters:
resourceTypes - the names of the resource types to include in the search result

setResultPage

public void setResultPage(int resultPage)
Sets the index of the result page that should be returned.

Use this together with setMatchesPerPage(int) in order to split the result in more than one page.

Parameters:
resultPage - the index of the result page to return
See Also:
getResultPage(), getMatchesPerPage(), setMatchesPerPage(int)

setSearchLocale

public void setSearchLocale(java.lang.String locale)
Sets the locale for the search.

Results are found only if they match the given locale. If no locale is set, results for all locales will be returned in the search result.

Parameters:
locale - the locale to set

setSearchWords

public void setSearchWords(java.lang.String words)
Sets the words (terms) for the full text search.

Results are found only if they text extraction for the resource contains all given search words. If no search word is set, all resources will be returned in the search result.

Please note that this should be a list of words separated by white spaces. Simple Lucene modifiers such as (+), (-) and (*) are allowed, but anything more complex then this will be removed.

Parameters:
words - the words (terms) for the full text search to set

setSortOrder

public void setSortOrder(CmsGallerySearchParameters.CmsGallerySortParam sortOrder)
Sets the sort order for the search.

Parameters:
sortOrder - the sort order to set

getCmsSearchParams

protected CmsSearchParameters getCmsSearchParams()
Wraps this parameters to the standard search parameters, so that inherited methods in the search index can be used.

Returns:
this parameters wrapped to the standard search parameters