org.apache.tapestry.link
Class DirectLink

java.lang.Object
  extended by org.apache.tapestry.spec.BaseLocatable
      extended by org.apache.tapestry.AbstractComponent
          extended by org.apache.tapestry.link.AbstractLinkComponent
              extended by org.apache.tapestry.link.DirectLink
All Implemented Interfaces:
ILinkComponent, IComponent, IDirect, ILocatable, ILocationHolder, IRender

public abstract class DirectLink
extends AbstractLinkComponent
implements IDirect

A component for creating a link using the direct service; used for actions that are not dependant on dynamic page state. [Component Reference]

Version:
$Id: DirectLink.java 243791 2004-02-19 17:38:13Z hlship $
Author:
Howard Lewis Ship

Constructor Summary
DirectLink()
           
 
Method Summary
static Object[] constructServiceParameters(Object parameterValue)
          Converts a service parameters value to an array of objects.
 ILink getLink(IRequestCycle cycle)
          Invoked by the ILinkRenderer (if the link is not disabled) to provide a EngineServiceLink that the renderer can convert into a URL.
abstract  IActionListener getListener()
           
abstract  Object getParameters()
           
abstract  IBinding getStatefulBinding()
           
 boolean isStateful()
          Returns true if the stateful parameter is bound to a true value.
 void trigger(IRequestCycle cycle)
          Invoked by the direct service to trigger the application-specific action by notifying the listener.
 
Methods inherited from class org.apache.tapestry.link.AbstractLinkComponent
addEventHandler, cleanupAfterRender, finishLoad, getAnchor, getLink, getRenderer, isDisabled, renderAdditionalAttributes, renderComponent, setRenderer, writeEventHandler, writeEventHandlers
 
Methods inherited from class org.apache.tapestry.AbstractComponent
addAsset, addBody, addComponent, finishLoad, fireObservedChange, fireObservedChange, fireObservedChange, fireObservedChange, fireObservedChange, fireObservedChange, fireObservedChange, fireObservedChange, fireObservedChange, format, format, format, format, formatString, formatString, formatString, formatString, generateAttributes, getAsset, getAssets, getBeans, getBinding, getBindingNames, getBindings, getBody, getBodyCount, getChangeObserver, getComponent, getComponents, getContainer, getExtendedId, getId, getIdPath, getListeners, getMessage, getMessages, getNamespace, getPage, getProperty, getSpecification, getString, pageEndRender, prepareForRender, render, renderBody, renderInformalParameters, setBinding, setContainer, setId, setNamespace, setPage, setProperty, setSpecification, toString
 
Methods inherited from class org.apache.tapestry.spec.BaseLocatable
getLocation, setLocation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.tapestry.IComponent
addAsset, addBody, addComponent, finishLoad, getAsset, getAssets, getBinding, getBindingNames, getBindings, getComponent, getComponents, getContainer, getExtendedId, getId, getIdPath, getMessage, getMessages, getNamespace, getPage, getProperty, getSpecification, getString, renderBody, setBinding, setContainer, setId, setNamespace, setPage, setProperty, setSpecification
 
Methods inherited from interface org.apache.tapestry.IRender
render
 
Methods inherited from interface org.apache.tapestry.ILocationHolder
setLocation
 
Methods inherited from interface org.apache.tapestry.ILocatable
getLocation
 

Constructor Detail

DirectLink

public DirectLink()
Method Detail

getStatefulBinding

public abstract IBinding getStatefulBinding()

getListener

public abstract IActionListener getListener()

isStateful

public boolean isStateful()
Returns true if the stateful parameter is bound to a true value. If stateful is not bound, also returns the default, true. May be invoked when not renderring.

Specified by:
isStateful in interface IDirect

getLink

public ILink getLink(IRequestCycle cycle)
Description copied from interface: ILinkComponent
Invoked by the ILinkRenderer (if the link is not disabled) to provide a EngineServiceLink that the renderer can convert into a URL.

Specified by:
getLink in interface ILinkComponent
Overrides:
getLink in class AbstractLinkComponent

constructServiceParameters

public static Object[] constructServiceParameters(Object parameterValue)
Converts a service parameters value to an array of objects. This is used by the DirectLink, ServiceLink and ExternalLink components.

Parameters:
parameterValue - the input value which may be
  • null (returns null)
  • An array of Object (returns the array)
  • A List (returns an array of the values in the List})
  • A single object (returns the object as a single-element array)
Returns:
An array representation of the input object.
Since:
2.2

trigger

public void trigger(IRequestCycle cycle)
Invoked by the direct service to trigger the application-specific action by notifying the listener.

Specified by:
trigger in interface IDirect
Throws:
StaleSessionException - if the component is stateful, and the session is new.

getParameters

public abstract Object getParameters()
Since:
2.2