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 Details

  • Method Details

    • templateExists

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

      String findJSP​(javax.servlet.jsp.PageContext pageContext, 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

      String findJSP​(javax.servlet.jsp.PageContext pageContext, String template, 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

      String findResource​(Context ctx, String template, 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

      Set<String> listSkins​(javax.servlet.jsp.PageContext pageContext, 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 Map<String,​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

      Map<String,​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 Map<String,​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 String getMarker​(Context context, 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 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, String type, 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 String[] getResourceRequests​(Context ctx, 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 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