Class TemplateLink

    • Constructor Detail

      • TemplateLink

        public TemplateLink()
        Default constructor

        The init method must be called before use.

    • Method Detail

      • init

        public void init​(Object data)
        This will initialize a TemplateLink object that was constructed with the default constructor (ApplicationTool method).
        Specified by:
        init in interface ApplicationTool
        Parameters:
        data - assumed to be a PipelineData object
      • setEncodeURLOff

        public TemplateLink setEncodeURLOff()
        This will turn off the execution of res.encodeURL() by making res == null. This is a hack for cases where you don't want to see the session information
        Returns:
        A TemplateLink (self).
      • setPage

        public TemplateLink setPage​(String template)
        Sets the template variable used by the Template Service.
        Parameters:
        template - A String with the template name.
        Returns:
        A TemplateLink.
      • getPage

        public String getPage()
        Gets the template variable used by the Template Service. It is only available after setPage() has been called.
        Returns:
        The template name.
      • setAction

        public TemplateLink 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.
        Parameters:
        action - A String with the action value.
        Returns:
        A TemplateLink (self).
      • setActionEvent

        public TemplateLink 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.
        Parameters:
        action - A String with the action value.
        event - A string with the event name.
        Returns:
        A TemplateLink (self).
      • setScreen

        public TemplateLink 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.
        Parameters:
        screen - A String with the screen value.
        Returns:
        A TemplateLink (self).
      • setReference

        public TemplateLink setReference​(String reference)
        Sets a reference anchor (#ref).
        Parameters:
        reference - A String containing the reference.
        Returns:
        A TemplateLink (self).
      • getReference

        public String getReference()
        Returns the current reference anchor.
        Returns:
        A String containing the reference.
      • addPathInfo

        public TemplateLink 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.
        Returns:
        A TemplateLink (self).
      • addPathInfo

        public TemplateLink 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.
        Returns:
        A TemplateLink (self).
      • addPathInfo

        public TemplateLink 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.
        Returns:
        A TemplateLink (self).
      • addPathInfo

        public TemplateLink 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.
        Returns:
        A TemplateLink (self).
      • addPathInfo

        public TemplateLink 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.
        Returns:
        A TemplateLink (self).
      • addPathInfo

        public TemplateLink 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.
        Returns:
        A TemplateLink (self).
      • addQueryData

        public TemplateLink 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.
        Returns:
        A TemplateLink (self).
      • addQueryData

        public TemplateLink 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.
        Returns:
        A TemplateLink (self).
      • addQueryData

        public TemplateLink 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.
        Returns:
        A TemplateLink (self).
      • addQueryData

        public TemplateLink 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.
        Returns:
        A TemplateLink (self).
      • addQueryData

        public TemplateLink 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.
        Returns:
        A TemplateLink (self).
      • addQueryData

        public TemplateLink 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.
        Returns:
        A TemplateLink (self).
      • removePathInfo

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

        public TemplateLink removeQueryData​(String name)
        Removes a name=value pair from the query string.
        Parameters:
        name - A String with the name to be removed.
        Returns:
        A TemplateLink (self).
      • 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...
         TemplateURI tui = new TemplateURI (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

        After rendering the URI, it clears the pathInfo and QueryString portions of the TemplateURI. So you can use the $link reference multiple times on a page and start over with a fresh object every time.

        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.
         TemplateURI tui = new TemplateURI (data, "UserScreen");
         tui.addPathInfo("user","jon");
         tui.getRelativeLink();
         
        The above call to relativeLink() would return the String:

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

        After rendering the URI, it clears the pathInfo and QueryString portions of the TemplateURI. So you can use the $link reference multiple times on a page and start over with a fresh object every time.

        Returns:
        A String with the built URL.
      • getLink

        public String getLink()
        Returns the URI. After rendering the URI, it clears the pathInfo and QueryString portions of the TemplateURI.
        Returns:
        A String with the URI in the form http://foo.com/Turbine/template/index.wm/hello/world
      • getURI

        public String getURI()
        Returns the relative URI leaving the source intact. Use this if you need the path_info and query data multiple times. This is equivalent to $link.Link or just $link, but does not reset the path_info and query data.
        Returns:
        A String with the URI in the form http://foo.com/Turbine/template/index.wm/hello/world
      • getAbsoluteURI

        public String getAbsoluteURI()
        Returns the absolute URI leaving the source intact. Use this if you need the path_info and query data multiple times. This is equivalent to $link.AbsoluteLink but does not reset the path_info and query data.
        Returns:
        A String with the URI in the form http://foo.com/Turbine/template/index.wm/hello/world
      • getRelativeURI

        public String getRelativeURI()
        Returns the relative URI leaving the source intact. Use this if you need the path_info and query data multiple times. This is equivalent to $link.RelativeLink but does not reset the path_info and query data.
        Returns:
        A String with the URI in the form http://foo.com/Turbine/template/index.wm/hello/world
      • toString

        public String toString()
        Same as getLink().
        Overrides:
        toString in class Object
        Returns:
        A String with the URI represented by this object.