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 localestatic 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 suffixesstatic java.lang.String
I18NRESOURCE_SUFFIX
static java.lang.String
I18NSERVER_TIMEZONE
I18N string to mark the server timezonestatic 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
All Methods Static Methods Instance Methods Abstract Methods Default Methods 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.propertiesjava.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.propertiesdefault java.util.Map<java.lang.String,java.lang.String>
listTimeZones(javax.servlet.jsp.PageContext pageContext)
List all timezones, with special marker for server timezoneboolean
templateExists(java.lang.String templateName)
Check the existence of a template.-
Methods inherited from interface org.apache.wiki.modules.ModuleManager
checkCompatibility, getModuleInfo, modules
-
-
-
-
Field Detail
-
SKIN_DIRECTORY
static final java.lang.String SKIN_DIRECTORY
- See Also:
- Constant Field Values
-
RESOURCE_JSFUNCTION
static final java.lang.String RESOURCE_JSFUNCTION
Requests a JavaScript function to be called during window.onload. Value is "jsfunction".- See Also:
- Constant Field Values
-
RESOURCE_JSLOCALIZEDSTRINGS
static final java.lang.String RESOURCE_JSLOCALIZEDSTRINGS
Requests a JavaScript associative array with all localized strings.- See Also:
- Constant Field Values
-
RESOURCE_STYLESHEET
static final java.lang.String RESOURCE_STYLESHEET
Requests a stylesheet to be inserted. Value is "stylesheet".- See Also:
- Constant Field Values
-
RESOURCE_SCRIPT
static final java.lang.String RESOURCE_SCRIPT
Requests a script to be loaded. Value is "script".- See Also:
- Constant Field Values
-
RESOURCE_INLINECSS
static final java.lang.String RESOURCE_INLINECSS
Requests inlined CSS. Value is "inlinecss".- See Also:
- Constant Field Values
-
DIRECTORY
static final java.lang.String DIRECTORY
The default directory for the properties. Value is "templates".- See Also:
- Constant Field Values
-
DEFAULT_TEMPLATE
static final java.lang.String DEFAULT_TEMPLATE
The name of the default template. Value is "default".- See Also:
- Constant Field Values
-
PROPERTYFILE
static final java.lang.String PROPERTYFILE
Name of the file that contains the properties.- See Also:
- Constant Field Values
-
I18NRESOURCE_PREFIX
static final java.lang.String I18NRESOURCE_PREFIX
Location of I18N Resource bundles, and path prefix and suffixes- See Also:
- Constant Field Values
-
I18NRESOURCE_SUFFIX
static final java.lang.String I18NRESOURCE_SUFFIX
- See Also:
- Constant Field Values
-
I18NRESOURCE_EN
static final java.lang.String I18NRESOURCE_EN
The default (en) RESOURCE name and id.- See Also:
- Constant Field Values
-
I18NRESOURCE_EN_ID
static final java.lang.String I18NRESOURCE_EN_ID
- See Also:
- Constant Field Values
-
I18NDEFAULT_LOCALE
static final java.lang.String I18NDEFAULT_LOCALE
I18N string to mark the default locale- See Also:
- Constant Field Values
-
I18NSERVER_TIMEZONE
static final java.lang.String I18NSERVER_TIMEZONE
I18N string to mark the server timezone- See Also:
- Constant Field Values
-
TIMEFORMATPROPERTIES
static final java.lang.String TIMEFORMATPROPERTIES
Prefix of the default timeformat properties.- See Also:
- Constant Field Values
-
RESOURCE_INCLUDES
static final java.lang.String RESOURCE_INCLUDES
The name under which the resource includes map is stored in the WikiContext.- See Also:
- Constant Field Values
-
RESOURCE_HTTPHEADER
static final java.lang.String RESOURCE_HTTPHEADER
Requests a HTTP header. Value is "httpheader".- See Also:
- Constant Field Values
-
-
Method Detail
-
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 PageContextname
- 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 PageContexttemplate
- 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 contexttemplate
- the name of the template to usename
- 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 PageContexttemplate
- 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 contexttype
- 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
- theContext
- 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 contexttype
- 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
- WikiContexttype
- 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
-
-