|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.opencms.jsp.CmsJspNavBuilder
public class CmsJspNavBuilder
Bean to provide a convenient way to build navigation structures based on the
.CmsJspNavElement
Use this together with the
to obtain navigation information based on the current users permissions.
For example, use CmsJspActionElement
and pass the
value of the current OpenCms user context uri obtained
from getNavigationForFolder(String)
as argument to obtain a list
of all items in the navigation of the current folder. Then use a simple scriptlet to
iterate over these items and create a HTML navigation.CmsRequestContext.getUri()
CmsJspNavElement
Constructor Summary | |
---|---|
CmsJspNavBuilder()
Empty constructor, so that this bean can be initialized from a JSP. |
|
CmsJspNavBuilder(CmsObject cms)
Default constructor. |
Method Summary | |
---|---|
static java.lang.String |
getDefaultFile(CmsObject cms,
java.lang.String folder)
Returns the full name (including vfs path) of the default file for this nav element or null if the nav element is not a folder. |
java.util.List |
getNavigationBreadCrumb()
Build a "bread crump" path navigation to the current folder. |
java.util.List |
getNavigationBreadCrumb(int startlevel,
boolean currentFolder)
Build a "bread crump" path navigation to the current folder. |
java.util.List |
getNavigationBreadCrumb(int startlevel,
int endlevel)
Build a "bread crump" path navigation to the current folder. |
java.util.List |
getNavigationBreadCrumb(java.lang.String folder,
int startlevel,
int endlevel,
boolean currentFolder)
Build a "bread crump" path navigation to the given folder. |
java.util.List |
getNavigationForFolder()
Collect all navigation elements from the files of the folder of the current request URI, navigation elements are of class CmsJspNavElement. |
static java.util.List |
getNavigationForFolder(CmsObject cms,
java.lang.String folder)
Collect all navigation elements from the files in the given folder, navigation elements are of class CmsJspNavElement. |
static java.util.List |
getNavigationForFolder(CmsObject cms,
java.lang.String folder,
int level)
Build a navigation for the folder that is either minus levels up from the given folder, or that is plus levels down from the root folder towards the given folder. |
java.util.List |
getNavigationForFolder(int level)
Build a navigation for the folder that is either minus levels up from of the folder of the current request URI, or that is plus levels down from the root folder towards the current request URI. |
java.util.List |
getNavigationForFolder(java.lang.String folder)
Collect all navigation elements from the files in the given folder, navigation elements are of class CmsJspNavElement. |
java.util.List |
getNavigationForFolder(java.lang.String folder,
int level)
Build a navigation for the folder that is either minus levels up from the given folder, or that is plus levels down from the root folder towards the given folder. |
CmsJspNavElement |
getNavigationForResource()
Returns a CmsJspNavElement for the resource of the current request URI. |
static CmsJspNavElement |
getNavigationForResource(CmsObject cms,
java.lang.String resource)
Returns a CmsJspNavElement for the named resource. |
CmsJspNavElement |
getNavigationForResource(java.lang.String resource)
Returns a CmsJspNavElement for the named resource. |
static java.util.List |
getNavigationTreeForFolder(CmsObject cms,
java.lang.String folder,
int startlevel,
int endlevel)
Builds a tree navigation for the folders between the provided start and end level. |
java.util.List |
getNavigationTreeForFolder(int startlevel,
int endlevel)
Builds a tree navigation for the folders between the provided start and end level. |
java.util.List |
getNavigationTreeForFolder(java.lang.String folder,
int startlevel,
int endlevel)
Builds a tree navigation for the folders between the provided start and end level. |
java.util.List |
getSiteNavigation()
This method builds a complete site navigation tree with entries of all branches. |
static java.util.List |
getSiteNavigation(CmsObject cms,
java.lang.String folder,
int endLevel)
This method builds a complete navigation tree with entries of all branches from the specified folder. |
java.util.List |
getSiteNavigation(java.lang.String folder,
int endLevel)
This method builds a complete navigation tree with entries of all branches from the specified folder. |
void |
init(CmsObject cms)
Initiliazes this bean. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public CmsJspNavBuilder()
Object.Object()
public CmsJspNavBuilder(CmsObject cms)
cms
- context provider for the current requestMethod Detail |
---|
public static java.lang.String getDefaultFile(CmsObject cms, java.lang.String folder)
null
if the nav element is not a folder.
The default file of a folder is determined by the value of the property
default-file
or the systemwide property setting.
cms
- the cms objectfolder
- full name of the folder
public static java.util.List getNavigationForFolder(CmsObject cms, java.lang.String folder)
cms
- context provider for the current requestfolder
- the selected folder
public static java.util.List getNavigationForFolder(CmsObject cms, java.lang.String folder, int level)
If level is set to zero the root folder is used by convention.
cms
- context provider for the current requestfolder
- the selected folderlevel
- if negative, walk this many levels up, if positive, walk this many
levels down from root folder
public static CmsJspNavElement getNavigationForResource(CmsObject cms, java.lang.String resource)
cms
- context provider for the current requestresource
- the resource name to get the nav information for,
must be a full path name, e.g. "/docs/index.html".
public static java.util.List getNavigationTreeForFolder(CmsObject cms, java.lang.String folder, int startlevel, int endlevel)
A tree navigation includes all nav elements that are required to display a tree structure.
However, the data structure is a simple list.
Each of the nav elements in the list has the CmsJspNavElement.getNavTreeLevel()
set
to the level it belongs to. Use this information to distinguish between the nav levels.
cms
- context provider for the current requestfolder
- the selected folderstartlevel
- the start levelendlevel
- the end level
public static java.util.List getSiteNavigation(CmsObject cms, java.lang.String folder, int endLevel)
For an unlimited depth of the navigation (i.e. no endLevel), set the endLevel to a value < 0.
cms
- the current CmsJspActionElement.folder
- the root folder of the navigation tree.endLevel
- the end level of the navigation.
public java.util.List getNavigationBreadCrumb()
getNavigationBreadCrumb(String, int, int, boolean)
public java.util.List getNavigationBreadCrumb(int startlevel, boolean currentFolder)
startlevel
- the start level, if negative, go down |n| steps from selected foldercurrentFolder
- include the selected folder in navigation or not
getNavigationBreadCrumb(String, int, int, boolean)
public java.util.List getNavigationBreadCrumb(int startlevel, int endlevel)
startlevel
- the start level, if negative, go down |n| steps from selected folderendlevel
- the end level, if -1, build navigation to selected folder
getNavigationBreadCrumb(String, int, int, boolean)
public java.util.List getNavigationBreadCrumb(java.lang.String folder, int startlevel, int endlevel, boolean currentFolder)
The startlevel marks the point where the navigation starts from, if negative, the count of steps to go down from the given folder. The endlevel is the maximum level of the navigation path, set it to -1 to build the complete navigation to the given folder. You can include the given folder in the navigation by setting currentFolder to true, otherwise false.
folder
- the selected folderstartlevel
- the start level, if negative, go down |n| steps from selected folderendlevel
- the end level, if -1, build navigation to selected foldercurrentFolder
- include the selected folder in navigation or not
public java.util.List getNavigationForFolder()
public java.util.List getNavigationForFolder(int level)
If level is set to zero the root folder is used by convention.
level
- if negative, walk this many levels up, if positive, walk this many
levels down from root folder
public java.util.List getNavigationForFolder(java.lang.String folder)
folder
- the selected folder
public java.util.List getNavigationForFolder(java.lang.String folder, int level)
If level is set to zero the root folder is used by convention.
folder
- the selected folderlevel
- if negative, walk this many levels up, if positive, walk this many
levels down from root folder
public CmsJspNavElement getNavigationForResource()
public CmsJspNavElement getNavigationForResource(java.lang.String resource)
resource
- the resource name to get the nav information for,
must be a full path name, e.g. "/docs/index.html".
public java.util.List getNavigationTreeForFolder(int startlevel, int endlevel)
startlevel
- the start levelendlevel
- the end level
getNavigationTreeForFolder(CmsObject, String, int, int)
public java.util.List getNavigationTreeForFolder(java.lang.String folder, int startlevel, int endlevel)
folder
- the selected folderstartlevel
- the start levelendlevel
- the end level
getNavigationTreeForFolder(CmsObject, String, int, int)
public java.util.List getSiteNavigation()
getSiteNavigation(CmsObject, String, int)
public java.util.List getSiteNavigation(java.lang.String folder, int endLevel)
folder
- folder the root folder of the navigation tree.endLevel
- the end level of the navigation.
getSiteNavigation(CmsObject, String, int)
public void init(CmsObject cms)
cms
- context provider for the current request
|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |