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 URLcreateAttachmentRevisionURL(String filename, String spaces, String name, String revision, XWikiContext context)URLcreateAttachmentRevisionURL(String filename, String spaces, String name, String revision, String querystring, XWikiContext context)URLcreateAttachmentURL(String filename, String spaces, String name, String action, String querystring, XWikiContext context)URLcreateExternalURL(String spaces, String name, String action, String querystring, String anchor, XWikiContext context)URLcreateResourceURL(String filename, boolean forceSkinAction, XWikiContext context)Create an URL for the file resource.URLcreateSkinURL(String filename, String skin, XWikiContext context)Create a skin URL for the given filename and skin directory.URLcreateSkinURL(String filename, String spaces, String name, XWikiContext context)Create an URL for the filename located in the spaces and with given repository.URLcreateSkinURL(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.URLcreateSkinURL(String filename, String spaces, String name, String xwikidb, XWikiContext context)Create an URL for the filename located in the spaces and with given repository.URLcreateURL(String spaces, String name, XWikiContext context)URLcreateURL(String spaces, String name, String action, XWikiContext context)URLcreateURL(String spaces, String name, String action, String querystring, String anchor, XWikiContext context)URLgetRequestURL(XWikiContext context)StringgetURL(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:
createURLin 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:
createExternalURLin 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:
createURLin 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:
createURLin 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:XWikiURLFactoryCreate an URL for the filename located in the spaces and with given repository.- Specified by:
createSkinURLin 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:XWikiURLFactoryCreate an URL for the filename located in the spaces and with given repository.- Specified by:
createSkinURLin 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:XWikiURLFactoryCreate an URL for the filename located in the spaces and with given repository.- Specified by:
createSkinURLin 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:XWikiURLFactoryCreate a skin URL for the given filename and skin directory.- Specified by:
createSkinURLin 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:XWikiURLFactoryCreate an URL for the file resource.- Specified by:
createResourceURLin 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:
createAttachmentURLin interfaceXWikiURLFactoryspaces- 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:
createAttachmentRevisionURLin interfaceXWikiURLFactoryspaces- 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:
getRequestURLin interfaceXWikiURLFactory
-
getURL
public String getURL(URL url, XWikiContext context)
Description copied from interface:XWikiURLFactoryConverts 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:
getURLin interfaceXWikiURLFactory- Parameters:
url- the URL to convert- Returns:
- the converted URL as a string
-
-