Interface Engine

All Known Implementing Classes:
WikiEngine

public interface Engine
Provides Wiki services to the JSP page.

This is the main interface through which everything should go.

There's basically only a single Engine for each web application, and you should always get it using either the Context#getEngine() method or through Wiki.engine().find(..) DSL methods.

  • Field Details

  • Method Details

    • adapt

      default <E extends Engine> E adapt​(Class<E> cls)
      Adapt Engine to a concrete type.
      Type Parameters:
      E - type to adapt to.
      Parameters:
      cls - class denoting the type to adapt to.
      Returns:
      engine instance adapted to the requested type. Might throw an unchecked exception if the instance cannot be adapted to requested type!
    • getManager

      <T> T getManager​(Class<T> manager)
      Retrieves the object instantiated by the Engine matching the requested type.
      Type Parameters:
      T - type of the requested object.
      Parameters:
      manager - requested object instantiated by the Engine.
      Returns:
      requested object instantiated by the Engine, null if not available.
    • getManagers

      <T> List<T> getManagers​(Class<T> manager)
      Retrieves the objects instantiated by the Engine that can be assigned to the requested type.
      Type Parameters:
      T - type of the requested object.
      Parameters:
      manager - requested objectx instantiated by the Engine.
      Returns:
      collection of requested objects instantiated by the Engine, empty list if none available.
    • isConfigured

      boolean isConfigured()
      check if the Engine has been configured.
      Returns:
      true if it has, false otherwise.
    • getWikiProperties

      Returns the set of properties that the Engine was initialized with. Note that this method returns a direct reference, so it's possible to manipulate the properties. However, this is not advised unless you really know what you're doing.
      Returns:
      The wiki properties
    • getWorkDir

      Returns the JSPWiki working directory set with "jspwiki.workDir".
      Returns:
      The working directory.
      Since:
      2.1.100
    • getTemplateDir

      Returns the current template directory.
      Returns:
      The template directory as initialized by the engine.
      Since:
      1.9.20
    • getPluginSearchPath

      Returns plugins' search path.
      Returns:
      plugins' search path.
    • getStartTime

      Returns the moment when this engine was started.
      Returns:
      The start time of this wiki.
      Since:
      2.0.15.
    • getBaseURL

      Returns the base URL, telling where this Wiki actually lives.
      Returns:
      The Base URL.
      Since:
      1.6.1
    • getGlobalRSSURL

      Returns the URL of the global RSS file. May be null, if the RSS file generation is not operational.
      Returns:
      The global RSS url
      Since:
      1.7.10
    • getInterWikiURL

      Returns an URL to some other Wiki that we know.
      Parameters:
      wikiName - The name of the other wiki.
      Returns:
      null, if no such reference was found.
    • getURL

      String getURL​(String context, String pageName, String params)
      Returns an URL if a WikiContext is not available.
      Parameters:
      context - The WikiContext (VIEW, EDIT, etc...)
      pageName - Name of the page, as usual
      params - List of parameters. May be null, if no parameters.
      Returns:
      An URL (absolute or relative).
    • getFrontPage

      Returns the default front page, if no page is used.
      Returns:
      The front page name.
    • getServletContext

      javax.servlet.ServletContext getServletContext()
      Returns the ServletContext that this particular Engine was initialized with. It may return null, if the Engine is not running inside a servlet container!
      Returns:
      ServletContext of the Engine, or null.
      Since:
      1.7.10
    • findConfigFile

      default URL findConfigFile​(String name)
      Looks up and obtains a configuration file inside the WEB-INF folder of a wiki webapp.
      Parameters:
      name - the file to obtain, e.g., jspwiki.policy
      Returns:
      the URL to the file
    • getAllInterWikiLinks

      Returns a collection of all supported InterWiki links.
      Returns:
      A Collection of Strings.
    • getAllInlinedImagePatterns

      Returns a collection of all image types that get inlined.
      Returns:
      A Collection of Strings with a regexp pattern.
    • getSpecialPageReference

      If the page is a special page, then returns a direct URL to that page. Otherwise returns null. This method delegates requests to CommandResolver.getSpecialPageReference(String).

      Special pages are defined in jspwiki.properties using the jspwiki.specialPage setting. They're typically used to give Wiki page names to e.g. custom JSP pages.

      Parameters:
      original - The page to check
      Returns:
      A reference to the page, or null, if there's no special page.
    • getApplicationName

      Returns the name of the application.
      Returns:
      A string describing the name of this application.
    • getRootPath

      Returns the root path. The root path is where the Engine is located in the file system.
      Returns:
      A path to where the Wiki is installed in the local filesystem.
      Since:
      2.2
    • getFinalPageName

      Returns the correct page name, or null, if no such page can be found. Aliases are considered. This method simply delegates to CommandResolver.getFinalPageName(String).
      Parameters:
      page - Page name.
      Returns:
      The rewritten page name, or null, if the page does not exist.
      Throws:
      ProviderException - If something goes wrong in the backend.
      Since:
      2.0
    • encodeName

      String encodeName​(String pagename)
      Turns a WikiName into something that can be called through using an URL.
      Parameters:
      pagename - A name. Can be actually any string.
      Returns:
      A properly encoded name.
      Since:
      1.4.1
      See Also:
      decodeName(String)
    • decodeName

      String decodeName​(String pagerequest)
      Decodes a URL-encoded request back to regular life. This properly heeds the encoding as defined in the settings file.
      Parameters:
      pagerequest - The URL-encoded string to decode
      Returns:
      A decoded string.
      See Also:
      encodeName(String)
    • getContentEncoding

      Returns the IANA name of the character set encoding we're supposed to be using right now.
      Returns:
      The content encoding (either UTF-8 or ISO-8859-1).
      Since:
      1.5.3
    • addWikiEventListener

      Registers a WikiEventListener with this instance.
      Parameters:
      listener - the event listener
    • removeWikiEventListener

      Un-registers a WikiEventListener with this instance.
      Parameters:
      listener - the event listener
    • setAttribute

      void setAttribute​(String key, Object value)
      Adds an attribute to the engine for the duration of this engine. The value is not persisted.
      Parameters:
      key - the attribute name
      value - the value
      Since:
      2.4.91
    • getAttribute

      <T> T getAttribute​(String key)
      Gets an attribute from the engine.
      Parameters:
      key - the attribute name
      Returns:
      the value
    • removeAttribute

      <T> T removeAttribute​(String key)
      Removes an attribute.
      Parameters:
      key - The key of the attribute to remove.
      Returns:
      The previous attribute, if it existed.
    • shutdown

      void shutdown()
      Signals that the Engine will be shut down by the servlet container.