Class XWikiDefaultURLFactory

    • Constructor Detail

      • XWikiDefaultURLFactory

        public XWikiDefaultURLFactory()
    • Method Detail

      • createURL

        public URL createURL​(String spaces,
                             String name,
                             XWikiContext context)
        Specified by:
        createURL in interface XWikiURLFactory
        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 interface XWikiURLFactory
        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 a Map<String, String> for the Query String, for example
      • createURL

        public URL createURL​(String spaces,
                             String name,
                             String action,
                             XWikiContext context)
        Specified by:
        createURL in interface XWikiURLFactory
        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 interface XWikiURLFactory
        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 a Map<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 interface XWikiURLFactory
        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 interface XWikiURLFactory
        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 interface XWikiURLFactory
        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 interface XWikiURLFactory
        Parameters:
        filename - the file to reach.
        skin - the skin where the file should be loaded
        context - 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 interface XWikiURLFactory
        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 interface XWikiURLFactory
        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 example
      • createAttachmentRevisionURL

        public URL createAttachmentRevisionURL​(String filename,
                                               String spaces,
                                               String name,
                                               String revision,
                                               String querystring,
                                               XWikiContext context)
        Specified by:
        createAttachmentRevisionURL in interface XWikiURLFactory
        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 example
      • 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 interface XWikiURLFactory
        Parameters:
        url - the URL to convert
        Returns:
        the converted URL as a string