+

Search Tips   |   Advanced Search


com.ibm.workplace.wcm.api
Interface RenderingContext


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
 Content getContent()
          Returns the Content object that will be rendered by this RenderingContext.
 DocumentId getCurrentResultId()
          Returns the current result DocumentId value.
 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.lang.String getPath()
          Returns the path to the object being rendered.
 java.lang.String getPrefix()
          Returns the prefix for all document URLs generated on rendering.
 java.lang.String getPresTemplateOverride()
          Returns the name of the PresentationTemplate to be used when rendering.
 java.util.Map getRequestParameters()
          Returns the current request parameters used by this RenderingContext.
 Site getSite()
          Returns the Site object that is in this RenderingContext.
 SiteArea[] getSiteAreas()
          Returns an ordered array of SiteArea objects that are in the path to be rendered by this RenderingContext.
 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 isGenerateContextualLinks()
          Returns whether to generate contextual links if possible.
 boolean isPresentationOverride()
          Returns true if a presentation template override has been specified; false otherwise.
 void setGenerateContextualLinks(boolean contextualLinks)
          Sets whether to generate contextual links if possible.
 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 of the presentation template to the string argument specified.
 void setRenderedContent(Content content, SiteArea siteArea)
          Sets the Content object to be rendered.
 void setRenderedContent(Site site)
          Sets the Site to be rendered.
 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 setRequestParameters(java.util.Map requestParameters)
          Sets the request parameters to be used by this RenderingContext while rendering.
 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

getURL

 java.lang.String getURL()
Returns the URL to WCM and any request parameters. That is:
getWcmWebAppPath() + getWcmServletPath() + getPath() +
 [?requestParamName1=requestParamValue1&...] == getURL()

Returns:
the URL (including request parameters)

getPath

 java.lang.String getPath()
Returns the path to the object being rendered. This is everything after the servlet path, excluding any request parameters.

Returns null if the path could not be retrieved.

Returns:
the path to the renderable object

isPresentationOverride

 boolean isPresentationOverride()
Returns true if a presentation template override has been specified; false otherwise.

For this method to return true setPresentationTemplateOverride() must have been called.

Returns:
true if the presentation template is being overridden; false otherwise

setPresentationTemplateOverride

 void setPresentationTemplateOverride(java.lang.String presTemplateName)
Sets the name of the presentation template to the string argument specified.

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.

Parameters:
presTemplateName - the presentation template name

getPresTemplateOverride

 java.lang.String getPresTemplateOverride()
Returns the name of the PresentationTemplate to be used when rendering.

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.

Returns:
the name of the PresentationTemplate to use when rendering

setPrefix

 void setPrefix(java.lang.String prefix)
Sets the prefix for all document URLs generated on rendering.

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.

Parameters:
prefix - the String to prepend to all document URLs generated on rendering.

getPrefix

 java.lang.String getPrefix()
Returns the prefix for all document URLs generated on rendering.

Note: This method may return an empty String, but never null.

Returns:
the prefix

getContent

Content getContent()
Returns the 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.

Returns:
the Content object to render

getSite

Site getSite()
Returns the 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.

Returns:
the Site object

getSiteAreas

SiteArea[] getSiteAreas()
Returns an ordered array of 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.

Returns:
an ordered array of SiteArea objects

setRenderedContent

 void setRenderedContent(java.lang.String path)
Sets the full path of the Content to render. This is of the form
/Library/Site/SiteArea/SiteArea/Content

Note: This path must include the Content.

Parameters:
path - the full path of the Content to render

setRenderedContent

 void setRenderedContent(Site site)
Sets the 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.

Parameters:
site - the Site to be rendered

setRenderedContent

 void setRenderedContent(SiteArea siteArea)
Sets the SiteArea to be rendered.

If this method is used to specify what shall be rendered, then the default content of the SiteArea argument will be rendered, if it has been set.

Parameters:
siteArea - the SiteArea to be rendered

setRenderedContent

 void setRenderedContent(Content content,
                        SiteArea siteArea)
Sets the Content object to be rendered.

Note: The Content specified must exist under the given SiteArea.

Parameters:
content - the Content to render
siteArea - the SiteArea that the Content belongs to

setWcmWebAppPath

 void setWcmWebAppPath(java.lang.String wcmWebAppPath)
Sets the path (including host) to the WCM web application. This is of the form:

http://host:[port]/context_path

Parameters:
wcmWebAppPath - the path to the WCM web application

setWcmServletPath

 void setWcmServletPath(java.lang.String wcmServletPath)
Sets the servlet path of the WCM servlet.

Parameters:
wcmServletPath - the servlet path of the WCM servlet

getWcmWebAppPath

 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. This includes from the protocol up to and including the context path.

Returns:
the web app path that will be used when rendering

getWcmServletPath

 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.

Returns:
the servlet path that will be used when rendering

setRequestParameters

 void setRequestParameters(java.util.Map requestParameters)
Sets the request parameters to be used by this RenderingContext while rendering. The parameters of this Map will override the existing parameters of the request.

Parameters:
requestParameters - the request parameters for the request as a map of name=single-value parameters.

getRequestParameters

 java.util.Map getRequestParameters()
Returns the current request parameters used by this 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.

Returns:
the request parameters map of name=single-value parameters

getCurrentResultId

DocumentId getCurrentResultId()
Returns the current result DocumentId value. This method will only return a value when a JSP Component is invoked within a Menu, Navigator, Search, Content Spot or Taxonomy component and then when the initworkspace tag is used on the page. At all other times null will be returned.

Returns:
the current result DocumentId or null if no result value currently exists.

isGenerateContextualLinks

 boolean isGenerateContextualLinks()
Returns whether to generate contextual links if possible. This will only work for content within a teamspace.


setGenerateContextualLinks

 void setGenerateContextualLinks(boolean contextualLinks)
Sets whether to generate contextual links if possible. This will only work for content within a teamspace. A contextual link will lead to the portlet associated with the linked content.

Parameters:
contextualLinks - true to create contextual links

getLibraryRelativePath

 java.lang.String getLibraryRelativePath()
Returns the path relative to the library of the object being rendered. That is, the path starting at the Site name.

Returns null if the path could not be retrieved.

Returns:
the path relative to the library of the object being rendered.

getLibrary

DocumentLibrary getLibrary()
Returns the DocumentLibrary of the object being rendered.

Returns null if the DocumentLibrary could not be retrieved.

Returns:
the DocumentLibrary of the object being rendered.