org.opencms.file.collectors
Class CmsDateResourceCollector

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

public class CmsDateResourceCollector
extends A_CmsResourceCollector

A default resource collector that supports flexible sorting based on resource dates.

Since:
7.0.2
Version:
$Revision: 1.4 $
Author:
Alexander Kandzior

Field Summary
 
Fields inherited from class org.opencms.file.collectors.A_CmsResourceCollector
m_order, SEPARATOR_TEMPLATEFILE
 
Constructor Summary
CmsDateResourceCollector()
           
 
Method Summary
protected  java.util.List allInFolderDate(CmsObject cms, java.lang.String param, boolean tree, boolean asc)
          Returns a List of all resources in the folder pointed to by the parameter sorted by the selected dates.
 java.util.List 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 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, 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
 

Constructor Detail

CmsDateResourceCollector

public CmsDateResourceCollector()
Method Detail

getCollectorNames

public java.util.List 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)
                               throws CmsDataAccessException,
                                      CmsException
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
Throws:
CmsDataAccessException - if the parameter attribute of the corresponding collector tag is invalid
CmsException - if something goes wrong
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)
                                throws CmsDataAccessException
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
Throws:
CmsDataAccessException - if the parameter attribute of the corresponding collector tag is invalid
See Also:
I_CmsResourceCollector.getCreateParam(org.opencms.file.CmsObject, java.lang.String, java.lang.String)

getResults

public java.util.List 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)

allInFolderDate

protected java.util.List allInFolderDate(CmsObject cms,
                                         java.lang.String param,
                                         boolean tree,
                                         boolean asc)
                                  throws CmsException
Returns a List of all resources in the folder pointed to by the parameter sorted by the selected dates.

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