Package com.xpn.xwiki.web
Class XWikiDefaultURLFactory
- java.lang.Object
-
- com.xpn.xwiki.web.XWikiDefaultURLFactory
-
- All Implemented Interfaces:
XWikiURLFactory
- Direct Known Subclasses:
XWikiServletURLFactory
public abstract class XWikiDefaultURLFactory extends Object implements XWikiURLFactory
-
-
Constructor Summary
Constructors Constructor Description XWikiDefaultURLFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description URL
createAttachmentRevisionURL(String filename, String spaces, String name, String revision, XWikiContext context)
URL
createAttachmentRevisionURL(String filename, String spaces, String name, String revision, String querystring, XWikiContext context)
URL
createAttachmentURL(String filename, String spaces, String name, String action, String querystring, XWikiContext context)
URL
createExternalURL(String spaces, String name, String action, String querystring, String anchor, XWikiContext context)
URL
createResourceURL(String filename, boolean forceSkinAction, XWikiContext context)
Create an URL for the file resource.URL
createSkinURL(String filename, String skin, XWikiContext context)
Create a skin URL for the given filename and skin directory.URL
createSkinURL(String filename, String spaces, String name, XWikiContext context)
Create an URL for the filename located in the spaces and with given repository.URL
createSkinURL(String filename, String spaces, String name, XWikiContext context, Map<String,Object> queryParameters)
Create an URL for the filename located in the spaces and with given repository.URL
createSkinURL(String filename, String spaces, String name, String xwikidb, XWikiContext context)
Create an URL for the filename located in the spaces and with given repository.URL
createURL(String spaces, String name, XWikiContext context)
URL
createURL(String spaces, String name, String action, XWikiContext context)
URL
createURL(String spaces, String name, String action, String querystring, String anchor, XWikiContext context)
URL
getRequestURL(XWikiContext context)
String
getURL(URL url, XWikiContext context)
Converts a URL to a string representation.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.xpn.xwiki.web.XWikiURLFactory
createAttachmentRevisionURL, createAttachmentURL, createExternalURL, createResourceURL, createSkinURL, createSkinURL, createURL, createURL, getServerURL, init
-
-
-
-
Method Detail
-
createURL
public URL createURL(String spaces, String name, XWikiContext context)
- Specified by:
createURL
in interfaceXWikiURLFactory
- Parameters:
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"
-
createExternalURL
public URL createExternalURL(String spaces, String name, String action, String querystring, String anchor, XWikiContext context)
- Specified by:
createExternalURL
in interfaceXWikiURLFactory
- Parameters:
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 aMap<String, String>
for the Query String, for example
-
createURL
public URL createURL(String spaces, String name, String action, XWikiContext context)
- Specified by:
createURL
in interfaceXWikiURLFactory
- Parameters:
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"
-
createURL
public URL createURL(String spaces, String name, String action, String querystring, String anchor, XWikiContext context)
- Specified by:
createURL
in interfaceXWikiURLFactory
- Parameters:
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 aMap<String, String>
for the Query String, for example
-
createSkinURL
public URL createSkinURL(String filename, String spaces, String name, XWikiContext context)
Description copied from interface:XWikiURLFactory
Create an URL for the filename located in the spaces and with given repository.- Specified by:
createSkinURL
in interfaceXWikiURLFactory
- Parameters:
filename
- the path of the file to reach.spaces
- the spaces where the file is located.name
- the directory where the file is located.context
- current context.- Returns:
- an URL to load the given file.
-
createSkinURL
public URL createSkinURL(String filename, String spaces, String name, XWikiContext context, Map<String,Object> queryParameters)
Description copied from interface:XWikiURLFactory
Create an URL for the filename located in the spaces and with given repository.- Specified by:
createSkinURL
in interfaceXWikiURLFactory
- Parameters:
filename
- the path of the file to reach.spaces
- the spaces where the file is located.name
- the directory where the file is located.context
- current context.queryParameters
- parameters to put at the end of the URL- Returns:
- an URL to load the given file.
-
createSkinURL
public URL createSkinURL(String filename, String spaces, String name, String xwikidb, XWikiContext context)
Description copied from interface:XWikiURLFactory
Create an URL for the filename located in the spaces and with given repository.- Specified by:
createSkinURL
in interfaceXWikiURLFactory
- Parameters:
filename
- the path of the file to reach.spaces
- the spaces where the file is located.name
- the directory where the file is located.xwikidb
- the wiki in which the file is located.context
- current context.- Returns:
- an URL to load the given file.
-
createSkinURL
public URL createSkinURL(String filename, String skin, XWikiContext context)
Description copied from interface:XWikiURLFactory
Create a skin URL for the given filename and skin directory.- Specified by:
createSkinURL
in interfaceXWikiURLFactory
- Parameters:
filename
- the file to reach.skin
- the skin where the file should be loadedcontext
- current context- Returns:
- a URL to load the given file.
-
createResourceURL
public URL createResourceURL(String filename, boolean forceSkinAction, XWikiContext context)
Description copied from interface:XWikiURLFactory
Create an URL for the file resource.- Specified by:
createResourceURL
in interfaceXWikiURLFactory
- Parameters:
filename
- the path of the file to load.forceSkinAction
- if true specify the skin directory in the URL.context
- the current context.- Returns:
- an URL to load the given file
-
createAttachmentURL
public URL createAttachmentURL(String filename, String spaces, String name, String action, String querystring, XWikiContext context)
- Specified by:
createAttachmentURL
in interfaceXWikiURLFactory
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 aMap<String, String>
for the Query String, for example
-
createAttachmentRevisionURL
public URL createAttachmentRevisionURL(String filename, String spaces, String name, String revision, String querystring, XWikiContext context)
- Specified by:
createAttachmentRevisionURL
in interfaceXWikiURLFactory
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 aMap<String, String>
for the Query String, for example
-
createAttachmentRevisionURL
public URL createAttachmentRevisionURL(String filename, String spaces, String name, String revision, XWikiContext context)
-
getRequestURL
public URL getRequestURL(XWikiContext context)
- Specified by:
getRequestURL
in interfaceXWikiURLFactory
-
getURL
public String getURL(URL url, XWikiContext context)
Description copied from interface:XWikiURLFactory
Converts a URL to a string representation. It's up to the implementation to decide whether to perform transformations or not on the URL. For example some implementations will convert the URL to a relative URL if the URL is an internal XWiki URL.- Specified by:
getURL
in interfaceXWikiURLFactory
- Parameters:
url
- the URL to convert- Returns:
- the converted URL as a string
-
-