org.opencms.file.collectors
Class CmsChangedResourceCollector

java.lang.Object
  extended by org.opencms.file.collectors.A_CmsResourceCollector
      extended by org.opencms.file.collectors.CmsChangedResourceCollector
All Implemented Interfaces:
java.lang.Comparable<I_CmsResourceCollector>, I_CmsResourceCollector

public class CmsChangedResourceCollector
extends A_CmsResourceCollector

A resource collector that collects resources changed in a given time frame and supports flexible sorting based on resource dates.

Since:
8.0

Field Summary
static java.lang.String PARAM_KEY_COUNT
          The collector parameter key for the maximum number of resources to return.
static java.lang.String PARAM_KEY_DATEFROM
          The collector parameter key for the date from which a resource should be changed.
static java.lang.String PARAM_KEY_DATETO
          The collector parameter key for the date to which a resource should be changed.
static java.lang.String PARAM_KEY_EXCLUDETYPE
          The collector parameter key for the name of the resource type to exclude from the result.
static java.lang.String PARAM_KEY_RESOURCE
          The collector parameter key for the resource, i.e. the parent folder from which the subscribed or visited resources should be read from.
static java.lang.String PARAM_KEY_SORTBY
          The collector parameter key for the sort attribute that should be used to sort the result.
 
Fields inherited from class org.opencms.file.collectors.A_CmsResourceCollector
m_order, SEPARATOR_TEMPLATEFILE
 
Constructor Summary
CmsChangedResourceCollector()
           
 
Method Summary
protected  java.util.List<CmsResource> allChangedInFolderDate(CmsObject cms, java.lang.String param, boolean tree, boolean asc)
          Returns a List of all changed resources in the folder pointed to by the parameter sorted by the date attributes specified in the parameter.
 java.util.List<java.lang.String> getCollectorNames()
          Returns a list of all collector names (Strings) this collector implementation supports.
 java.lang.String getCreateLink(CmsObject cms, java.lang.String collectorName, java.lang.String param)
          Returns the link that must be executed when a user clicks on the direct edit "new" button on a list created by the named collector.
 java.lang.String getCreateParam(CmsObject cms, java.lang.String collectorName, java.lang.String param)
          Returns the parameter that must be passed to the I_CmsResourceCollector.getCreateLink(CmsObject, String, String) method.
 java.util.List<CmsResource> getResults(CmsObject cms, java.lang.String collectorName, java.lang.String param)
          Returns a list of CmsResource Objects that are gathered in the VFS using the named collector.
 
Methods inherited from class org.opencms.file.collectors.A_CmsResourceCollector
checkParams, compareTo, createResourceForCollector, equals, getCreateInFolder, getCreateInFolder, getCreateLink, getCreateParam, getDefaultCollectorName, getDefaultCollectorParam, getOrder, getResults, hashCode, setDefaultCollectorName, setDefaultCollectorParam, setOrder, shrinkToFit
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PARAM_KEY_COUNT

public static final java.lang.String PARAM_KEY_COUNT
The collector parameter key for the maximum number of resources to return.

See Also:
Constant Field Values

PARAM_KEY_DATEFROM

public static final java.lang.String PARAM_KEY_DATEFROM
The collector parameter key for the date from which a resource should be changed.

See Also:
Constant Field Values

PARAM_KEY_DATETO

public static final java.lang.String PARAM_KEY_DATETO
The collector parameter key for the date to which a resource should be changed.

See Also:
Constant Field Values

PARAM_KEY_EXCLUDETYPE

public static final java.lang.String PARAM_KEY_EXCLUDETYPE
The collector parameter key for the name of the resource type to exclude from the result.

See Also:
Constant Field Values

PARAM_KEY_RESOURCE

public static final java.lang.String PARAM_KEY_RESOURCE
The collector parameter key for the resource, i.e. the parent folder from which the subscribed or visited resources should be read from.

See Also:
Constant Field Values

PARAM_KEY_SORTBY

public static final java.lang.String PARAM_KEY_SORTBY
The collector parameter key for the sort attribute that should be used to sort the result.

See Also:
Constant Field Values
Constructor Detail

CmsChangedResourceCollector

public CmsChangedResourceCollector()
Method Detail

getCollectorNames

public java.util.List<java.lang.String> getCollectorNames()
Description copied from interface: I_CmsResourceCollector
Returns a list of all collector names (Strings) this collector implementation supports.

Returns:
a list of all collector names this collector implementation supports
See Also:
I_CmsResourceCollector.getCollectorNames()

getCreateLink

public java.lang.String getCreateLink(CmsObject cms,
                                      java.lang.String collectorName,
                                      java.lang.String param)
Description copied from interface: I_CmsResourceCollector
Returns the link that must be executed when a user clicks on the direct edit "new" button on a list created by the named collector.

If this method returns null, it indicated that the selected collector implementation does not support a "create link", and so no "new" button will should shown on lists generated with this collector.

Parameters:
cms - the current CmsObject
collectorName - the name of the collector to use
param - an optional collector parameter
Returns:
the link to execute after a "new" button was clicked
See Also:
I_CmsResourceCollector.getCreateLink(org.opencms.file.CmsObject, java.lang.String, java.lang.String)

getCreateParam

public java.lang.String getCreateParam(CmsObject cms,
                                       java.lang.String collectorName,
                                       java.lang.String param)
Description copied from interface: I_CmsResourceCollector
Returns the parameter that must be passed to the I_CmsResourceCollector.getCreateLink(CmsObject, String, String) method.

If this method returns null, it indicates that the selected collector implementation does not support a "create link", and so no "new" button will should shown on lists generated with this collector.

Parameters:
cms - the current CmsObject
collectorName - the name of the collector to use
param - an optional collector parameter from the current page context
Returns:
the parameter that will be passed to the I_CmsResourceCollector.getCreateLink(CmsObject, String, String) method, or null
See Also:
I_CmsResourceCollector.getCreateParam(org.opencms.file.CmsObject, java.lang.String, java.lang.String)

getResults

public java.util.List<CmsResource> getResults(CmsObject cms,
                                              java.lang.String collectorName,
                                              java.lang.String param)
                                       throws CmsDataAccessException,
                                              CmsException
Description copied from interface: I_CmsResourceCollector
Returns a list of CmsResource Objects that are gathered in the VFS using the named collector.

Parameters:
cms - the current CmsObject
collectorName - the name of the collector to use
param - an optional collector parameter
Returns:
a list of CmsXmlContent objects
Throws:
CmsDataAccessException - if the parameter attribute of the corresponding collector tag is invalid
CmsException - if something goes wrong
See Also:
I_CmsResourceCollector.getResults(org.opencms.file.CmsObject, java.lang.String, java.lang.String)

allChangedInFolderDate

protected java.util.List<CmsResource> allChangedInFolderDate(CmsObject cms,
                                                             java.lang.String param,
                                                             boolean tree,
                                                             boolean asc)
                                                      throws CmsException
Returns a List of all changed resources in the folder pointed to by the parameter sorted by the date attributes specified in the parameter.

Parameters:
cms - the current CmsObject
param - must contain an extended collector parameter set as described by CmsExtendedCollectorData
tree - if true, look in folder and all child folders, if false, look only in given folder
asc - if true, the sort is ascending (old dates first), otherwise it is descending (new dates first)
Returns:
a List of all resources in the folder pointed to by the parameter sorted by the selected dates
Throws:
CmsException - if something goes wrong