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.services.pull.tools
Class TemplateLink

    java.lang.Object
      org.apache.turbine.services.pull.tools.TemplateLink

All Implemented Interfaces:
  ApplicationTool

    public class TemplateLink

extends Object
implements ApplicationTool

This is a pull to to be used in Templates to convert links in Templates into the correct references. The pull service might insert this tool into the Context. in templates. Here's an example of its Velocity use:

`$link.setPage("index.vm").addPathInfo("hello","world") This would return: http://foo.com/Turbine/template/index.vm/hello/world`

This is an application pull tool for the template system. You should not use it in a normal application!

Version:
  $Id: TemplateLink.java 1129102 2011-05-30 10:01:17Z tv $
Author:
  Dave Bryson, Jon S. Stevens, Henning P. Schmiedehausen, Quinton McCombs, Peter Courcoux

Field Summary
`protected String` | `template` cache of the template name for getPage()
`static String` | `TEMPLATE_LINK_PREFIX` Prefix for Parameters for this tool
`static boolean` | `TEMPLATE_LINK_RELATIVE_DEFAULT` Default Value for TEMPLATE_LINK_RELATIVE_KEY
`static String` | `TEMPLATE_LINK_RELATIVE_KEY` Should this tool return relative URIs or absolute?
`protected TemplateURI` | `templateURI` TemplateURI used as backend for this object
`protected boolean` | `wantRelative` Do we want a relative link?

Constructor Summary
`TemplateLink()` Default constructor The init method must be called before use.

Method Summary
`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.
`TemplateLink` | `addPathInfo(String name, double value)` Adds a name=value pair to the path_info string.
`TemplateLink` | `addPathInfo(String name, int value)` Adds a name=value pair to the path_info string.
`TemplateLink` | `addPathInfo(String name, long value)` Adds a name=value pair to the path_info string.
`TemplateLink` | `addPathInfo(String name, Object value)` Adds a name=value pair to the path_info string.
`TemplateLink` | `addPathInfo(String name, String value)` Adds a name=value pair to the path_info string.
`TemplateLink` | `addQueryData(org.apache.fulcrum.parser.ParameterParser pp)` Adds a name=value pair for every entry in a ParameterParser object to the query string.
`TemplateLink` | `addQueryData(String name, double value)` Adds a name=value pair to the query string.
`TemplateLink` | `addQueryData(String name, int value)` Adds a name=value pair to the query string.
`TemplateLink` | `addQueryData(String name, long value)` Adds a name=value pair to the query string.
`TemplateLink` | `addQueryData(String name, Object value)` Adds a name=value pair to the query string.
`TemplateLink` | `addQueryData(String name, String value)` Adds a name=value pair to the query string.
`String` | `getAbsoluteLink()` Builds the URL with all of the data URL-encoded as well as encoded using HttpServletResponse.encodeUrl().
`String` | `getAbsoluteURI()` Returns the absolute URI leaving the source intact.
`String` | `getLink()` Returns the URI.
`String` | `getPage()` Gets the template variable used by the Template Service.
`String` | `getReference()` Returns the current reference anchor.
`String` | `getRelativeLink()` Builds the URL with all of the data URL-encoded as well as encoded using HttpServletResponse.encodeUrl().
`String` | `getRelativeURI()` Returns the relative URI leaving the source intact.
`String` | `getURI()` Returns the relative URI leaving the source intact.
`void` | `init(Object data)` This will initialise a TemplateLink object that was constructed with the default constructor (ApplicationTool method).
`void` | `refresh()` Refresh method - does nothing
`TemplateLink` | `removePathInfo()` Removes all the path info elements.
`TemplateLink` | `removePathInfo(String name)` Removes a name=value pair from the path info.
`TemplateLink` | `removeQueryData()` Removes all the query string elements.
`TemplateLink` | `removeQueryData(String name)` Removes a name=value pair from the query string.
`TemplateLink` | `setAction(String action)` Sets the action= value for this URL.
`TemplateLink` | `setActionEvent(String action, String event)` Sets the action= and eventSubmit= values for this URL.
`TemplateLink` | `setEncodeURLOff()` This will turn off the execution of res.encodeURL() by making res == null.
`TemplateLink` | `setPage(String template)` Sets the template variable used by the Template Service.
`TemplateLink` | `setReference(String reference)` Sets a reference anchor (#ref).
`TemplateLink` | `setScreen(String screen)` Sets the screen= value for this URL.
`String` | `toString()` Same as getLink().

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

Field Detail

### TEMPLATE_LINK_PREFIX

    public static final String TEMPLATE_LINK_PREFIX

  Prefix for Parameters for this tool

  See Also:
    Constant Field Values

### TEMPLATE_LINK_RELATIVE_KEY

    public static final String TEMPLATE_LINK_RELATIVE_KEY

  Should this tool return relative URIs or absolute? Default: Absolute.

  See Also:
    Constant Field Values

### TEMPLATE_LINK_RELATIVE_DEFAULT

    public static final boolean TEMPLATE_LINK_RELATIVE_DEFAULT

  Default Value for TEMPLATE_LINK_RELATIVE_KEY

  See Also:
    Constant Field Values

### wantRelative

    protected boolean wantRelative

  Do we want a relative link?

### template

    protected String template

  cache of the template name for getPage()

### templateURI

    protected TemplateURI templateURI

  TemplateURI used as backend for this object

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 initialise a TemplateLink object that was constructed with the default constructor (ApplicationTool method).

  Specified by:
    `init` in interface `ApplicationTool`
  Parameters:
    `data` - assumed to be a RunData object

### refresh

    public void refresh()

  Refresh method - does nothing

  Specified by:
    `refresh` in interface `ApplicationTool`

### 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()

  Removes all the path info elements.

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

  Removes all the query string elements.

  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 absoluteLink() 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.

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.