Interface TemplateManager

All Superinterfaces:
ModuleManager
All Known Implementing Classes:
DefaultTemplateManager

public interface TemplateManager
extends ModuleManager
This class takes care of managing JSPWiki templates. This class also provides the ResourceRequest mechanism.
Since:
2.1.62
  • Field Summary

    Fields
    Modifier and Type Field Description
    static java.lang.String DEFAULT_TEMPLATE
    The name of the default template.
    static java.lang.String DIRECTORY
    The default directory for the properties.
    static java.lang.String I18NDEFAULT_LOCALE
    I18N string to mark the default locale
    static java.lang.String I18NRESOURCE_EN
    The default (en) RESOURCE name and id.
    static java.lang.String I18NRESOURCE_EN_ID  
    static java.lang.String I18NRESOURCE_PREFIX
    Location of I18N Resource bundles, and path prefix and suffixes
    static java.lang.String I18NRESOURCE_SUFFIX  
    static java.lang.String I18NSERVER_TIMEZONE
    I18N string to mark the server timezone
    static java.lang.String PROPERTYFILE
    Name of the file that contains the properties.
    static java.lang.String RESOURCE_HTTPHEADER
    Requests a HTTP header.
    static java.lang.String RESOURCE_INCLUDES
    The name under which the resource includes map is stored in the WikiContext.
    static java.lang.String RESOURCE_INLINECSS
    Requests inlined CSS.
    static java.lang.String RESOURCE_JSFUNCTION
    Requests a JavaScript function to be called during window.onload.
    static java.lang.String RESOURCE_JSLOCALIZEDSTRINGS
    Requests a JavaScript associative array with all localized strings.
    static java.lang.String RESOURCE_SCRIPT
    Requests a script to be loaded.
    static java.lang.String RESOURCE_STYLESHEET
    Requests a stylesheet to be inserted.
    static java.lang.String SKIN_DIRECTORY  
    static java.lang.String TIMEFORMATPROPERTIES
    Prefix of the default timeformat properties.

    Fields inherited from interface org.apache.wiki.modules.ModuleManager

    PLUGIN_RESOURCE_LOCATION
  • Method Summary

    Modifier and Type Method Description
    static void addResourceRequest​(Context ctx, java.lang.String type, java.lang.String resource)
    Adds a resource request to the current request context.
    java.lang.String findJSP​(javax.servlet.jsp.PageContext pageContext, java.lang.String name)
    An utility method for finding a JSP page.
    java.lang.String findJSP​(javax.servlet.jsp.PageContext pageContext, java.lang.String template, java.lang.String name)
    Attempts to locate a resource under the given template.
    java.lang.String findResource​(Context ctx, java.lang.String template, java.lang.String name)
    Attempts to locate a resource under the given template.
    static java.lang.String getJSLocalizedStrings​(Context context)
    Extract all i18n strings in the javascript domain.
    static java.lang.String getMarker​(Context context, java.lang.String type)
    Returns the include resources marker for a given type.
    static java.lang.String[] getResourceRequests​(Context ctx, java.lang.String type)
    Returns resource requests for a particular type.
    static java.lang.String[] getResourceTypes​(Context ctx)
    Returns all those types that have been requested so far.
    default java.util.Map<java.lang.String,​java.lang.String> listLanguages​(javax.servlet.jsp.PageContext pageContext)
    List all installed i18n language properties by classpath searching for files like : templates/default_*.properties templates/default.properties
    java.util.Set<java.lang.String> listSkins​(javax.servlet.jsp.PageContext pageContext, java.lang.String template)
    Lists the skins available under this template.
    java.util.Map<java.lang.String,​java.lang.String> listTimeFormats​(javax.servlet.jsp.PageContext pageContext)
    List all available timeformats, read from the jspwiki.properties
    default java.util.Map<java.lang.String,​java.lang.String> listTimeZones​(javax.servlet.jsp.PageContext pageContext)
    List all timezones, with special marker for server timezone
    boolean templateExists​(java.lang.String templateName)
    Check the existence of a template.

    Methods inherited from interface org.apache.wiki.modules.ModuleManager

    checkCompatibility, getModuleInfo, modules
  • Field Details

  • Method Details

    • templateExists

      boolean templateExists​(java.lang.String templateName)
      Check the existence of a template.
    • findJSP

      java.lang.String findJSP​(javax.servlet.jsp.PageContext pageContext, java.lang.String name)
      An utility method for finding a JSP page. It searches only under either current context or by the absolute name.
      Parameters:
      pageContext - the JSP PageContext
      name - The name of the JSP page to look for (e.g "Wiki.jsp")
      Returns:
      The context path to the resource
    • findJSP

      java.lang.String findJSP​(javax.servlet.jsp.PageContext pageContext, java.lang.String template, java.lang.String name)
      Attempts to locate a resource under the given template. If that template does not exist, or the page does not exist under that template, will attempt to locate a similarly named file under the default template.

      Even though the name suggests only JSP files can be located, but in fact this method can find also other resources than JSP files.

      Parameters:
      pageContext - The JSP PageContext
      template - From which template we should seek initially?
      name - Which resource are we looking for (e.g. "ViewTemplate.jsp")
      Returns:
      path to the JSP page; null, if it was not found.
    • findResource

      java.lang.String findResource​(Context ctx, java.lang.String template, java.lang.String name)
      Attempts to locate a resource under the given template. This matches the functionality findJSP(), but uses the WikiContext as the argument. If there is no servlet context (i.e. this is embedded), will just simply return a best-guess.

      This method is typically used to locate any resource, including JSP pages, images, scripts, etc.

      Parameters:
      ctx - the wiki context
      template - the name of the template to use
      name - the name of the resource to fine
      Returns:
      the path to the resource
      Since:
      2.6
    • listSkins

      java.util.Set<java.lang.String> listSkins​(javax.servlet.jsp.PageContext pageContext, java.lang.String template)
      Lists the skins available under this template. Returns an empty Set, if there are no extra skins available. Note that this method does not check whether there is anything actually in the directories, it just lists them. This may change in the future.
      Parameters:
      pageContext - the JSP PageContext
      template - The template to search
      Returns:
      Set of Strings with the skin names.
      Since:
      2.3.26
    • listLanguages

      default java.util.Map<java.lang.String,​java.lang.String> listLanguages​(javax.servlet.jsp.PageContext pageContext)
      List all installed i18n language properties by classpath searching for files like : templates/default_*.properties templates/default.properties
      Parameters:
      pageContext - page context
      Returns:
      map of installed Languages
      Since:
      2.7.x
    • listTimeFormats

      java.util.Map<java.lang.String,​java.lang.String> listTimeFormats​(javax.servlet.jsp.PageContext pageContext)
      List all available timeformats, read from the jspwiki.properties
      Parameters:
      pageContext - page context
      Returns:
      map of TimeFormats
      Since:
      2.7.x
    • listTimeZones

      default java.util.Map<java.lang.String,​java.lang.String> listTimeZones​(javax.servlet.jsp.PageContext pageContext)
      List all timezones, with special marker for server timezone
      Parameters:
      pageContext - page context
      Returns:
      map of TimeZones
      Since:
      2.7.x
    • getMarker

      static java.lang.String getMarker​(Context context, java.lang.String type)
      Returns the include resources marker for a given type. This is in a HTML or Javascript comment format.
      Parameters:
      context - the wiki context
      type - the marker
      Returns:
      the generated marker comment
    • getJSLocalizedStrings

      static java.lang.String getJSLocalizedStrings​(Context context)
      Extract all i18n strings in the javascript domain. (javascript.*) Returns a javascript snippet which defines the LocalizedStings array.
      Parameters:
      context - the Context
      Returns:
      Javascript snippet which defines the LocalizedStrings array
      Since:
      2.5.108
    • addResourceRequest

      static void addResourceRequest​(Context ctx, java.lang.String type, java.lang.String resource)
      Adds a resource request to the current request context. The content will be added at the resource-type marker (see IncludeResourcesTag) in WikiJSPFilter.

      The resources can be of different types. For RESOURCE_SCRIPT and RESOURCE_STYLESHEET this is an URI path to the resource (a script file or an external stylesheet) that needs to be included. For RESOURCE_INLINECSS the resource should be something that can be added between <style></style> in the header file (commonheader.jsp). For RESOURCE_JSFUNCTION it is the name of the Javascript function that should be run at page load.

      The IncludeResourceTag inserts code in the template files, which is then filled by the WikiFilter after the request has been rendered but not yet sent to the recipient.

      Note that ALL resource requests get rendered, so this method does not check if the request already exists in the resources. Therefore, if you have a plugin which makes a new resource request every time, you'll end up with multiple resource requests rendered. It's thus a good idea to make this request only once during the page life cycle.

      Parameters:
      ctx - The current wiki context
      type - What kind of a request should be added?
      resource - The resource to add.
    • getResourceRequests

      static java.lang.String[] getResourceRequests​(Context ctx, java.lang.String type)
      Returns resource requests for a particular type. If there are no resources, returns an empty array.
      Parameters:
      ctx - WikiContext
      type - The resource request type
      Returns:
      a String array for the resource requests
    • getResourceTypes

      static java.lang.String[] getResourceTypes​(Context ctx)
      Returns all those types that have been requested so far.
      Parameters:
      ctx - the wiki context
      Returns:
      the array of types requested