Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.turbine.util.uri
Class TurbineURI

    java.lang.Object
      org.apache.turbine.util.uri.BaseURI
          org.apache.turbine.util.uri.TurbineURI

All Implemented Interfaces:
  URI, URIConstants

Direct Known Subclasses:
  TemplateURI

    public class TurbineURI

extends BaseURI

This class allows you to keep all the information needed for a single link at one place. It keeps your query data, path info, the server scheme, name, port and the script path. If you must generate a Turbine Link, use this class.

Version:
  $Id: TurbineURI.java 1078552 2011-03-06 19:58:46Z tv $
Author:
  Jon S. Stevens, Jason van Zyl, Henning P. Schmiedehausen

Field Summary

Fields inherited from interface org.apache.turbine.util.uri.URIConstants
`CGI_ACTION_PARAM, CGI_SCREEN_PARAM, CGI_TEMPLATE_PARAM, EVENT_PREFIX, FTP_PORT, HTTP, HTTP_PORT, HTTPS, HTTPS_PORT, PATH_INFO, QUERY_DATA, URI_SCHEME_SEPARATOR`

Constructor Summary
`TurbineURI()` Empty C'tor.
`TurbineURI(RunData runData)` Constructor with a RunData object.
`TurbineURI(RunData runData, boolean redirect)` Constructor, set explicit redirection.
`TurbineURI(RunData runData, String screen)` Constructor, set Screen.
`TurbineURI(RunData runData, String screen, boolean redirect)` Constructor, set Screen, set explicit redirection.
`TurbineURI(RunData runData, String screen, String action)` Constructor, set Screen and Action.
`TurbineURI(RunData runData, String screen, String action, boolean redirect)` Constructor, set Screen and Action, set explicit redirection.
`TurbineURI(ServerData serverData)` Constructor with a ServerData object.
`TurbineURI(ServerData serverData, boolean redirect)` Constructor, set explicit redirection.
`TurbineURI(ServerData serverData, String screen)` Constructor, set Screen.
`TurbineURI(ServerData serverData, String screen, boolean redirect)` Constructor, set Screen, set explicit redirection.
`TurbineURI(ServerData serverData, String screen, String action)` Constructor, set Screen and Action.
`TurbineURI(ServerData serverData, String screen, String action, boolean redirect)` Constructor, set Screen and Action, set explicit redirection.
`TurbineURI(String screen, String action)` Constructor, user Turbine.getDefaultServerData(), set Screen and Action.

Method Summary
`protected void` | `add(int type, List<URIParam> list)` Method for a quick way to add all the parameters in a List with URIParam objects.
`protected void` | `add(int type, org.apache.fulcrum.parser.ParameterParser pp)` Method for a quick way to add all the parameters in a ParameterParser.
`protected void` | `add(int type, String name, String value)` If the type is PATH_INFO, then add name/value to the pathInfo hashtable.
`void` | `addPathInfo(List<URIParam> list)` Adds an existing List of URIParam objects to the path_info string.
`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.
`void` | `addPathInfo(String name, double value)` Adds a name=value pair to the path_info string.
`void` | `addPathInfo(String name, int value)` Adds a name=value pair to the path_info string.
`void` | `addPathInfo(String name, long value)` Adds a name=value pair to the path_info string.
`void` | `addPathInfo(String name, Object value)` Adds a name=value pair to the path_info string.
`void` | `addPathInfo(String name, String value)` Adds a name=value pair to the path_info string.
`void` | `addQueryData(List<URIParam> list)` Adds an existing List of URIParam objects to the query data.
`void` | `addQueryData(org.apache.fulcrum.parser.ParameterParser pp)` Adds a name=value pair for every entry in a ParameterParser object to the query string.
`void` | `addQueryData(String name, double value)` Adds a name=value pair to the query string.
`void` | `addQueryData(String name, int value)` Adds a name=value pair to the query string.
`void` | `addQueryData(String name, long value)` Adds a name=value pair to the query string.
`void` | `addQueryData(String name, Object value)` Adds a name=value pair to the query string.
`void` | `addQueryData(String name, String value)` Adds a name=value pair to the query string.
`void` | `clearAction()` Clears the action= value for this URL.
`void` | `clearResponse()` Template Link and friends want to be able to turn the encoding of the servlet container off.
`void` | `clearScreen()` Clears the screen= value for this URL.
`String` | `getAbsoluteLink()` Builds the URL with all of the data URL-encoded as well as encoded using HttpServletResponse.encodeUrl().
`List<URIParam>` | `getPathInfo()` Gets the current Query Data List.
`List<URIParam>` | `getQueryData()` Gets the current Query Data List.
`String` | `getRelativeLink()` Builds the URL with all of the data URL-encoded as well as encoded using HttpServletResponse.encodeUrl().
`boolean` | `hasPathInfo()` Is Path Info data set in this URI?
`boolean` | `hasQueryData()` Is Query data set in this URI?
`protected void` | `remove(int type, String name)` If the type is P (0), then remove name/value from the pathInfo hashtable.
`void` | `removePathInfo()` Removes all the path info elements.
`void` | `removePathInfo(String name)` Removes a name=value pair from the path info.
`void` | `removeQueryData()` Removes all the query string elements.
`void` | `removeQueryData(String name)` Removes a name=value pair from the query string.
`void` | `setAction(String action)` Sets the action= value for this URL.
`void` | `setActionEvent(String action, String event)` Sets the action= and eventSubmit= values for this URL.
`void` | `setEvent(String event)` Sets the fired eventSubmit= value for this URL.
`void` | `setPathInfo(List<URIParam> pathInfo)` Sets the Query Data List.
`void` | `setQueryData(List<URIParam> queryData)` Sets the Query Data List.
`void` | `setScreen(String screen)` Sets the screen= value for this URL.
`String` | `toString()` Simply calls getAbsoluteLink().

Methods inherited from class org.apache.turbine.util.uri.BaseURI
`encodeResponse, getContextAndScript, getContextPath, getReference, getResponse, getSchemeAndPort, getScriptName, getServerName, getServerPort, getServerScheme, hasReference, isRedirect, setContextPath, setRedirect, setReference, setResponse, setScriptName, setSecure, setSecure, setServerName, setServerPort, setServerScheme`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

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<URIParam> getPathInfo()

  Gets the current Query Data 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<URIParam> getQueryData()

  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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2011 The Apache Software Foundation. All Rights Reserved.