Class TurbineURI

    • Constructor Detail

      • TurbineURI

        public TurbineURI()
        Empty C'tor. Uses Turbine.getDefaultServerData().
      • TurbineURI

        public TurbineURI​(RunData runData)
        Constructor with a RunData object.
        Parameters:
        runData - A RunData object
      • TurbineURI

        public TurbineURI​(RunData runData,
                          boolean redirect)
        Constructor, set explicit redirection.
        Parameters:
        runData - A RunData object
        redirect - True if redirection allowed.
      • TurbineURI

        public TurbineURI​(RunData runData,
                          String screen)
        Constructor, set Screen.
        Parameters:
        runData - A RunData object
        screen - A Screen Name
      • TurbineURI

        public TurbineURI​(RunData runData,
                          String screen,
                          boolean redirect)
        Constructor, set Screen, set explicit redirection.
        Parameters:
        runData - A RunData object
        screen - A Screen Name
        redirect - True if redirection allowed.
      • TurbineURI

        public TurbineURI​(RunData runData,
                          String screen,
                          String action)
        Constructor, set Screen and Action.
        Parameters:
        runData - A RunData object
        screen - A Screen Name
        action - An Action Name
      • TurbineURI

        public TurbineURI​(RunData runData,
                          String screen,
                          String action,
                          boolean redirect)
        Constructor, set Screen and Action, set explicit redirection.
        Parameters:
        runData - A RunData object
        screen - A Screen Name
        action - An Action Name
        redirect - True if redirection allowed.
      • TurbineURI

        public TurbineURI​(ServerData serverData)
        Constructor with a ServerData object.
        Parameters:
        serverData - A ServerData object
      • TurbineURI

        public TurbineURI​(ServerData serverData,
                          boolean redirect)
        Constructor, set explicit redirection.
        Parameters:
        serverData - A ServerData object
        redirect - True if redirection allowed.
      • TurbineURI

        public TurbineURI​(ServerData serverData,
                          String screen)
        Constructor, set Screen.
        Parameters:
        serverData - A ServerData object
        screen - A Screen Name
      • TurbineURI

        public TurbineURI​(ServerData serverData,
                          String screen,
                          boolean redirect)
        Constructor, set Screen, set explicit redirection.
        Parameters:
        serverData - A ServerData object
        screen - A Screen Name
        redirect - True if redirection allowed.
      • TurbineURI

        public TurbineURI​(ServerData serverData,
                          String screen,
                          String action)
        Constructor, set Screen and Action.
        Parameters:
        serverData - A ServerData object
        screen - A Screen Name
        action - An Action Name
      • TurbineURI

        public TurbineURI​(ServerData serverData,
                          String screen,
                          String action,
                          boolean redirect)
        Constructor, set Screen and Action, set explicit redirection.
        Parameters:
        serverData - A ServerData object
        screen - A Screen Name
        action - An Action Name
        redirect - True if redirection allowed.
      • TurbineURI

        public TurbineURI​(String screen,
                          String action)
        Constructor, user Turbine.getDefaultServerData(), set Screen and Action.
        Parameters:
        screen - A Screen Name
        action - An Action Name
    • Method Detail

      • setAction

        public void setAction​(String action)
        Sets the action= value for this URL. By default it adds the information to the path_info instead of the query data. An empty value (null or "") cleans out an existing value.
        Parameters:
        action - A String with the action value.
      • setEvent

        public void setEvent​(String event)
        Sets the fired eventSubmit= value for this URL.
        Parameters:
        event - The event to fire.
      • setActionEvent

        public void setActionEvent​(String action,
                                   String event)
        Sets the action= and eventSubmit= values for this URL. By default it adds the information to the path_info instead of the query data. An empty value (null or "") for the action cleans out an existing value. An empty value (null or "") for the event has no effect.
        Parameters:
        action - A String with the action value.
        event - A string with the event name.
      • clearAction

        public void clearAction()
        Clears the action= value for this URL.
      • setScreen

        public void setScreen​(String screen)
        Sets the screen= value for this URL. By default it adds the information to the path_info instead of the query data. An empty value (null or "") cleans out an existing value.
        Parameters:
        screen - A String with the screen value.
      • clearScreen

        public void clearScreen()
        Clears the screen= value for this URL.
      • addPathInfo

        public void addPathInfo​(org.apache.fulcrum.parser.ParameterParser pp)
        Adds a name=value pair for every entry in a ParameterParser object to the path_info string.
        Parameters:
        pp - A ParameterParser.
      • addPathInfo

        public void addPathInfo​(List<URIParam> list)
        Adds an existing List of URIParam objects to the path_info string.
        Parameters:
        list - A list with URIParam objects.
      • addPathInfo

        public void addPathInfo​(String name,
                                Object value)
        Adds a name=value pair to the path_info string.
        Parameters:
        name - A String with the name to add.
        value - An Object with the value to add.
      • addPathInfo

        public void addPathInfo​(String name,
                                String value)
        Adds a name=value pair to the path_info string.
        Parameters:
        name - A String with the name to add.
        value - A String with the value to add.
      • addPathInfo

        public void addPathInfo​(String name,
                                double value)
        Adds a name=value pair to the path_info string.
        Parameters:
        name - A String with the name to add.
        value - A double with the value to add.
      • addPathInfo

        public void addPathInfo​(String name,
                                int value)
        Adds a name=value pair to the path_info string.
        Parameters:
        name - A String with the name to add.
        value - An int with the value to add.
      • addPathInfo

        public void addPathInfo​(String name,
                                long value)
        Adds a name=value pair to the path_info string.
        Parameters:
        name - A String with the name to add.
        value - A long with the value to add.
      • addQueryData

        public void addQueryData​(String name,
                                 Object value)
        Adds a name=value pair to the query string.
        Parameters:
        name - A String with the name to add.
        value - An Object with the value to add.
      • addQueryData

        public void addQueryData​(String name,
                                 String value)
        Adds a name=value pair to the query string.
        Parameters:
        name - A String with the name to add.
        value - A String with the value to add.
      • addQueryData

        public void addQueryData​(String name,
                                 double value)
        Adds a name=value pair to the query string.
        Parameters:
        name - A String with the name to add.
        value - A double with the value to add.
      • addQueryData

        public void addQueryData​(String name,
                                 int value)
        Adds a name=value pair to the query string.
        Parameters:
        name - A String with the name to add.
        value - An int with the value to add.
      • addQueryData

        public void addQueryData​(String name,
                                 long value)
        Adds a name=value pair to the query string.
        Parameters:
        name - A String with the name to add.
        value - A long with the value to add.
      • addQueryData

        public void addQueryData​(org.apache.fulcrum.parser.ParameterParser pp)
        Adds a name=value pair for every entry in a ParameterParser object to the query string.
        Parameters:
        pp - A ParameterParser.
      • addQueryData

        public void addQueryData​(List<URIParam> list)
        Adds an existing List of URIParam objects to the query data.
        Parameters:
        list - A list with URIParam objects.
      • hasPathInfo

        public boolean hasPathInfo()
        Is Path Info data set in this URI?
        Returns:
        true if Path Info has values
      • removePathInfo

        public void removePathInfo()
        Removes all the path info elements.
      • removePathInfo

        public void removePathInfo​(String name)
        Removes a name=value pair from the path info.
        Parameters:
        name - A String with the name to be removed.
      • hasQueryData

        public boolean hasQueryData()
        Is Query data set in this URI?
        Returns:
        true if Query data has values
      • removeQueryData

        public void removeQueryData()
        Removes all the query string elements.
      • removeQueryData

        public void removeQueryData​(String name)
        Removes a name=value pair from the query string.
        Parameters:
        name - A String with the name to be removed.
      • clearResponse

        public void clearResponse()
        Template Link and friends want to be able to turn the encoding of the servlet container off. After calling this method, the no encoding will happen any longer. If you think, that you need this outside a template context, think again.
      • getAbsoluteLink

        public String getAbsoluteLink()
        Builds the URL with all of the data URL-encoded as well as encoded using HttpServletResponse.encodeUrl(). The resulting URL is absolute; it starts with http/https...
         TurbineURI tui = new TurbineURI (data, "UserScreen");
         tui.addPathInfo("user","jon");
         tui.getAbsoluteLink();
         
        The above call to absoluteLink() would return the String:

        http://www.server.com/servlets/Turbine/screen/UserScreen/user/jon

        Returns:
        A String with the built URL.
      • getRelativeLink

        public String getRelativeLink()
        Builds the URL with all of the data URL-encoded as well as encoded using HttpServletResponse.encodeUrl(). The resulting URL is relative to the webserver root.
         TurbineURI tui = new TurbineURI (data, "UserScreen");
         tui.addPathInfo("user","jon");
         tui.getRelativeLink();
         
        The above call to relativeLink() would return the String:

        /servlets/Turbine/screen/UserScreen/user/jon

        Returns:
        A String with the built URL.
      • getPathInfo

        public List<URIParamgetPathInfo()
        Gets the current Path Info List.
        Returns:
        A List which contains all query data keys. The keys are URIParam objects.
      • setPathInfo

        public void setPathInfo​(List<URIParam> pathInfo)
        Sets the Query Data List. Replaces the current query data list with the one supplied. The list must contain only URIParam objects!
        Parameters:
        pathInfo - A List with new param objects.
      • getQueryData

        public List<URIParamgetQueryData()
        Gets the current Query Data List.
        Returns:
        A List which contains all query data keys. The keys are URIParam objects.
      • setQueryData

        public void setQueryData​(List<URIParam> queryData)
        Sets the Query Data List. Replaces the current query data list with the one supplied. The list must contain only URIParam objects!
        Parameters:
        queryData - A List with new param objects.
      • toString

        public String toString()
        Simply calls getAbsoluteLink(). You should not use this in your code unless you have to. Use getAbsoluteLink.
        Overrides:
        toString in class Object
        Returns:
        This URI as a String
      • add

        protected void add​(int type,
                           String name,
                           String value)
        If the type is PATH_INFO, then add name/value to the pathInfo hashtable.

        If the type is QUERY_DATA, then add name/value to the queryData hashtable.

        Parameters:
        type - Type (PATH_INFO or QUERY_DATA) of insertion.
        name - A String with the name to add.
        value - A String with the value to add.
      • add

        protected void add​(int type,
                           org.apache.fulcrum.parser.ParameterParser pp)
        Method for a quick way to add all the parameters in a ParameterParser.

        If the type is P (0), then add name/value to the pathInfo hashtable.

        If the type is Q (1), then add name/value to the queryData hashtable.

        Parameters:
        type - Type of insertion (@see #add(char type, String name, String value))
        pp - A ParameterParser.
      • add

        protected void add​(int type,
                           List<URIParam> list)
        Method for a quick way to add all the parameters in a List with URIParam objects.

        If the type is P (0), then add name/value to the pathInfo hashtable.

        If the type is Q (1), then add name/value to the queryData hashtable.

        Parameters:
        type - Type of insertion (@see #add(char type, String name, String value))
        list - A List of URIParam objects
      • remove

        protected void remove​(int type,
                              String name)
        If the type is P (0), then remove name/value from the pathInfo hashtable.

        If the type is Q (1), then remove name/value from the queryData hashtable.

        Parameters:
        type - Type (P or Q) of removal.
        name - A String with the name to be removed.