org.opencms.file.collectors
Class CmsDefaultResourceCollector

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

public class CmsDefaultResourceCollector
extends A_CmsResourceCollector

A default resource collector to generate some example list of resources from the VFS.

Since:
6.0.0
Version:
$Revision: 1.18 $
Author:
Alexander Kandzior, Thomas Weckert

Field Summary
 
Fields inherited from class org.opencms.file.collectors.A_CmsResourceCollector
m_order, SEPARATOR_TEMPLATEFILE
 
Constructor Summary
CmsDefaultResourceCollector()
           
 
Method Summary
protected  java.util.List allInFolderDateReleasedDesc(CmsObject cms, java.lang.String param, boolean tree)
          Returns a List of all resources in the folder pointed to by the parameter sorted by the release date, descending.
protected  java.util.List allInFolderNavPos(CmsObject cms, java.lang.String param, boolean readSubTree)
          Collects all resources in a folder (or subtree) sorted by the NavPos property.
protected  java.util.List getAllInFolder(CmsObject cms, java.lang.String param, boolean tree)
          Returns all resources in the folder pointed to by the parameter.
 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.
protected  java.util.List getSingleFile(CmsObject cms, java.lang.String param)
          Returns a List containing the resources pointed to by the parameter.
 
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

CmsDefaultResourceCollector

public CmsDefaultResourceCollector()
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)

allInFolderDateReleasedDesc

protected java.util.List allInFolderDateReleasedDesc(CmsObject cms,
                                                     java.lang.String param,
                                                     boolean tree)
                                              throws CmsException
Returns a List of all resources in the folder pointed to by the parameter sorted by the release date, descending.

Parameters:
cms - the current CmsObject
param - the folder name to use
tree - if true, look in folder and all child folders, if false, look only in given folder
Returns:
a List of all resources in the folder pointed to by the parameter sorted by the release date, descending
Throws:
CmsException - if something goes wrong

allInFolderNavPos

protected java.util.List allInFolderNavPos(CmsObject cms,
                                           java.lang.String param,
                                           boolean readSubTree)
                                    throws CmsException
Collects all resources in a folder (or subtree) sorted by the NavPos property.

Parameters:
cms - the current user's Cms object
param - the collector's parameter(s)
readSubTree - if true, collects all resources in the subtree
Returns:
a List of Cms resources found by the collector
Throws:
CmsException - if something goes wrong

getAllInFolder

protected java.util.List getAllInFolder(CmsObject cms,
                                        java.lang.String param,
                                        boolean tree)
                                 throws CmsException,
                                        CmsIllegalArgumentException
Returns all resources in the folder pointed to by the parameter.

Parameters:
cms - the current OpenCms user context
param - the folder name to use
tree - if true, look in folder and all child folders, if false, look only in given folder
Returns:
all resources in the folder matching the given criteria
Throws:
CmsException - if something goes wrong
CmsIllegalArgumentException - if the given param argument is not a link to a single file

getSingleFile

protected java.util.List getSingleFile(CmsObject cms,
                                       java.lang.String param)
                                throws CmsException
Returns a List containing the resources pointed to by the parameter.

Parameters:
cms - the current CmsObject
param - the name of the file to load
Returns:
a List containing the resources pointed to by the parameter
Throws:
CmsException - if something goes wrong