public class TemplateManager extends ModuleManager
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_TEMPLATE
The name of the default template.
|
static String |
DIRECTORY
The default directory for the properties.
|
static String |
I18NDEFAULT_LOCALE
I18N string to mark the default locale
|
static String |
I18NRESOURCE_EN
The default (en) RESOURCE name and id.
|
static String |
I18NRESOURCE_EN_ID |
static String |
I18NRESOURCE_PREFIX
Location of I18N Resource bundles, and path prefix and suffixes
|
static String |
I18NRESOURCE_SUFFIX |
static String |
I18NSERVER_TIMEZONE
I18N string to mark the server timezone
|
protected static org.apache.log4j.Logger |
log |
static String |
PROPERTYFILE
Name of the file that contains the properties.
|
static String |
RESOURCE_HTTPHEADER
Requests a HTTP header.
|
static String |
RESOURCE_INCLUDES
The name under which the resource includes map is stored in the
WikiContext.
|
static String |
RESOURCE_INLINECSS
Requests inlined CSS.
|
static String |
RESOURCE_JSFUNCTION
Requests a JavaScript function to be called during window.onload.
|
static String |
RESOURCE_JSLOCALIZEDSTRINGS
Requests a JavaScript associative array with all localized strings.
|
static String |
RESOURCE_SCRIPT
Requests a script to be loaded.
|
static String |
RESOURCE_STYLESHEET
Requests a stylesheet to be inserted.
|
static String |
TIMEFORMATPROPERTIES
Prefix of the default timeformat properties.
|
m_engine, PLUGIN_RESOURCE_LOCATION
Constructor and Description |
---|
TemplateManager(WikiEngine engine,
Properties properties)
Creates a new TemplateManager.
|
Modifier and Type | Method and Description |
---|---|
static void |
addResourceRequest(WikiContext ctx,
String type,
String resource)
Adds a resource request to the current request context.
|
String |
findJSP(javax.servlet.jsp.PageContext pageContext,
String name)
An utility method for finding a JSP page.
|
String |
findJSP(javax.servlet.jsp.PageContext pageContext,
String template,
String name)
Attempts to locate a resource under the given template.
|
String |
findResource(WikiContext ctx,
String template,
String name)
Attempts to locate a resource under the given template.
|
static String |
getMarker(WikiContext context,
String type)
Returns the include resources marker for a given type.
|
WikiModuleInfo |
getModuleInfo(String moduleName)
Returns null!
|
static String[] |
getResourceRequests(WikiContext ctx,
String type)
Returns resource requests for a particular type.
|
static String[] |
getResourceTypes(WikiContext ctx)
Returns all those types that have been requested so far.
|
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
|
Set<String> |
listSkins(javax.servlet.jsp.PageContext pageContext,
String template)
Lists the skins available under this template.
|
Map<String,String> |
listTimeFormats(javax.servlet.jsp.PageContext pageContext)
List all available timeformats, read from the jspwiki.properties
|
Map<String,String> |
listTimeZones(javax.servlet.jsp.PageContext pageContext)
List all timezones, with special marker for server timezone
|
Collection<WikiModuleInfo> |
modules()
Returns an empty collection, since at the moment the TemplateManager
does not manage any modules.
|
boolean |
templateExists(String templateName)
Check the existence of a template.
|
checkCompatibility, modules
public static final String RESOURCE_JSFUNCTION
public static final String RESOURCE_JSLOCALIZEDSTRINGS
public static final String RESOURCE_STYLESHEET
public static final String RESOURCE_SCRIPT
public static final String RESOURCE_INLINECSS
public static final String DIRECTORY
public static final String DEFAULT_TEMPLATE
public static final String PROPERTYFILE
public static final String I18NRESOURCE_PREFIX
public static final String I18NRESOURCE_SUFFIX
public static final String I18NRESOURCE_EN
public static final String I18NRESOURCE_EN_ID
public static final String I18NDEFAULT_LOCALE
public static final String I18NSERVER_TIMEZONE
public static final String TIMEFORMATPROPERTIES
public static final String RESOURCE_INCLUDES
protected static final org.apache.log4j.Logger log
public static final String RESOURCE_HTTPHEADER
public TemplateManager(WikiEngine engine, Properties properties)
engine
- The owning engine.properties
- The property list used to initialize this.public boolean templateExists(String templateName)
public String findJSP(javax.servlet.jsp.PageContext pageContext, String name)
pageContext
- the JSP PageContextname
- The name of the JSP page to look for (e.g "Wiki.jsp")public String findJSP(javax.servlet.jsp.PageContext pageContext, String template, String name)
Even though the name suggests only JSP files can be located, but in fact this method can find also other resources than JSP files.
pageContext
- The JSP PageContexttemplate
- From which template we should seek initially?name
- Which resource are we looking for (e.g. "ViewTemplate.jsp")public String findResource(WikiContext ctx, String template, String name)
This method is typically used to locate any resource, including JSP pages, images, scripts, etc.
ctx
- the wiki contexttemplate
- the name of the template to usename
- the name of the resource to finepublic Set<String> listSkins(javax.servlet.jsp.PageContext pageContext, String template)
pageContext
- the JSP PageContexttemplate
- The template to searchpublic Map<String,String> listLanguages(javax.servlet.jsp.PageContext pageContext)
pageContext
- public Map<String,String> listTimeFormats(javax.servlet.jsp.PageContext pageContext)
pageContext
- public Map<String,String> listTimeZones(javax.servlet.jsp.PageContext pageContext)
pageContext
- public static String getMarker(WikiContext context, String type)
context
- the wiki contexttype
- the markerpublic static void addResourceRequest(WikiContext ctx, String type, String resource)
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.
ctx
- The current wiki contexttype
- What kind of a request should be added?resource
- The resource to add.public static String[] getResourceRequests(WikiContext ctx, String type)
ctx
- WikiContexttype
- The resource request typepublic static String[] getResourceTypes(WikiContext ctx)
ctx
- the wiki contextpublic Collection<WikiModuleInfo> modules()
modules
in class ModuleManager
public WikiModuleInfo getModuleInfo(String moduleName)
WikiModuleInfo
information about the provided moduleName.getModuleInfo
in class ModuleManager
Copyright © 2001-2019 The Apache Software Foundation. All rights reserved.