Package com.day.cq.wcm.foundation
Class List
- java.lang.Object
-
- com.day.cq.wcm.foundation.List
-
public class List extends java.lang.Object
Creates a list from a resource for use in the list component.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
List.PageComparator<P extends Page>
Compares pages with each other by property.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ALLOW_DUPLICATES_PROPERTY_NAME
static java.lang.String
ANCESTOR_PAGE_PROPERTY_NAME
static java.lang.String
DEFAULT_QUERY
static java.lang.String
LIMIT_PROPERTY_NAME
static Logger
log
static java.lang.String
ORDER_BY_PROPERTY_NAME
static java.lang.String
ORDERED_PROPERTY_NAME
static java.lang.String
PAGE_MAX_PARAM_NAME
static java.lang.String
PAGE_MAX_PROPERTY_NAME
static java.lang.String
PAGE_START_PARAM_NAME
static java.lang.String
PAGES_PROPERTY_NAME
static java.lang.String
PARENT_PAGE_PROPERTY_NAME
static java.lang.String
QUERY_PROPERTY_NAME
static java.lang.String
SAVEDQUERY_PROPERTY_NAME
static java.lang.String
SEARCH_IN_PROPERTY_NAME
static java.lang.String
SEARCH_PROPERTY
static java.lang.String
SOURCE_CHILDREN
Used to create a list from child pages.static java.lang.String
SOURCE_DESCENDANTS
Used to create a list from descendant pages.static java.lang.String
SOURCE_PROPERTY_NAME
static java.lang.String
SOURCE_QUERYBUILDER
Used to create a list from a querybuilder search result.static java.lang.String
SOURCE_SEARCH
Used to create a list from a search result.static java.lang.String
SOURCE_STATIC
Used to create a list from a fixed selection of pages.static java.lang.String
SOURCE_TAGS
Used to create a list from list of tags.static java.lang.String
TAGS_MATCH_PROPERTY_NAME
static java.lang.String
TAGS_PROPERTY_NAME
static java.lang.String
TAGS_SEARCH_ROOT_PROPERTY_NAME
static java.lang.String
TYPE_DEFAULT
Used for default rendering of the list items.static java.lang.String
TYPE_PROPERTY_NAME
static java.lang.String
URL_EXTENSION
-
Constructor Summary
Constructors Constructor Description List(SlingHttpServletRequest request)
Creates aList
instance based on the specified request.List(SlingHttpServletRequest request, PageFilter pageFilter)
Creates aList
instance based on the specified request.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.lang.String
getNextPageLink()
Returns the link to the page with the next set of list items.java.util.Iterator<Node>
getNodes()
Returns the list as nodes.int
getPageMaximum()
Returns the maximum of list items to return per page.java.util.Iterator<Page>
getPages()
Returns the list items as pages, respecting both starting index and maximum number of list items if specified.int
getPageStart()
Returns the starting index for list items on this page.java.lang.String
getPreviousPageLink()
Returns the link to the page with the previous set of list items.java.util.Iterator<Resource>
getResources()
Deprecated.usegetPages()
insteadjava.lang.String
getType()
Returns the type of the list.boolean
isEmpty()
States whether the list is empty.boolean
isOrdered()
States whether the list is ordered.boolean
isPaginating()
States whether the list is paginating, i.e.void
setLimit(int l)
Sets the limit for list items.void
setOrderBy(java.lang.String ob)
Sets the property to order the list by.void
setOrderComparator(java.util.Comparator<Page> obc)
Sets the comparator used to order the list with.void
setOrdered(boolean o)
Sets the list style (numbered or not).void
setPageIterator(java.util.Iterator<Page> iter)
Sets the page iterator to generate the list from.void
setPageMaximum(int pm)
Sets the maximum list items to return.void
setPageStart(int psi)
Sets the starting index to be respected when returning list items.void
setQuery(java.lang.String q)
Sets the query for the fulltext search.void
setQuery(java.lang.String q, java.lang.String type)
Sets the query for the search with the specified type (xpath, sql).void
setSource(java.lang.String src)
Sets the source for the list.void
setStartIn(java.lang.String start)
Sets the the of the page to start searching on.void
setType(java.lang.String t)
Sets the type of the list.int
size()
Returns the number of list items.
-
-
-
Field Detail
-
log
public static final Logger log
-
DEFAULT_QUERY
public static final java.lang.String DEFAULT_QUERY
- See Also:
- Constant Field Values
-
URL_EXTENSION
public static final java.lang.String URL_EXTENSION
- See Also:
- Constant Field Values
-
TYPE_PROPERTY_NAME
public static final java.lang.String TYPE_PROPERTY_NAME
- See Also:
- Constant Field Values
-
SOURCE_PROPERTY_NAME
public static final java.lang.String SOURCE_PROPERTY_NAME
- See Also:
- Constant Field Values
-
SOURCE_CHILDREN
public static final java.lang.String SOURCE_CHILDREN
Used to create a list from child pages.- See Also:
- Constant Field Values
-
SOURCE_DESCENDANTS
public static final java.lang.String SOURCE_DESCENDANTS
Used to create a list from descendant pages.- See Also:
- Constant Field Values
-
SOURCE_STATIC
public static final java.lang.String SOURCE_STATIC
Used to create a list from a fixed selection of pages.- See Also:
- Constant Field Values
-
SOURCE_SEARCH
public static final java.lang.String SOURCE_SEARCH
Used to create a list from a search result.- See Also:
- Constant Field Values
-
SOURCE_QUERYBUILDER
public static final java.lang.String SOURCE_QUERYBUILDER
Used to create a list from a querybuilder search result. Allows rendering of any node, not just pages.- See Also:
- Constant Field Values
-
SOURCE_TAGS
public static final java.lang.String SOURCE_TAGS
Used to create a list from list of tags.- See Also:
- Constant Field Values
-
TYPE_DEFAULT
public static final java.lang.String TYPE_DEFAULT
Used for default rendering of the list items.- See Also:
- Constant Field Values
-
PARENT_PAGE_PROPERTY_NAME
public static final java.lang.String PARENT_PAGE_PROPERTY_NAME
- See Also:
- Constant Field Values
-
ANCESTOR_PAGE_PROPERTY_NAME
public static final java.lang.String ANCESTOR_PAGE_PROPERTY_NAME
- See Also:
- Constant Field Values
-
TAGS_SEARCH_ROOT_PROPERTY_NAME
public static final java.lang.String TAGS_SEARCH_ROOT_PROPERTY_NAME
- See Also:
- Constant Field Values
-
TAGS_PROPERTY_NAME
public static final java.lang.String TAGS_PROPERTY_NAME
- See Also:
- Constant Field Values
-
TAGS_MATCH_PROPERTY_NAME
public static final java.lang.String TAGS_MATCH_PROPERTY_NAME
- See Also:
- Constant Field Values
-
PAGES_PROPERTY_NAME
public static final java.lang.String PAGES_PROPERTY_NAME
- See Also:
- Constant Field Values
-
QUERY_PROPERTY_NAME
public static final java.lang.String QUERY_PROPERTY_NAME
- See Also:
- Constant Field Values
-
SEARCH_IN_PROPERTY_NAME
public static final java.lang.String SEARCH_IN_PROPERTY_NAME
- See Also:
- Constant Field Values
-
SEARCH_PROPERTY
public static final java.lang.String SEARCH_PROPERTY
- See Also:
- Constant Field Values
-
LIMIT_PROPERTY_NAME
public static final java.lang.String LIMIT_PROPERTY_NAME
- See Also:
- Constant Field Values
-
PAGE_MAX_PROPERTY_NAME
public static final java.lang.String PAGE_MAX_PROPERTY_NAME
- See Also:
- Constant Field Values
-
ORDER_BY_PROPERTY_NAME
public static final java.lang.String ORDER_BY_PROPERTY_NAME
- See Also:
- Constant Field Values
-
ORDERED_PROPERTY_NAME
public static final java.lang.String ORDERED_PROPERTY_NAME
- See Also:
- Constant Field Values
-
SAVEDQUERY_PROPERTY_NAME
public static final java.lang.String SAVEDQUERY_PROPERTY_NAME
- See Also:
- Constant Field Values
-
PAGE_START_PARAM_NAME
public static final java.lang.String PAGE_START_PARAM_NAME
- See Also:
- Constant Field Values
-
PAGE_MAX_PARAM_NAME
public static final java.lang.String PAGE_MAX_PARAM_NAME
- See Also:
- Constant Field Values
-
ALLOW_DUPLICATES_PROPERTY_NAME
public static final java.lang.String ALLOW_DUPLICATES_PROPERTY_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
List
public List(SlingHttpServletRequest request)
Creates aList
instance based on the specified request.- Parameters:
request
- The request
-
List
public List(SlingHttpServletRequest request, PageFilter pageFilter)
Creates aList
instance based on the specified request.- Parameters:
request
- The requestpageFilter
- Page filter
-
-
Method Detail
-
getResources
public java.util.Iterator<Resource> getResources()
Deprecated.usegetPages()
insteadReturns the list items as resources.- Returns:
- The resources
-
getPages
public java.util.Iterator<Page> getPages()
Returns the list items as pages, respecting both starting index and maximum number of list items if specified.- Returns:
- The pages
-
getNodes
public java.util.Iterator<Node> getNodes()
Returns the list as nodes. This is only the case when an advanced search is run, ie. thesource
isSOURCE_QUERYBUILDER
. Otherwisenull
will be returned.- Returns:
- the nodes of a querybuilder search result or
null
- Since:
- 5.3
-
isOrdered
public boolean isOrdered()
States whether the list is ordered.- Returns:
true
if list is ordered,false
otherwise
-
isEmpty
public boolean isEmpty()
States whether the list is empty.- Returns:
true
if list is empty,false
otherwise
-
size
public int size()
Returns the number of list items.- Returns:
- The size of the list
-
isPaginating
public boolean isPaginating()
States whether the list is paginating, i.e. has a starting index and/or a maximum numbe rof list items per page defined.- Returns:
true
if list is paginating,false
otherwise
-
getPageStart
public int getPageStart()
Returns the starting index for list items on this page. Used for pagination.- Returns:
- The start index of
-
getPageMaximum
public int getPageMaximum()
Returns the maximum of list items to return per page. Used for pagination.- Returns:
- The maximum per page
-
getNextPageLink
public java.lang.String getNextPageLink()
Returns the link to the page with the next set of list items. Used for pagination.- Returns:
- The link to the next page
-
getPreviousPageLink
public java.lang.String getPreviousPageLink()
Returns the link to the page with the previous set of list items. Used for pagination.- Returns:
- The link to the previous page
-
setSource
public void setSource(java.lang.String src)
Sets the source for the list. The value can be one of: This is an optional setter, the default value will be taken from the property defined bySOURCE_PROPERTY_NAME
.- Parameters:
src
- The list source
-
setQuery
public void setQuery(java.lang.String q)
Sets the query for the fulltext search.- Parameters:
q
- The query
-
setQuery
public void setQuery(java.lang.String q, java.lang.String type)
Sets the query for the search with the specified type (xpath, sql).- Parameters:
q
- The querytype
- The query type (optional)
-
setStartIn
public void setStartIn(java.lang.String start)
Sets the the of the page to start searching on.- Parameters:
start
- The start page path
-
getType
public java.lang.String getType()
Returns the type of the list. This can be used to select the script that renders the list items.- Returns:
- The list type
-
setType
public void setType(java.lang.String t)
Sets the type of the list. This is an optional setter, the default value will be taken from the property defined byTYPE_PROPERTY_NAME
.- Parameters:
t
- The list type
-
setOrderComparator
public void setOrderComparator(java.util.Comparator<Page> obc)
Sets the comparator used to order the list with. This is an optional setter and overrides #setOrderBy(String).- Parameters:
obc
- The comparator to order the list with
-
setOrderBy
public void setOrderBy(java.lang.String ob)
Sets the property to order the list by. This is an optional setter, the default value will be taken from the property defined byORDER_BY_PROPERTY_NAME
.- Parameters:
ob
- The property to order the list by
-
setOrdered
public void setOrdered(boolean o)
Sets the list style (numbered or not). This is an optional setter, the default value will befalse
- Parameters:
o
-true
if list should be rendered with numbered items,false
otherwise
-
setLimit
public void setLimit(int l)
Sets the limit for list items. This is an optional setter, the default value will be taken from the property defined byLIMIT_PROPERTY_NAME
.- Parameters:
l
- The limit
-
setPageMaximum
public void setPageMaximum(int pm)
Sets the maximum list items to return. Enables pagination. This is an optional setter, the default value will be taken from the property defined byPAGE_MAX_PROPERTY_NAME
.- Parameters:
pm
- The maximum number of pages per page
-
setPageStart
public void setPageStart(int psi)
Sets the starting index to be respected when returning list items. Used when paginating.- Parameters:
psi
- The starting index (defaults to 0).
-
setPageIterator
public void setPageIterator(java.util.Iterator<Page> iter)
Sets the page iterator to generate the list from.- Parameters:
iter
- The iterator
-
-