Interface XWikiPluginInterface

  • All Known Implementing Classes:
    FileUploadPlugin, MailPlugin, MonitorPlugin, PackagePlugin, RightsManagerPlugin, SVGPlugin, XWikiDefaultPlugin

    @Deprecated
    public interface XWikiPluginInterface
    Deprecated.
    the plugin technology is deprecated, consider rewriting as components
    Deprecated platform extension mechanism allowing three things:
    • provide custom services usable from other parts of the platform, or as public services in Velocity scripts using a PluginApi wrapper; this can now be achieved using components for use inside Java, or using ScriptService components for public scriptable APIs
    • alter the request processing by implementing one or more of the hook methods that plug into the rendering engine, such as endParsing(String, XWikiContext) or downloadAttachment(XWikiAttachment, XWikiContext); this can now be achieved using rendering transformations for changing the rendering result, or event listeners for doing custom actions when different events occur
    • perform extra initialization steps whenever starting the platform, or when loading each virtual wiki; this can be achieved by writing event listeners that wait for application events or wiki events

    In order for a plugin to be active, it must be registered in xwiki.cfg.

    Public scriptable APIs are implemented in a custom PluginApi wrapper, which is instantiated by calling the getPluginApi(XWikiPluginInterface, XWikiContext) method. If a plugin doesn't need a scriptable API, it should return null instead.

    The methods of a specific plugin are called only if the actual class implements that method, so inherited methods are never called. If a plugin wants to provide an implementation for one of the hook methods, it must provide an implementation for it, even if that implementation only calls a parent method.

    Version:
    $Id: 8d7045844ef4917fd5f65de5e008a7a7b2a91d3e $
    • Method Detail

      • getPluginApi

        Api getPluginApi​(XWikiPluginInterface plugin,
                         XWikiContext context)
        Deprecated.
        Get a public scriptable API that can be used to call methods of the (privileged) plugin.
        Parameters:
        plugin - the plugin instance to wrap
        context - the current request context
        Returns:
        an instance of the corresponding API, or null if the plugin doesn't want to expose a public API
      • init

        void init​(XWikiContext context)
           throws XWikiException
        Deprecated.
        Global initialization, called when the platform is started and the plugin list is initialized.
        Parameters:
        context - the current context, should not be stored since it will become mostly unreliable once the initial request is terminated
        Throws:
        XWikiException - if the plugin fails to initialize
      • virtualInit

        void virtualInit​(XWikiContext context)
        Deprecated.
        Initialization method called each time a virtual wiki is started, allowing plugins to perform initialization tasks needed in each wiki.
        Parameters:
        context - the current request context
      • flushCache

        void flushCache​(XWikiContext context)
        Deprecated.
        A "flush cache" method usually called by the global XWiki.flushCache(XWikiContext), requesting plugins to clear their cached data. When this method is called, plugins should discard all the information they hold from the wiki and re-read it if needed.
        Parameters:
        context - the current request context
      • beginParsing

        void beginParsing​(XWikiContext context)
        Deprecated.
        Hook method called at the start of the response generation process, before the parsing of the root template begins. This allows a plugin to initialize its per-request variables, or to modify the (velocity) context. This method is called at most once per request. It is not called at all if the response is not rendered using a velocity template, for example during the PDF export or for AJAX requests that don't send back a rendered response.
        Parameters:
        context - the current request context
        See Also:
        the pair method called at the end of the response generation process
      • commonTagsHandler

        String commonTagsHandler​(String content,
                                 XWikiContext context)
        Deprecated.
        Hook method called during the 1.0 rendering process, after beginRendering(XWikiContext) and right before startRenderingHandler(String, XWikiContext). At this point the content has already been processed by all of the important rendering components (Velocity, Radeox, Groovy). The content can be altered before returning, and the rendering process will continue on the returned value.
        Parameters:
        content - the current content being rendered; already processed by Radeox, Velocity and Groovy
        context - the current request context
        Returns:
        the processed content, must be the same as the input content if no processing is needed
      • endRendering

        void endRendering​(XWikiContext context)
        Deprecated.
        Hook method, called after the 1.0 rendering engine finished processing a wiki document. This allows a plugin to clean up its per-rendering variables, or to modify the (velocity) context. This method can be called multiple times per request, once for each time the 1.0 rendering engine is invoked. At this point the content is processed by all of the rendering components and is ready to be included in the response.
        Parameters:
        context - the current request context
        See Also:
        allows to also alter the rendering result
      • endParsing

        String endParsing​(String content,
                          XWikiContext context)
        Deprecated.
        Hook method called at the end of the response generation process, after the parsing of the root template is finished. This allows a plugin to clean up its per-request variables, to modify the (velocity) context, or to post-process the response. This method is called at most once per request. It is not called at all if the response is not rendered using a velocity template, for example during the PDF export or for AJAX requests that don't send back a rendered response.
        Parameters:
        content - the full response to send to the client
        context - the current request context
        Returns:
        the post-processed content, must be the same as the input content if no processing is needed
        See Also:
        the pair method called at the start of the response generation process
      • downloadAttachment

        XWikiAttachment downloadAttachment​(XWikiAttachment attachment,
                                           XWikiContext context)
        Deprecated.
        Plugin extension point allowing the plugin to perform modifications to an attachment when the user opens a document attachment. The plugin is passed the original attachment and it has to return the new modified attachment.
        Parameters:
        attachment - the original attachment
        context - the current request context
        Returns:
        the modified attachment