public class FileSystemURLFactory extends XWikiServletURLFactory
file://
links, and not as http://
links.contextPath, defaultURL, defaultURLs, originalURL
Constructor and Description |
---|
FileSystemURLFactory() |
Modifier and Type | Method and Description |
---|---|
URL |
createAttachmentRevisionURL(String filename,
String spaces,
String name,
String revision,
String wiki,
XWikiContext context) |
URL |
createAttachmentURL(String filename,
String spaces,
String name,
String action,
String querystring,
String wiki,
XWikiContext context) |
URL |
createResourceURL(String filename,
boolean forceSkinAction,
XWikiContext context) |
URL |
createSkinURL(String filename,
String skin,
XWikiContext context) |
String |
getURL(URL url,
XWikiContext context)
Converts a URL to a relative URL if it's a XWiki URL (keeping only the path + query string + anchor) and leave
the URL unchanged if it's an external URL.
|
addFileName, addFileName, createAttachmentRevisionURL, createAttachmentRevisionURL, createExternalURL, createSkinURL, createTemplateURL, createURL, createURL, findAttachmentForDocRevision, findDeletedAttachmentForDocRevision, getContextPath, getDefaultURL, getRequestURL, getServerURL, getServerURL, init, isContextDoc, normalizeURL, normalizeURL, setDefaultURL
createAttachmentRevisionURL, createAttachmentURL, createExternalURL, createSkinURL, createURL, createURL, createURL
public URL createAttachmentURL(String filename, String spaces, String name, String action, String querystring, String wiki, XWikiContext context)
createAttachmentURL
in interface XWikiURLFactory
createAttachmentURL
in class XWikiServletURLFactory
spaces
- a serialized space reference which can contain one or several spaces (e.g. "space1.space2"). If
a space name contains a dot (".") it must be passed escaped as in "space1\.with\.dot.space2"querystring
- the URL-encoded Query String. It's important to realize that the implementation of this
method cannot encode it automatically since the Query String is passed as a String (and it's not possible
to differentiate between a '=' character that should be encoded and one that shouldn't. Imagine an input
of 'a=&b=c' which can be understood either as 'a' = '&b=c' or as 'a' = '' and 'b' = 'c'). Ideally
we would need an API signature that accepts a Map<String, String>
for the Query String, for
examplepublic URL createAttachmentRevisionURL(String filename, String spaces, String name, String revision, String wiki, XWikiContext context)
createAttachmentRevisionURL
in interface XWikiURLFactory
createAttachmentRevisionURL
in class XWikiDefaultURLFactory
spaces
- a serialized space reference which can contain one or several spaces (e.g. "space1.space2"). If
a space name contains a dot (".") it must be passed escaped as in "space1\.with\.dot.space2"wiki
- the URL-encoded Query String. It's important to realize that the implementation of this
method cannot encode it automatically since the Query String is passed as a String (and it's not possible
to differentiate between a '=' character that should be encoded and one that shouldn't. Imagine an input
of 'a=&b=c' which can be understood either as 'a' = '&b=c' or as 'a' = '' and 'b' = 'c'). Ideally
we would need an API signature that accepts a Map<String, String>
for the Query String, for
examplepublic URL createSkinURL(String filename, String skin, XWikiContext context)
createSkinURL
in interface XWikiURLFactory
createSkinURL
in class XWikiServletURLFactory
public URL createResourceURL(String filename, boolean forceSkinAction, XWikiContext context)
createResourceURL
in interface XWikiURLFactory
createResourceURL
in class XWikiServletURLFactory
public String getURL(URL url, XWikiContext context)
XWikiServletURLFactory
An URL is considered to be external if its server component doesn't match the server of the current request URL. This means that URLs are made relative with respect to the current request URL rather than the current wiki set on the XWiki context. Let's take an example:
request URL: http://playground.xwiki.org/xwiki/bin/view/Sandbox/TestURL
current wiki: code (code.xwiki.org)
URL (1): http://code.xwiki.org/xwiki/bin/view/Main/WebHome
URL (2): http://playground.xwiki.org/xwiki/bin/view/Spage/Page
The result will be:
(1) http://code.xwiki.org/xwiki/bin/view/Main/WebHome
(2) /xwiki/bin/view/Spage/Page
getURL
in interface XWikiURLFactory
getURL
in class XWikiServletURLFactory
url
- the URL to convertXWikiDefaultURLFactory.getURL(java.net.URL, com.xpn.xwiki.XWikiContext)
Copyright © 2004–2018 XWiki. All rights reserved.