|
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||
java.lang.Objectorg.opencms.jsp.util.CmsJspContentAccessBean
public class CmsJspContentAccessBean
Allows access to the individual elements of an XML content, usually used inside a loop of a
<cms:contentload> tag.
The implementation is optimized for performance and uses lazy initializing of the requested values as much as possible.
CmsJspTagContentAccess| Nested Class Summary | |
|---|---|
class |
CmsJspContentAccessBean.CmsHasLocaleTransformer
Provides Booleans that indicate if a specified locale is available in the XML content, the input is assumed to be a String that represents a Locale. |
class |
CmsJspContentAccessBean.CmsHasLocaleValueTransformer
Provides Booleans that indicate if a specified path exists in the XML content, the input is assumed to be a String that represents an xpath in the XML content. |
class |
CmsJspContentAccessBean.CmsHasValueTransformer
Provides a Map with Booleans that indicate if a specified path exists in the XML content in the selected Locale, the input is assumed to be a String that represents an xpath in the XML content. |
class |
CmsJspContentAccessBean.CmsLocaleNamesTransformer
Provides a Map which lets the user access the list of element names from the selected locale in an XML content, the input is assumed to be a String that represents a Locale. |
class |
CmsJspContentAccessBean.CmsLocaleValueListTransformer
Provides a Map which lets the user access value Lists from the selected locale in an XML content, the input is assumed to be a String that represents a Locale. |
class |
CmsJspContentAccessBean.CmsLocaleValueTransformer
Provides a Map which lets the user access a value from the selected locale in an XML content, the input is assumed to be a String that represents a Locale. |
class |
CmsJspContentAccessBean.CmsValueListTransformer
Provides a Map which lets the user access value Lists in an XML content, the input is assumed to be a String that represents an xpath in the XML content. |
class |
CmsJspContentAccessBean.CmsValueTransformer
Provides a Map which lets the user access a value in an XML content, the input is assumed to be a String that represents an xpath in the XML content. |
| Field Summary | |
|---|---|
protected static java.util.Map |
CONSTANT_NULL_VALUE_WRAPPER_MAP
Constant Map that always returns the CmsJspContentAccessValueWrapper.NULL_VALUE_WRAPPER. |
| Constructor Summary | |
|---|---|
CmsJspContentAccessBean()
No argument constructor, required for a JavaBean. |
|
CmsJspContentAccessBean(CmsObject cms,
CmsResource resource)
Creates a content access bean based on a Resource, using the current request context locale. |
|
CmsJspContentAccessBean(CmsObject cms,
java.util.Locale locale,
CmsResource resource)
Creates a content access bean based on a Resource. |
|
CmsJspContentAccessBean(CmsObject cms,
java.util.Locale locale,
I_CmsXmlDocument content)
Creates a content access bean based on an XML content object. |
|
| Method Summary | |
|---|---|
CmsObject |
getCmsObject()
Returns the OpenCms user context this bean was initialized with. |
CmsFile |
getFile()
Returns the raw VFS file object the content accessed by this bean was created from. |
java.lang.String |
getFilename()
Returns the site path of the current resource, that is the result of CmsObject.getSitePath(CmsResource) with the resource
obtained by getFile(). |
java.util.Map |
getHasLocale()
Returns a lazy initialized Map that provides Booleans that indicate if a specified Locale is available in the XML content. |
java.util.Map |
getHasLocaleValue()
Returns a lazy initialized Map that provides a Map that provides Booleans that indicate if a value (xpath) is available in the XML content in the selected locale. |
java.util.Map |
getHasValue()
Returns a lazy initialized Map that provides Booleans that indicate if a value (xpath) is available in the XML content in the current locale. |
java.util.Locale |
getLocale()
Returns the Locale this bean was initialized with. |
java.util.Map |
getLocaleNames()
Returns a lazy initialized Map that provides a List with all available elements paths (Strings) used in this document in the selected locale. |
java.util.Map |
getLocaleValue()
Returns a lazy initialized Map that provides a Map that provides values from the XML content in the selected locale. |
java.util.Map |
getLocaleValueList()
Returns a lazy initialized Map that provides a Map that provides Lists of values from the XML content in the selected locale. |
java.util.List |
getNames()
Returns a list with all available elements paths (Strings) used in this document in the current locale. |
I_CmsXmlDocument |
getRawContent()
Returns the raw XML content object that is accessed by this bean. |
java.util.Map |
getValue()
Returns a lazy initialized Map that provides values from the XML content in the current locale. |
java.util.Map |
getValueList()
Returns a lazy initialized Map that provides Lists of values from the XML content in the current locale. |
CmsJspVfsAccessBean |
getVfs()
Returns an instance of a VFS access bean, initialized with the OpenCms user context this bean was created with. |
void |
init(CmsObject cms,
java.util.Locale locale,
I_CmsXmlDocument content,
CmsResource resource)
Initialize this instance. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final java.util.Map CONSTANT_NULL_VALUE_WRAPPER_MAP
CmsJspContentAccessValueWrapper.NULL_VALUE_WRAPPER.
| Constructor Detail |
|---|
public CmsJspContentAccessBean()
You must call init(CmsObject, Locale, I_CmsXmlDocument, CmsResource) and provide the
required values when you use this constructor.
init(CmsObject, Locale, I_CmsXmlDocument, CmsResource)
public CmsJspContentAccessBean(CmsObject cms,
CmsResource resource)
cms - the OpenCms context of the current userresource - the resource to create the content from
public CmsJspContentAccessBean(CmsObject cms,
java.util.Locale locale,
CmsResource resource)
cms - the OpenCms context of the current userlocale - the Locale to use when accessing the contentresource - the resource to create the content from
public CmsJspContentAccessBean(CmsObject cms,
java.util.Locale locale,
I_CmsXmlDocument content)
cms - the OpenCms context of the current userlocale - the Locale to use when accessing the contentcontent - the content to access| Method Detail |
|---|
public CmsObject getCmsObject()
public CmsFile getFile()
This can be used to access information from the raw file on a JSP.
Usage example on a JSP with the JSTL:
<cms:contentload ... >
<cms:contentaccess var="content" />
Root path of the resource: ${content.file.rootPath}
</cms:contentload>
public java.lang.String getFilename()
CmsObject.getSitePath(CmsResource) with the resource
obtained by getFile().Usage example on a JSP with the JSTL:
<cms:contentload ... >
<cms:contentaccess var="content" />
Site path of the resource: "${content.filename}";
</cms:contentload>
CmsObject.getSitePath(CmsResource)public java.util.Map getHasLocale()
The provided Map key is assumed to be a String that represents a Locale.
Usage example on a JSP with the JSTL:
<cms:contentload ... >
<cms:contentaccess var="content" />
<c:if test="${content.hasLocale['de']}" >
The content has a "de" Locale!
</c:if>
</cms:contentload>
public java.util.Map getHasLocaleValue()
The first provided Map key is assumed to be a String that represents the Locale, the second provided Map key is assumed to be a String that represents the xpath to the value.
Usage example on a JSP with the JSTL:
<cms:contentload ... >
<cms:contentaccess var="content" />
<c:if test="${content.hasLocaleValue['de']['Title']}" >
The content has a "Title" value in the "de" Locale!
</c:if>
</cms:contentload>
Please note that you can also test if a locale value exists like this:
<c:if test="${content.value['de']['Title'].exists}" > ... </c:if>
getHasValue()public java.util.Map getHasValue()
The provided Map key is assumed to be a String that represents the xpath to the value.
Usage example on a JSP with the JSTL:
<cms:contentload ... >
<cms:contentaccess var="content" />
<c:if test="${content.hasValue['Title']}" >
The content has a "Title" value in the current locale!
</c:if>
</cms:contentload>
Please note that you can also test if a value exists like this:
<c:if test="${content.value['Title'].exists}" > ... </c:if>
getHasLocaleValue()public java.util.Locale getLocale()
public java.util.Map getLocaleNames()
The provided Map key is assumed to be a String that represents the Locale.
Usage example on a JSP with the JSTL:
<cms:contentload ... >
<cms:contentaccess var="content" />
<c:forEach items="${content.localeNames['de']}" var="elem">
<c:out value="${elem}" />
</c:forEach>
</cms:contentload>
getNames()public java.util.Map getLocaleValue()
The first provided Map key is assumed to be a String that represents the Locale, the second provided Map key is assumed to be a String that represents the xpath to the value.
Usage example on a JSP with the JSTL:
<cms:contentload ... >
<cms:contentaccess var="content" />
The Title in Locale "de": ${content.localeValue['de']['Title']}
</cms:contentload>
getValue()public java.util.Map getLocaleValueList()
The first provided Map key is assumed to be a String that represents the Locale, the second provided Map key is assumed to be a String that represents the xpath to the value.
Usage example on a JSP with the JSTL:
<cms:contentload ... >
<cms:contentaccess var="content" />
<c:forEach var="teaser" items="${content.localeValueList['de']['Teaser']}">
${teaser}
</c:forEach>
</cms:contentload>
getLocaleValue()public java.util.List getNames()
Usage example on a JSP with the JSTL:
<cms:contentload ... >
<cms:contentaccess var="content" />
<c:forEach items="${content.names}" var="elem">
<c:out value="${elem}" />
</c:forEach>
</cms:contentload>
getLocaleNames()public I_CmsXmlDocument getRawContent()
public java.util.Map getValue()
The provided Map key is assumed to be a String that represents the xpath to the value.
Usage example on a JSP with the JSTL:
<cms:contentload ... >
<cms:contentaccess var="content" />
The Title: ${content.value['Title']}
</cms:contentload>
getLocaleValue()public java.util.Map getValueList()
The provided Map key is assumed to be a String that represents the xpath to the value. Use this method in case you want to iterate over a List of values form the XML content.
Usage example on a JSP with the JSTL:
<cms:contentload ... >
<cms:contentaccess var="content" />
<c:forEach var="teaser" items="${content.valueList['Teaser']}">
${teaser}
</c:forEach>
</cms:contentload>
getLocaleValueList()public CmsJspVfsAccessBean getVfs()
public void init(CmsObject cms,
java.util.Locale locale,
I_CmsXmlDocument content,
CmsResource resource)
cms - the OpenCms context of the current userlocale - the Locale to use when accessing the contentcontent - the XML content to accessresource - the resource to create the content from
|
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||