|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface RenderingContext
Represents a rendering context.
A rendering context contains all the information required to render a renderable object. This includes information such as the path to the object to be rendered and any request parameters.
Here is an example of how to create a RenderingContext
,
adding to the context, and then using the context to render a piece
of content:
// Get the workspace Workspace workspace = Repository.getWorkspace("myUser", "myPassword"); // Create the rendering context RenderingContext context = workspace.createRenderingContext(servletRequestObj, servletResponseObj, new HashMap(), "http://[HOSTNAME]:[PORT]/[CONTEXT]", "connect"); // Set the path to the content to be rendered context.setRenderedContent("/Library1/SiteA/SiteArea1/SiteArea1-1/myContent"); // Get the rendered string String renderedContent = workspace.render(context);
Method Summary | |
---|---|
RenderingContext |
clone()
Cloning a RenderingContext will copy all member variables on the current instance, this includes request, response, web app URL, servlet path, prefix, presentation template override, request parameters, and rendered item. |
SiteArea[] |
getAllSiteAreas()
Returns an ordered array of SiteArea objects
that are in the path to be rendered by this RenderingContext . |
Content |
getContent()
Returns the Content object that will be rendered by this
RenderingContext . |
ContentLink |
getContentLink()
Returns the ContentLink object that will be rendered by this
RenderingContext . |
DocumentId |
getCurrentResultId()
Returns the current result DocumentId value. |
int |
getCurrentResultIndex()
Returns the current result index. |
DocumentLibrary |
getLibrary()
Returns the DocumentLibrary of the object being rendered. |
java.lang.String |
getLibraryRelativePath()
Returns the path relative to the library of the object being rendered. |
java.util.Locale |
getLocale()
Retrieve the Locale being used to render the current page. |
java.lang.String |
getPath()
Returns the path to the object being rendered. |
java.lang.String |
getPath(boolean includeLib)
Returns the path to the object being rendered. |
java.lang.String |
getPathInfo()
Retrieve the path of the current rendering context |
java.lang.String |
getPrefix()
Returns the prefix for all document URLs generated on rendering. |
java.lang.String |
getPresTemplateOverride()
Returns the name path of the PresentationTemplate to be used
when rendering. |
DocumentId<Project> |
getProjectId()
Returns the DocumentId of the Project associated with this RenderingContext |
TemplatedDocument |
getRenderedItem()
Returns the TemplatedDocument object that will be rendered by this
RenderingContext . |
java.util.List<java.lang.String> |
getRenderModes()
Get the names of the render modes to be used when rendering, or an empty list if there are no render modes. |
java.util.Map |
getRequestParameters()
Returns the current request parameters used by this RenderingContext . |
Site |
getSite()
Deprecated. No replacement. Site is not required in Web sites created
using the current version of IBM Web Content Manager. The method is retained for
compatibility with Web sites migrated from pre 7.0 versions of IBM Web Content Manager.
Use getAllSiteAreas() to get all level site areas. |
SiteArea[] |
getSiteAreas()
Deprecated. No replacement. The method is retained for compatibility with Web sites migrated from pre 7.0 versions of IBM Web Content Manager. Use getAllSiteAreas()
to get all level site areas. |
java.lang.String |
getURL()
Returns the URL to WCM and any request parameters. |
java.lang.String |
getWcmServletPath()
Returns the servlet path to be used - either the servlet path that has been set, or the servlet path from the request. |
java.lang.String |
getWcmWebAppPath()
Returns the web app path to be used - either the WCM web app path that has been set using setWcmWebAppPath(String) , or the path from
the request. |
boolean |
hasProject()
Indicates if this RenderingContext has a Project registered |
boolean |
isGenerateContextualLinks()
Returns whether to generate contextual (a.k.a. |
boolean |
isInEditMode()
Indicates if the portal page is rendering in View Mode or Edit Mode |
boolean |
isPresentationOverride()
Returns true if a presentation template override has been specified; false otherwise. |
void |
removeProject()
remove any Project from this RenderingContext . |
void |
setGenerateContextualLinks(boolean contextualLinks)
Sets whether to generate contextual (a.k.a. |
void |
setPrefix(java.lang.String prefix)
Sets the prefix for all document URLs generated on rendering. |
void |
setPresentationTemplateOverride(java.lang.String presTemplateName)
Sets the name path of the presentation template to the string argument specified. |
void |
setProject(Project project)
Set a Project within this RenderingContext . |
void |
setProject(java.lang.String projectName)
Set a Project by name in this RenderingContext . |
void |
setRenderedContent(ContentLink contentLink,
SiteArea siteArea)
Sets the ContentLink object to be rendered. |
void |
setRenderedContent(Content content,
SiteArea siteArea)
Sets the Content object to be rendered. |
void |
setRenderedContent(Site site)
Deprecated. Use setRenderedContent(SiteArea) |
void |
setRenderedContent(SiteArea siteArea)
Sets the SiteArea to be rendered. |
void |
setRenderedContent(java.lang.String path)
Sets the full path of the Content to render. |
void |
setRenderMode(java.lang.String p_renderModeName)
Set the name of the render mode to use when rendering. |
void |
setRenderModes(java.util.List<java.lang.String> p_renderModeNames)
Set the names of the render modes to be used when rendering, or set null if no render modes should be used. |
void |
setRequestParameters(java.util.Map requestParameters)
Sets the request parameters to be used by this RenderingContext while rendering as a map of name=single-value parameters. |
void |
setWcmServletPath(java.lang.String wcmServletPath)
Sets the servlet path of the WCM servlet. |
void |
setWcmWebAppPath(java.lang.String wcmWebAppPath)
Sets the path (including host) to the WCM web application. |
Method Detail |
---|
java.lang.String getURL()
getWcmWebAppPath() + getWcmServletPath() + getPath() + [?requestParamName1=requestParamValue1&...] == getURL()
java.lang.String getPath()
Returns null
if the path could not be retrieved.
java.lang.String getPath(boolean includeLib)
Returns null
if the path could not be retrieved.
includeLib
- boolean
if true the path will include the library if false it will not.
boolean isPresentationOverride()
For this method to return true
setPresentationTemplateOverride()
must have been called.
void setPresentationTemplateOverride(java.lang.String presTemplateName)
The argument to this method must be the name of the presentation
template to use when rendering. The argument to this method will
override any presentation template specified in the presentation-authoring
template mapping of the Site
or SiteArea
.
Passing a null argument to this method will result in no presentation template override occurring. I.e. Rendering will behave as if this method had not been called.
Note: This method does not check whether the string argument is a
valid PresentationTemplate
in the repository.
presTemplateName
- the presentation template name pathjava.lang.String getPresTemplateOverride()
PresentationTemplate
to be used
when rendering. The name path format is libraryName/presentationTemplateName.
This method will return null if no presentation template
override has been specified. This method will return null or
an empty String
if that is what was passed in to
setPresentationTemplateOverride(String)
.
Use isPresentationOverride()
before calling this method to ensure a presentation template has been
specified.
PresentationTemplate
to use when
renderingjava.util.List<java.lang.String> getRenderModes()
AbstractTemplateItemProperties.DEFAULT_PRESENTATION_IDENTIFIER
.
The render mode name "summary" indicates the "Summary Presentation".
See AbstractTemplateItemProperties.SUMMARY_PRESENTATION_IDENTIFIER
.
void setRenderMode(java.lang.String p_renderModeName)
setRenderModes(List)
with a single render mode name in the list.
Set null to render with no render mode.
The String "default" can be used as the render mode name in order to indicate that the
default presentation template should be used. See AbstractTemplateItemProperties.DEFAULT_PRESENTATION_IDENTIFIER
.
The render mode name "summary" indicates the "Summary Presentation".
See AbstractTemplateItemProperties.SUMMARY_PRESENTATION_IDENTIFIER
.
p_renderModeName
- the render mode name to setvoid setRenderModes(java.util.List<java.lang.String> p_renderModeNames)
AbstractTemplateItemProperties.DEFAULT_PRESENTATION_IDENTIFIER
.
The render mode name "summary" indicates the "Summary Presentation".
See AbstractTemplateItemProperties.SUMMARY_PRESENTATION_IDENTIFIER
.
p_renderModeNames
- The render modes names to setvoid setPrefix(java.lang.String prefix)
A null argument to this method will be converted to an
empty String
and will have no effect on the document URLs
generated on rendering.
prefix
- the String
to prepend to all document
URLs generated on rendering.java.lang.String getPrefix()
Note: This method may return an empty String
, but never
null.
TemplatedDocument getRenderedItem()
TemplatedDocument
object that will be rendered by this
RenderingContext
.
If a Site
or SiteArea
was specified
as the argument to setRenderedContent()
, this method will
return the default Content
of the relevant Site
or SiteArea
, unless the SiteFrameworkContainer.RenderingBehaviour
is RENDER_DIRECTLY
. In the case that SiteFrameworkContainer.RenderingBehaviour
is RENDER_DIRECTLY
, the TemplatedDocument
object that will be returned is the
Site
or SiteArea
itself.
Note: This method will return null if the TemplatedDocument
object could not be retrieved.
TemplatedDocument
object to renderSiteFrameworkContainer.RenderingBehaviour
is new in 8.0)Content getContent()
Content
object that will be rendered by this
RenderingContext
.
If a Site
or SiteArea
was specified
as the argument to setRenderedContent()
, this method will
return the default Content
of the relevant Site
or SiteArea
.
Note: This method will return null if the Content
object could not be retrieved.
Since 8.0, this will return null if the rendered item has SiteFrameworkContainer.RenderingBehaviour
set as RENDER_DIRECTLY
. For this reason, from 8.0 onwards it is recommended to use getRenderedItem()
rather than this method.
Content
object to renderContentLink getContentLink()
ContentLink
object that will be rendered by this
RenderingContext
.
Note: Returns null if no ContentLink
has been set or if
the ContentLink
object could not be retrieved.
ContentLink
object to render@Deprecated Site getSite()
Site
is not required in Web sites created
using the current version of IBM Web Content Manager. The method is retained for
compatibility with Web sites migrated from pre 7.0 versions of IBM Web Content Manager.
Use getAllSiteAreas()
to get all level site areas.
Site
object that is in this RenderingContext
.
This method may still be called even if setRenderedContent(Site)
was not the method used to set the object to be rendered. I.e. A Site
object will still be returned even if this RenderingContext
will
not be rendering a Site
.
Note: Returns null if no Site
has been set or if
the Site
object could not be retrieved.
Site
object@Deprecated SiteArea[] getSiteAreas()
getAllSiteAreas()
to get all level site areas.
SiteArea
objects
that are in the path to be rendered by this RenderingContext
. The
Site
will not be included.
The order of the SiteArea
objects in this array matches
the order of the SiteArea
objects in the Site Area hierarchy.
SiteArea
objectsSiteArea[] getAllSiteAreas()
SiteArea
objects
that are in the path to be rendered by this RenderingContext
.
The order of the SiteArea
objects in this array matches
the order of the SiteArea
objects in the Site Area hierarchy.
SiteArea
objectsvoid setRenderedContent(java.lang.String path)
Content
to render. This is of the form
/Library/Site/SiteArea/SiteArea/Content
Note: This path must include the Content
, unless the
SiteArea
's SiteFrameworkContainer.RenderingBehaviour
is RENDER_DIRECTLY
.
path
- the full path of the Content
or SiteArea
to render@Deprecated void setRenderedContent(Site site)
Site
to be rendered.
If this method is used to specify what shall be rendered, then the
default content of the Site
argument will be rendered,
if it has been set.
site
- the Site
to be renderedvoid setRenderedContent(SiteArea siteArea)
SiteArea
to be rendered.
If this method is used to specify what shall be rendered, then the
SiteArea
will be rendered, in the manner according to its
SiteFrameworkContainer.RenderingBehaviour
siteArea
- the SiteArea
to be renderedvoid setRenderedContent(Content content, SiteArea siteArea)
Content
object to be rendered.
Note: The Content
specified must exist under
the given SiteArea
.
content
- the Content
to rendersiteArea
- the SiteArea
that the Content
belongs tovoid setRenderedContent(ContentLink contentLink, SiteArea siteArea)
ContentLink
object to be rendered.
Note: The ContentLink
specified must exist under
the given SiteArea
.
contentLink
- the ContentLink
to rendersiteArea
- the SiteArea
that the ContentLink
belongs tovoid setWcmWebAppPath(java.lang.String wcmWebAppPath)
http://host:[port]/context_path
wcmWebAppPath
- the path to the WCM web applicationvoid setWcmServletPath(java.lang.String wcmServletPath)
wcmServletPath
- the servlet path of the WCM servletjava.lang.String getWcmWebAppPath()
setWcmWebAppPath(String)
, or the path from
the request. This includes from the protocol up to and including the
context path.
java.lang.String getWcmServletPath()
void setRequestParameters(java.util.Map requestParameters)
RenderingContext
while rendering as a map of name=single-value parameters.
The keys must be Strings, the values can be any object, but will typically be Strings too.
The parameters of this Map will replace the existing parameters of the request. This Map can contain parameters that
are acted upon by Web Content Manager as well as additional custom parameters that are acted upon by the rendered content.
The following request parameters are used by Web Content Manager to generate the rendering context, and so are reserved:
requestParameters
- the request parametersjava.util.Map getRequestParameters()
RenderingContext
. This will be a copy of the
actual map. Changes made to the returned map will
not change the parameters being used in this
RenderingContext
.
DocumentId getCurrentResultId()
DocumentId
value. This method will
only return a value when invoked within a Menu, Navigator, Search,
Personalization or Taxonomy component. Otherwise, null
will be returned.
If the current result is not a Document
, this will return null
. For example,
this will occur if the results come from the Digital Data Connector (DD(c).
DocumentId
or null
if no result
value currently exists.int getCurrentResultIndex()
-1
will be returned.
boolean isGenerateContextualLinks()
void setGenerateContextualLinks(boolean contextualLinks)
contextualLinks
- true to create contextual linksjava.lang.String getLibraryRelativePath()
Returns null
if the path could not be retrieved.
DocumentLibrary getLibrary()
DocumentLibrary
of the object being rendered.
Returns null
if the DocumentLibrary
could not be retrieved.
DocumentLibrary
of the object being rendered.java.lang.String getPathInfo()
java.util.Locale getLocale()
Locale
being used to render the current page.
Locale
being used to render the current page.void setProject(java.lang.String projectName) throws com.ibm.workplace.wcm.api.exceptions.DocumentNotFoundException
Project
by name in this RenderingContext
.
If the projectName parameter is null, or a corresponding project for the name cannot be found, a DocumentNotFoundException will be thrown.
projectName
- the name of the project to set
com.ibm.workplace.wcm.api.exceptions.DocumentNotFoundException
- if the projectName parameter is null, or a corresponding project for the name cannot be found.void setProject(Project project) throws com.ibm.workplace.wcm.api.exceptions.DocumentNotFoundException
Project
within this RenderingContext
.
If the project parameter is null, a DocumentNotFoundException is thrown.
project
- the project to set in this RenderingContext
.
com.ibm.workplace.wcm.api.exceptions.DocumentNotFoundException
- if the project parameter is nullvoid removeProject()
RenderingContext
.
boolean isInEditMode()
boolean hasProject()
Project
registered
Project
is registered, false otherwiseDocumentId<Project> getProjectId()
DocumentId
of the Project
associated with this RenderingContext
DocumentId
of the Project
associated with this RenderingContext
RenderingContext clone()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |