|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--com.ecyrd.jspwiki.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.
| Field Summary | |
static java.lang.String |
PREFS_COOKIE_NAME
The name of the cookie that gets stored to the user browser. |
static java.lang.String |
PROP_BASEURL
The name for the base URL to use in all references. |
static java.lang.String |
PROP_BEAUTIFYTITLE
Property name for the "spaces in titles" -hack. |
static java.lang.String |
PROP_ENCODING
Define the used encoding. |
static java.lang.String |
PROP_FRONTPAGE
Property name for the default front page. |
static java.lang.String |
PROP_INTERWIKIREF
|
static java.lang.String |
PROP_MATCHPLURALS
Property name for the "match english plurals" -hack. |
static java.lang.String |
PROP_STOREIPADDRESS
If true, logs the IP address of the editor on saving. |
static java.lang.String |
PROP_STOREUSERNAME
If true, then the user name will be stored with the page data. |
static java.lang.String |
PROP_TEMPLATEDIR
Property name for the template that is used. |
| Constructor Summary | |
|
WikiEngine(java.util.Properties properties)
Instantiate the WikiEngine using a given set of properties. |
protected |
WikiEngine(javax.servlet.ServletContext context)
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 | |
java.lang.String |
beautifyTitle(java.lang.String title)
Beautifies the title of the page by appending spaces in suitable places. |
java.lang.String |
decodeName(java.lang.String pagerequest)
|
java.lang.String |
encodeName(java.lang.String pagename)
Turns a WikiName into something that can be called through using an URL. |
java.util.Collection |
findPages(java.lang.String query)
Parses an incoming search request, then does a search. |
static java.lang.Class |
findWikiClass(java.lang.String className,
java.lang.String defaultPackage)
Attempts to locate a Wiki class, defaulting to the defaultPackage in case the actual class could not be located. |
java.util.Collection |
getAllInlinedImagePatterns()
Returns a collection of all image types that get inlined. |
java.util.Collection |
getAllInterWikiLinks()
Returns a collection of all supported InterWiki links. |
java.lang.String |
getApplicationName()
Returns the name of the application. |
AttachmentManager |
getAttachmentManager()
Returns the current AttachmentManager. |
java.lang.String |
getAttachmentURL(java.lang.String attName)
Returns the basic attachment URL. |
java.lang.String |
getBaseURL()
Returns the base URL. |
java.lang.String |
getContentEncoding()
Returns the IANA name of the character set encoding we're supposed to be using right now. |
java.lang.String |
getCurrentProvider()
Returns the provider name |
java.lang.String |
getCurrentProviderInfo()
return information about current provider. |
java.lang.String |
getDiff(java.lang.String page,
int version1,
int version2)
Returns a diff of two versions of a page. |
java.lang.String |
getEditURL(java.lang.String pageName)
Returns the basic URL to an editor. |
java.lang.String |
getFinalPageName(java.lang.String page)
Returns the correct page name, or null, if no such page can be found. |
java.lang.String |
getFrontPage()
Returns the default front page, if no page is used. |
java.lang.String |
getGlobalRSSURL()
Returns the URL of the global RSS file. |
java.lang.String |
getHTML(java.lang.String page)
Returns the converted HTML of the page. |
java.lang.String |
getHTML(java.lang.String pagename,
int version)
Returns the converted HTML of the page's specific version. |
java.lang.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. |
java.lang.String |
getInterWikiURL(java.lang.String wikiName)
Returns an URL to some other Wiki that we know. |
WikiPage |
getPage(java.lang.String pagereq)
Return a bunch of information from the web page. |
WikiPage |
getPage(java.lang.String pagereq,
int version)
Returns specific information about a Wiki page. |
int |
getPageCount()
Returns the number of pages in this Wiki |
PageManager |
getPageManager()
Returns the current PageManager. |
PluginManager |
getPluginManager()
Returns the current plugin manager. |
java.lang.String |
getPluginSearchPath()
|
java.lang.String |
getPureText(java.lang.String page,
int version)
Returns the pure text of a page, no conversions. |
java.util.Collection |
getRecentChanges()
Returns a Collection of WikiPages, sorted in time order of last change. |
ReferenceManager |
getReferenceManager()
Returns this object's ReferenceManager. |
static java.lang.String |
getRequiredProperty(java.util.Properties props,
java.lang.String key)
Throws an exception if a property is not found. |
javax.servlet.ServletContext |
getServletContext()
Returns the ServletContext that this particular WikiEngine was initialized with. |
java.lang.String |
getSpecialPageReference(java.lang.String original)
If the page is a special page, then returns a direct URL to that page. |
java.util.Date |
getStartTime()
Returns the moment when this engine was started. |
java.lang.String |
getTemplateDir()
Returns the current template directory. |
java.lang.String |
getText(java.lang.String page)
Returns the unconverted text of a page. |
java.lang.String |
getText(java.lang.String page,
int version)
Returns the unconverted text of the given version of a page, if it exists. |
java.lang.String |
getText(WikiContext context,
WikiPage page)
Returns plain text (with HTML entities replaced). |
java.lang.String |
getUserName(javax.servlet.http.HttpServletRequest request)
Retrieves the user name. |
java.lang.String |
getValidUserName(javax.servlet.http.HttpServletRequest request)
If no author name has been set, then use the IP address, if allowed. |
VariableManager |
getVariableManager()
|
java.util.List |
getVersionHistory(java.lang.String page)
Returns a Collection of WikiPages containing the version history of a page. |
java.lang.String |
getViewURL(java.lang.String pageName)
Returns the basic URL to a page, without any modifications. |
java.util.Properties |
getWikiProperties()
Internal method for getting a property. |
boolean |
pageExists(java.lang.String page)
Returns true, if the requested page (or an alias) exists. |
boolean |
pageExists(java.lang.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. |
java.lang.String |
safeGetParameter(javax.servlet.ServletRequest request,
java.lang.String name)
This is a safe version of the Servlet.Request.getParameter() routine. |
java.lang.String |
safeGetQueryString(javax.servlet.http.HttpServletRequest request)
Returns the query string (the portion after the question mark). |
void |
saveText(java.lang.String page,
java.lang.String text)
Writes the WikiText of a page into the page repository. |
void |
saveText(java.lang.String page,
java.lang.String text,
javax.servlet.http.HttpServletRequest request)
|
protected java.util.Collection |
scanWikiLinks(java.lang.String pagedata)
Reads a WikiPageful of data from a String and returns all links internal to this Wiki in a Collection. |
java.lang.String |
textToHTML(WikiContext context,
java.lang.String pagedata)
Converts raw page data to HTML. |
java.lang.String |
textToHTML(WikiContext context,
java.lang.String pagedata,
StringTransmutator localLinkHook,
StringTransmutator extLinkHook)
Just convert WikiText to HTML. |
void |
updateReferences(java.lang.String pageName)
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 java.lang.String PROP_INTERWIKIREF
public static final java.lang.String PROP_STOREUSERNAME
public static final java.lang.String PROP_STOREIPADDRESS
public static final java.lang.String PROP_ENCODING
public static final java.lang.String PROP_BASEURL
public static final java.lang.String PROP_BEAUTIFYTITLE
public static final java.lang.String PREFS_COOKIE_NAME
public static final java.lang.String PROP_MATCHPLURALS
public static final java.lang.String PROP_TEMPLATEDIR
public static final java.lang.String PROP_FRONTPAGE
| Constructor Detail |
public WikiEngine(java.util.Properties properties)
throws WikiException
protected WikiEngine(javax.servlet.ServletContext context)
throws WikiException
| Method Detail |
public static WikiEngine getInstance(javax.servlet.ServletConfig config)
throws InternalWikiException
InternalWikiException - in case something fails. This
is a RuntimeException, so be prepared for it.
public static java.lang.String getRequiredProperty(java.util.Properties props,
java.lang.String key)
throws NoRequiredPropertyException
NoRequiredPropertyExceptionpublic java.util.Properties getWikiProperties()
public java.lang.String getPluginSearchPath()
public java.lang.String getTemplateDir()
public java.lang.String getBaseURL()
public java.util.Date getStartTime()
public java.lang.String getViewURL(java.lang.String pageName)
public java.lang.String getEditURL(java.lang.String pageName)
public java.lang.String getAttachmentURL(java.lang.String attName)
public java.lang.String getFrontPage()
public javax.servlet.ServletContext getServletContext()
public java.lang.String safeGetParameter(javax.servlet.ServletRequest request,
java.lang.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 java.lang.String safeGetQueryString(javax.servlet.http.HttpServletRequest request)
public java.lang.String getInterWikiURL(java.lang.String wikiName)
public java.util.Collection getAllInterWikiLinks()
public java.util.Collection getAllInlinedImagePatterns()
public java.lang.String getSpecialPageReference(java.lang.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 java.lang.String getApplicationName()
public java.lang.String beautifyTitle(java.lang.String title)
public boolean pageExists(java.lang.String page)
page - WikiName of the page.
public boolean pageExists(java.lang.String page,
int version)
throws ProviderException
page - Page name
ProviderException
public boolean pageExists(WikiPage page)
throws ProviderException
ProviderExceptionpublic java.lang.String getFinalPageName(java.lang.String page)
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.
public java.lang.String encodeName(java.lang.String pagename)
public java.lang.String decodeName(java.lang.String pagerequest)
public java.lang.String getContentEncoding()
public java.lang.String getText(java.lang.String page)
page - WikiName of the page to fetch.
public java.lang.String getText(java.lang.String page,
int version)
page - WikiName of the page to fetchversion - Version of the page to fetch
public java.lang.String getPureText(java.lang.String page,
int version)
version - If WikiPageProvider.LATEST_VERSION, then uses the
latest version.
public java.lang.String getText(WikiContext context,
WikiPage page)
public java.lang.String getHTML(WikiContext context,
WikiPage page)
public java.lang.String getHTML(java.lang.String page)
page - WikiName of the page to convert.
public java.lang.String getHTML(java.lang.String pagename,
int version)
pagename - WikiName of the page to convert.version - Version number to fetch
public java.lang.String textToHTML(WikiContext context,
java.lang.String pagedata)
pagedata - Raw page data to convert to HTMLprotected java.util.Collection scanWikiLinks(java.lang.String pagedata)
public java.lang.String textToHTML(WikiContext context,
java.lang.String pagedata,
StringTransmutator localLinkHook,
StringTransmutator extLinkHook)
public void updateReferences(java.lang.String pageName)
public void saveText(java.lang.String page,
java.lang.String text)
page - Page nametext - The Wiki markup for the page.public java.lang.String getUserName(javax.servlet.http.HttpServletRequest request)
request - HttpServletRequest that was called.
public java.lang.String getValidUserName(javax.servlet.http.HttpServletRequest request)
public void saveText(java.lang.String page,
java.lang.String text,
javax.servlet.http.HttpServletRequest request)
request - The HTTP Servlet request associated with this
transaction.public int getPageCount()
public java.lang.String getCurrentProvider()
public java.lang.String getCurrentProviderInfo()
public java.util.Collection getRecentChanges()
public java.util.Collection findPages(java.lang.String query)
Search language is simple: prepend a word with a + to force a word to be included (all files not containing that word are automatically rejected), '-' to cause the rejection of all those files that contain that word.
public WikiPage getPage(java.lang.String pagereq)
public WikiPage getPage(java.lang.String pagereq,
int version)
public java.util.List getVersionHistory(java.lang.String page)
public java.lang.String getDiff(java.lang.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 static java.lang.Class findWikiClass(java.lang.String className,
java.lang.String defaultPackage)
throws java.lang.ClassNotFoundException
className - Class to search for.defaultPackage - A default package to try if the class
cannot be directly located. May be null.
java.lang.ClassNotFoundException - if the class could not be located.public ReferenceManager getReferenceManager()
public PluginManager getPluginManager()
public VariableManager getVariableManager()
public PageManager getPageManager()
public AttachmentManager getAttachmentManager()
public java.lang.String getGlobalRSSURL()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||