com.xpn.xwiki.plugin.skinx
Class CssSkinFileExtensionPlugin

java.lang.Object
  extended by com.xpn.xwiki.plugin.XWikiDefaultPlugin
      extended by com.xpn.xwiki.plugin.skinx.AbstractSkinExtensionPlugin
          extended by com.xpn.xwiki.plugin.skinx.CssSkinFileExtensionPlugin
All Implemented Interfaces:
com.xpn.xwiki.plugin.XWikiPluginInterface

public class CssSkinFileExtensionPlugin
extends AbstractSkinExtensionPlugin

CSs Skin File Extension plugin to use css files from the skin.

Since:
1.6
Version:
$Id: 1c3764f6897ec787dc0fff3588d1c172465c9550 $

Field Summary
static String PLUGIN_NAME
          The identifier for this plugin; used for accessing the plugin from velocity, and as the action returning the extension content.
 
Fields inherited from class com.xpn.xwiki.plugin.skinx.AbstractSkinExtensionPlugin
contextKey, parametersContextKey
 
Constructor Summary
CssSkinFileExtensionPlugin(String name, String className, com.xpn.xwiki.XWikiContext context)
          XWiki plugin constructor.
 
Method Summary
 String endParsing(String content, com.xpn.xwiki.XWikiContext context)
          
 Set<String> getAlwaysUsedExtensions(com.xpn.xwiki.XWikiContext context)
          Returns the list of always used extensions of this type.
 String getLink(String filename, com.xpn.xwiki.XWikiContext context)
          Abstract method for obtaining a link that points to the actual pulled resource.
 String getName()
           
 Api getPluginApi(com.xpn.xwiki.plugin.XWikiPluginInterface plugin, com.xpn.xwiki.XWikiContext context)
           
 boolean hasPageExtensions(com.xpn.xwiki.XWikiContext context)
          Determines if the requested document contains on page skin extension objects of this type.
 
Methods inherited from class com.xpn.xwiki.plugin.skinx.AbstractSkinExtensionPlugin
getImportString, getParameter, getParametersForResource, getParametersMap, getPulledResources, initializeRequestListIfNeeded, parametersAsQueryString, sanitize, use, use
 
Methods inherited from class com.xpn.xwiki.plugin.XWikiDefaultPlugin
beginParsing, beginRendering, commonTagsHandler, downloadAttachment, endRendering, endRenderingHandler, flushCache, flushCache, getClassName, init, insidePREHandler, outsidePREHandler, setClassName, setName, startRenderingHandler, virtualInit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PLUGIN_NAME

public static final String PLUGIN_NAME
The identifier for this plugin; used for accessing the plugin from velocity, and as the action returning the extension content.

See Also:
Constant Field Values
Constructor Detail

CssSkinFileExtensionPlugin

public CssSkinFileExtensionPlugin(String name,
                                  String className,
                                  com.xpn.xwiki.XWikiContext context)
XWiki plugin constructor.

Parameters:
name - The name of the plugin, which can be used for retrieving the plugin API from velocity. Unused.
className - The canonical classname of the plugin. Unused.
context - The current request context.
See Also:
XWikiDefaultPlugin.XWikiDefaultPlugin(String,String,com.xpn.xwiki.XWikiContext)
Method Detail

getName

public String getName()
Specified by:
getName in interface com.xpn.xwiki.plugin.XWikiPluginInterface
Overrides:
getName in class com.xpn.xwiki.plugin.XWikiDefaultPlugin

getPluginApi

public Api getPluginApi(com.xpn.xwiki.plugin.XWikiPluginInterface plugin,
                        com.xpn.xwiki.XWikiContext context)
Specified by:
getPluginApi in interface com.xpn.xwiki.plugin.XWikiPluginInterface
Overrides:
getPluginApi in class AbstractSkinExtensionPlugin

getLink

public String getLink(String filename,
                      com.xpn.xwiki.XWikiContext context)
Description copied from class: AbstractSkinExtensionPlugin
Abstract method for obtaining a link that points to the actual pulled resource. Each type of resource has its own format for the link, for example Javascript uses <script src="/path/to/Document">, while CSS uses <link rel="stylesheet" href="/path/to/Document"> (the actual syntax is longer, this is just a simplified example).

Specified by:
getLink in class AbstractSkinExtensionPlugin
Parameters:
filename - the name of the wiki document holding the resource.
context - the current request context, needed to access the URLFactory.
Returns:
A String representation of the linking element that should be printed in the generated HTML.

endParsing

public String endParsing(String content,
                         com.xpn.xwiki.XWikiContext context)

At the end of the request, insert the links to the pulled resources in the response, in the place marked by an XML comment of the format <!-- canonical.plugin.classname -->.

We must override this method since the plugin manager only calls it for classes that provide their own implementation, and not an inherited one.

Specified by:
endParsing in interface com.xpn.xwiki.plugin.XWikiPluginInterface
Overrides:
endParsing in class AbstractSkinExtensionPlugin
See Also:
AbstractSkinExtensionPlugin.endParsing(String, XWikiContext)

getAlwaysUsedExtensions

public Set<String> getAlwaysUsedExtensions(com.xpn.xwiki.XWikiContext context)
Returns the list of always used extensions of this type. Which resources are always used depends on the type of resource, for example document based StyleSheet extensions have a property in the object, use, which can have the value always to declare that an extension should always be used.

There is no support for always used skinfile-based extensions.

Specified by:
getAlwaysUsedExtensions in class AbstractSkinExtensionPlugin
Parameters:
context - The current request context.
Returns:
A set of resource names that should be pulled in the current response. Note that this method is called for each request, as the list might change in time, and it can be different for each wiki in a farm.
See Also:
AbstractSkinExtensionPlugin.getAlwaysUsedExtensions(XWikiContext)

hasPageExtensions

public boolean hasPageExtensions(com.xpn.xwiki.XWikiContext context)
Determines if the requested document contains on page skin extension objects of this type. True if at least one of the extension objects has the currentPage value for the use property.

Not supported for skinfile-based extensions.

Specified by:
hasPageExtensions in class AbstractSkinExtensionPlugin
Parameters:
context - the current request context
Returns:
a boolean specifying if the current document contains on page skin extensions
See Also:
AbstractSkinExtensionPlugin.hasPageExtensions(com.xpn.xwiki.XWikiContext)


Copyright © 2004-2012 XWiki. All Rights Reserved.