|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.ecyrd.jspwiki.WikiEngine
public class WikiEngine
Provides Wiki services to the JSP page.
This is the main interface through which everything should go.
Using this class: Always get yourself an instance from JSP page by using the WikiEngine.getInstance() method. Never create a new WikiEngine() from scratch, unless you're writing tests.
There's basically only a single WikiEngine for each web application, and you should always get it using the WikiEngine.getInstance() method.
Field Summary | |
---|---|
static String |
DEFAULT_PROPERTYFILE
Path to the default property file. |
static String |
PARAM_PROPERTYFILE
The web.xml parameter that defines where the config file is to be found. |
static String |
PREFS_COOKIE_NAME
The name of the cookie that gets stored to the user browser. |
static String |
PROP_APPNAME
Property for application name |
static String |
PROP_BASEURL
The name for the base URL to use in all references. |
static String |
PROP_BEAUTIFYTITLE
Property name for the "spaces in titles" -hack. |
static String |
PROP_ENCODING
Define the used encoding. |
static String |
PROP_FRONTPAGE
Property name for the default front page. |
static String |
PROP_INTERWIKIREF
Property start for any interwiki reference. |
static String |
PROP_MATCHPLURALS
Property name for the "match english plurals" -hack. |
static String |
PROP_REFSTYLE
|
static String |
PROP_RUNFILTERS
If this property is set to false, all filters are disabled when translating. |
static String |
PROP_STOREUSERNAME
If true, then the user name will be stored with the page data. |
static String |
PROP_TEMPLATEDIR
Property name for the template that is used. |
static String |
PROP_URLCONSTRUCTOR
Property name for setting the url generator instance |
static String |
PROP_WORKDIR
Property name for where the jspwiki work directory should be. |
Constructor Summary | |
---|---|
|
WikiEngine(Properties properties)
Instantiate the WikiEngine using a given set of properties. |
protected |
WikiEngine(javax.servlet.ServletContext context,
String appid,
Properties props)
Instantiate using this method when you're running as a servlet and WikiEngine will figure out where to look for the property file. |
Method Summary | |
---|---|
void |
addWikiEventListener(WikiEventListener listener)
Registers a WikiEventListener with this instance. |
String |
beautifyTitle(String title)
Beautifies the title of the page by appending spaces in suitable places, if the user has so decreed in the properties when constructing this WikiEngine. |
String |
beautifyTitleNoBreak(String title)
Beautifies the title of the page by appending non-breaking spaces in suitable places. |
WikiContext |
createContext(javax.servlet.http.HttpServletRequest request,
String requestContext)
Shortcut to create a WikiContext from the Wiki page. |
String |
decodeName(String pagerequest)
|
void |
deletePage(String pageName)
Deletes a page or an attachment completely, including all versions. |
void |
deleteVersion(WikiPage page)
Deletes a specific version of a page or an attachment. |
String |
encodeName(String pagename)
Turns a WikiName into something that can be called through using an URL. |
Collection |
findPages(String query)
Parses an incoming search request, then does a search. |
protected void |
fireEvent(WikiEvent event)
Fires a wiki event to all registered listeners. |
AclManager |
getAclManager()
Returns the AclManager employed by this WikiEngine. |
Collection |
getAllInlinedImagePatterns()
Returns a collection of all image types that get inlined. |
Collection |
getAllInterWikiLinks()
Returns a collection of all supported InterWiki links. |
String |
getApplicationName()
Returns the name of the application. |
AttachmentManager |
getAttachmentManager()
Returns the current AttachmentManager, which is responsible for storing and managing attachments. |
String |
getAttachmentURL(String attName)
Deprecated. |
AuthenticationManager |
getAuthenticationManager()
Returns the currently used authentication manager. |
AuthorizationManager |
getAuthorizationManager()
Returns the currently used authorization manager. |
String |
getBaseURL()
Returns the base URL. |
String |
getContentEncoding()
Returns the IANA name of the character set encoding we're supposed to be using right now. |
String |
getCurrentProvider()
Returns the provider name. |
String |
getCurrentProviderInfo()
Return information about current provider. |
String |
getDiff(String page,
int version1,
int version2)
Returns a diff of two versions of a page. |
EditorManager |
getEditorManager()
|
String |
getEditURL(String pageName)
Deprecated. |
FilterManager |
getFilterManager()
Returns the manager responsible for the filters. |
String |
getFinalPageName(String page)
Returns the correct page name, or null, if no such page can be found. |
String |
getFrontPage()
Returns the default front page, if no page is used. |
String |
getGlobalRSSURL()
Returns the URL of the global RSS file. |
GroupManager |
getGroupManager()
Returns the GroupManager employed by this WikiEngine. |
String |
getHTML(String page)
Returns the converted HTML of the page. |
String |
getHTML(String pagename,
int version)
Returns the converted HTML of the page's specific version. |
String |
getHTML(WikiContext context,
WikiPage page)
Returns the converted HTML of the page using a different context than the default context. |
static WikiEngine |
getInstance(javax.servlet.ServletConfig config)
Gets a WikiEngine related to this servlet. |
static WikiEngine |
getInstance(javax.servlet.ServletConfig config,
Properties props)
Gets a WikiEngine related to the servlet. |
static WikiEngine |
getInstance(javax.servlet.ServletContext context,
Properties props)
Gets a WikiEngine related to the servlet. |
String |
getInterWikiURL(String wikiName)
Returns an URL to some other Wiki that we know. |
WikiPage |
getPage(String pagereq)
Finds the corresponding WikiPage object based on the page name. |
WikiPage |
getPage(String pagereq,
int version)
Finds the corresponding WikiPage object base on the page name and version. |
int |
getPageCount()
Returns the number of pages in this Wiki |
PageManager |
getPageManager()
Returns the current PageManager which is responsible for storing and managing WikiPages. |
PluginManager |
getPluginManager()
Returns the current plugin manager. |
String |
getPluginSearchPath()
Deprecated. |
String |
getPureText(String page,
int version)
Returns the pure text of a page, no conversions. |
String |
getPureText(WikiPage page)
Returns the pure text of a page, no conversions. |
Collection |
getRecentChanges()
Returns a Collection of WikiPages, sorted in time order of last change (i.e. first object is the most recently changed). |
String |
getRedirectURL(WikiContext context)
Figure out to which page we are really going to. |
ReferenceManager |
getReferenceManager()
Returns this object's ReferenceManager. |
RenderingManager |
getRenderingManager()
Returns the current rendering manager for this wiki application. |
static String |
getRequiredProperty(Properties props,
String key)
Throws an exception if a property is not found. |
String |
getRootPath()
|
RSSGenerator |
getRSSGenerator()
|
SearchManager |
getSearchManager()
Returns the manager responsible for searching the Wiki. |
javax.servlet.ServletContext |
getServletContext()
Returns the ServletContext that this particular WikiEngine was initialized with. |
String |
getSpecialPageReference(String original)
If the page is a special page, then returns a direct URL to that page. |
Date |
getStartTime()
Returns the moment when this engine was started. |
String |
getTemplateDir()
Returns the current template directory. |
TemplateManager |
getTemplateManager()
|
String |
getText(String page)
Returns the un-HTMLized text of the latest version of a page. |
String |
getText(String page,
int version)
Returns the un-HTMLized text of the given version of a page. |
String |
getText(WikiContext context,
WikiPage page)
Returns the un-HTMLized text of the given version of a page in the given context. |
String |
getURL(String context,
String pageName,
String params,
boolean absolute)
Returns an URL if a WikiContext is not available. |
URLConstructor |
getURLConstructor()
|
UserDatabase |
getUserDatabase()
|
UserManager |
getUserManager()
Returns the UserManager employed by this WikiEngine. |
String |
getVariable(WikiContext context,
String name)
Shortcut to getVariableManager().getValue(). |
VariableManager |
getVariableManager()
Returns the current variable manager. |
List |
getVersionHistory(String page)
Returns a Collection of WikiPages containing the version history of a page. |
String |
getViewURL(String pageName)
Returns the basic absolute URL to a page, without any modifications. |
Properties |
getWikiProperties()
Internal method for getting a property. |
String |
getWorkDir()
Returns the JSPWiki working directory. |
void |
initReferenceManager()
Initializes the reference manager. |
boolean |
pageExists(String page)
Returns true, if the requested page (or an alias) exists. |
boolean |
pageExists(String page,
int version)
Returns true, if the requested page (or an alias) exists with the requested version. |
boolean |
pageExists(WikiPage page)
Returns true, if the requested page (or an alias) exists, with the specified version in the WikiPage. |
void |
removeWikiEventListener(WikiEventListener listener)
Un-registers a WikiEventListener with this instance. |
String |
renamePage(WikiContext context,
String renameFrom,
String renameTo,
boolean changeReferrers)
Renames, or moves, a wiki page. |
String |
safeGetParameter(javax.servlet.ServletRequest request,
String name)
Deprecated. JSPWiki now requires servlet API 2.3, which has a better way of dealing with this stuff. This will be removed in the near future. |
String |
safeGetQueryString(javax.servlet.http.HttpServletRequest request)
Returns the query string (the portion after the question mark). |
void |
saveText(WikiContext context,
String text)
Writes the WikiText of a page into the page repository. |
protected Collection |
scanWikiLinks(WikiPage page,
String pagedata)
Reads a WikiPageful of data from a String and returns all links internal to this Wiki in a Collection. |
protected void |
shutdown()
Protected method that signals that the WikiEngine will be shut down by the servlet container. |
String |
textToHTML(WikiContext context,
String pagedata)
Converts raw page data to HTML. |
String |
textToHTML(WikiContext context,
String pagedata,
StringTransmutator localLinkHook,
StringTransmutator extLinkHook)
Just convert WikiText to HTML. |
String |
textToHTML(WikiContext context,
String pagedata,
StringTransmutator localLinkHook,
StringTransmutator extLinkHook,
StringTransmutator attLinkHook)
Just convert WikiText to HTML. |
void |
updateReferences(WikiPage page)
Updates all references for the given page. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String PARAM_PROPERTYFILE
public static final String PROP_APPNAME
public static final String PROP_INTERWIKIREF
public static final String PROP_STOREUSERNAME
public static final String PROP_ENCODING
public static final String PROP_BASEURL
public static final String PROP_REFSTYLE
public static final String PROP_BEAUTIFYTITLE
public static final String PROP_WORKDIR
public static final String PREFS_COOKIE_NAME
public static final String PROP_MATCHPLURALS
public static final String PROP_TEMPLATEDIR
public static final String PROP_FRONTPAGE
public static final String PROP_URLCONSTRUCTOR
public static final String PROP_RUNFILTERS
public static final String DEFAULT_PROPERTYFILE
Constructor Detail |
---|
public WikiEngine(Properties properties) throws WikiException
WikiException
protected WikiEngine(javax.servlet.ServletContext context, String appid, Properties props) throws WikiException
WikiException
Method Detail |
---|
public static WikiEngine getInstance(javax.servlet.ServletConfig config) throws InternalWikiException
config
- The ServletConfig object for this servlet.
InternalWikiException
- in case something fails. This
is a RuntimeException, so be prepared for it.public static WikiEngine getInstance(javax.servlet.ServletConfig config, Properties props)
config
- The ServletConfig of the webapp servlet/JSP calling this method.props
- A set of properties, or null, if we are to load JSPWiki's default
jspwiki.properties (this is the usual case).public static WikiEngine getInstance(javax.servlet.ServletContext context, Properties props) throws InternalWikiException
context
- The ServletContext of the webapp servlet/JSP calling this method.props
- A set of properties, or null, if we are to load JSPWiki's default
jspwiki.properties (this is the usual case).
InternalWikiException
public void initReferenceManager()
public static String getRequiredProperty(Properties props, String key) throws NoRequiredPropertyException
props
- A set of properties to search the key in.key
- The key to look for.
NoRequiredPropertyException
- If the search key is not
in the property set.public Properties getWikiProperties()
public String getWorkDir()
public String getPluginSearchPath()
public String getTemplateDir()
public TemplateManager getTemplateManager()
public String getBaseURL()
public Date getStartTime()
public String getViewURL(String pageName)
Since 2.3.90 it is safe to call this method with null pageName, in which case it will default to the front page.
public String getEditURL(String pageName)
public String getAttachmentURL(String attName)
public String getURL(String context, String pageName, String params, boolean absolute)
context
- The WikiContext (VIEW, EDIT, etc...)pageName
- Name of the page, as usualparams
- List of parameters. May be null, if no parameters.absolute
- If true, will generate an absolute URL regardless of properties setting.public String getFrontPage()
public javax.servlet.ServletContext getServletContext()
public String safeGetParameter(javax.servlet.ServletRequest request, String name)
For more information, see: JGuru FAQ.
Incidentally, this is almost the same as encodeName(), below. I am not yet entirely sure if it's safe to merge the code.
public String safeGetQueryString(javax.servlet.http.HttpServletRequest request)
public String getInterWikiURL(String wikiName)
public Collection getAllInterWikiLinks()
public Collection getAllInlinedImagePatterns()
public String getSpecialPageReference(String original)
Special pages are non-existant references to other pages. For example, you could define a special page reference "RecentChanges" which would always be redirected to "RecentChanges.jsp" instead of trying to find a Wiki page called "RecentChanges".
public String getApplicationName()
public String beautifyTitle(String title)
public String beautifyTitleNoBreak(String title)
public boolean pageExists(String page)
page
- WikiName of the page.public boolean pageExists(String page, int version) throws ProviderException
page
- Page name
ProviderException
public boolean pageExists(WikiPage page) throws ProviderException
ProviderException
public String getFinalPageName(String page) throws ProviderException
In some cases, page names can refer to other pages. For example, when you have matchEnglishPlurals set, then a page name "Foobars" will be transformed into "Foobar", should a page "Foobars" not exist, but the page "Foobar" would. This method gives you the correct page name to refer to.
This facility can also be used to rewrite any page name, for example, by using aliases. It can also be used to check the existence of any page.
page
- Page name.
ProviderException
public String encodeName(String pagename)
public String decodeName(String pagerequest)
public String getContentEncoding()
public String getText(String page)
page
- WikiName of the page to fetch.
public String getText(String page, int version)
page
- WikiName of the page to fetchversion
- Version of the page to fetch
public String getText(WikiContext context, WikiPage page)
This method also replaces the < and & -characters with their respective HTML entities, thus making it suitable for inclusion on an HTML page. If you want to have the page text without any conversions, use getPureText().
public String getPureText(String page, int version)
page
- The name of the page to fetch.version
- If WikiPageProvider.LATEST_VERSION, then uses the
latest version.
public String getPureText(WikiPage page)
page
- A handle to the WikiPage
public String getHTML(WikiContext context, WikiPage page)
public String getHTML(String page)
page
- WikiName of the page to convert.public String getHTML(String pagename, int version)
pagename
- WikiName of the page to convert.version
- Version number to fetchpublic String textToHTML(WikiContext context, String pagedata)
pagedata
- Raw page data to convert to HTMLprotected void shutdown()
WikiServlet.destroy()
. When this method is called,
it fires a "shutdown" WikiEngineEvent to all registered
listeners.
protected Collection scanWikiLinks(WikiPage page, String pagedata)
public String textToHTML(WikiContext context, String pagedata, StringTransmutator localLinkHook, StringTransmutator extLinkHook)
public String textToHTML(WikiContext context, String pagedata, StringTransmutator localLinkHook, StringTransmutator extLinkHook, StringTransmutator attLinkHook)
public void updateReferences(WikiPage page)
public void saveText(WikiContext context, String text) throws WikiException
context
- The current WikiContexttext
- The Wiki markup for the page.
WikiException
public int getPageCount()
public String getCurrentProvider()
public String getCurrentProviderInfo()
public Collection getRecentChanges()
public Collection findPages(String query) throws ProviderException, IOException
The query is dependent on the actual chosen search provider - each one of them has a language of its own.
ProviderException
IOException
public WikiPage getPage(String pagereq)
pagereq
- The name of the page to look for.
public WikiPage getPage(String pagereq, int version)
pagereq
- The name of the page to look for.version
- The version number to look for. May be WikiProvider.LATEST_VERSION,
in which case it will look for the latest version (and this method then becomes
the equivalent of getPage(String).
public List getVersionHistory(String page)
page
- Name of the page to look for
public String getDiff(String page, int version1, int version2)
page
- Page to returnversion1
- Version number of the old page. If
WikiPageProvider.LATEST_VERSION (-1), then uses current page.version2
- Version number of the new page. If
WikiPageProvider.LATEST_VERSION (-1), then uses current page.
public ReferenceManager getReferenceManager()
public RenderingManager getRenderingManager()
public PluginManager getPluginManager()
public VariableManager getVariableManager()
public String getVariable(WikiContext context, String name)
context
- WikiContext to look the variable inname
- Name of the variable to look for
public PageManager getPageManager()
public AttachmentManager getAttachmentManager()
public AuthorizationManager getAuthorizationManager()
public AuthenticationManager getAuthenticationManager()
public FilterManager getFilterManager()
public SearchManager getSearchManager()
public String getRedirectURL(WikiContext context)
context
- The Wiki Context in which the request is being made.
public WikiContext createContext(javax.servlet.http.HttpServletRequest request, String requestContext)
public void deletePage(String pageName) throws ProviderException
pageName
-
ProviderException
public void deleteVersion(WikiPage page) throws ProviderException
page
-
ProviderException
public String getGlobalRSSURL()
public String getRootPath()
public URLConstructor getURLConstructor()
public RSSGenerator getRSSGenerator()
public String renamePage(WikiContext context, String renameFrom, String renameTo, boolean changeReferrers) throws WikiException
context
- The context during which this rename takes
place.renameFrom
- Name of the source page.renameTo
- Name of the destination page.changeReferrers
- If true, then changes any referring links
to point to the renamed page.
WikiException
- In the case of an error, such as the destination
page already existing.public UserManager getUserManager()
public UserDatabase getUserDatabase()
public GroupManager getGroupManager()
public AclManager getAclManager()
public EditorManager getEditorManager()
public final void addWikiEventListener(WikiEventListener listener)
listener
- the event listenerpublic final void removeWikiEventListener(WikiEventListener listener)
listener
- the event listenerprotected final void fireEvent(WikiEvent event)
event
- the event
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |