org.apache.tapestry.link
Class DirectLink

java.lang.Object
  extended by org.apache.hivemind.impl.BaseLocatable
      extended by org.apache.tapestry.AbstractComponent
          extended by org.apache.tapestry.link.AbstractLinkComponent
              extended by org.apache.tapestry.link.DirectLink
All Implemented Interfaces:
org.apache.hivemind.Locatable, org.apache.hivemind.LocationHolder, ILinkComponent, IComponent, IDirect, IDirectEvent, IDynamicInvoker, Component, 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 ]


Field Summary
 
Fields inherited from class org.apache.tapestry.AbstractComponent
_body, _bodyCount
 
Constructor Summary
DirectLink()
           
 
Method Summary
static Object[] constructServiceParameters(Object parameterValue)
          Converts a service parameters value to an array of objects.
abstract  IEngineService getEngine()
          Injected.
 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  ListenerInvoker getListenerInvoker()
          Injected.
abstract  Object getParameters()
           
abstract  IScript getScript()
          Injected.
abstract  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, getRenderer, isDisabled, renderAdditionalAttributes, renderComponent, setRenderer, writeEventHandler, writeEventHandlers
 
Methods inherited from class org.apache.tapestry.AbstractComponent
addAsset, addBody, addComponent, checkActiveLock, enterActiveState, equals, finishLoad, generateClientId, getAsset, getAssets, getBeans, getBinding, getBindingNames, getBindings, getBody, getBodyCount, getBoundId, getClientId, getComponent, getComponents, getContainedComponent, getContainedRenderers, getContainer, getEventInvoker, getExtendedId, getId, getIdPath, getInnerRenderers, getListeners, getMessages, getNamespace, getPage, getRenderWorker, getSpecification, getSpecifiedId, getTemplateTagName, hasEvents, hashCode, isInActiveState, isParameterBound, isRendering, pageEndRender, peekClientId, prepareForRender, render, renderBody, renderIdAttribute, renderInformalParameters, setBinding, setClientId, setContainedComponent, setContainer, setHasEvents, setId, setNamespace, setPage, setTemplateTagName, toString, triggerEvent
 
Methods inherited from class org.apache.hivemind.impl.BaseLocatable
getLocation, setLocation
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.tapestry.IComponent
addAsset, addBody, addComponent, enterActiveState, finishLoad, getAsset, getAssets, getBeans, getBinding, getBindingNames, getBindings, getClientId, getComponent, getComponents, getContainedComponent, getContainer, getEventInvoker, getExtendedId, getId, getIdPath, getListeners, getMessages, getNamespace, getPage, getSpecification, getSpecifiedId, getTemplateTagName, isRendering, peekClientId, renderBody, setBinding, setClientId, setContainedComponent, setContainer, setId, setNamespace, setPage, setTemplateTagName
 
Methods inherited from interface org.apache.tapestry.IRender
render
 
Methods inherited from interface org.apache.hivemind.LocationHolder
setLocation
 
Methods inherited from interface org.apache.hivemind.Locatable
getLocation
 
Methods inherited from interface org.apache.tapestry.IDynamicInvoker
getUpdateComponents, isAsync, isJson
 
Methods inherited from interface org.apache.tapestry.components.ILinkComponent
getPort, getScheme, getTarget
 

Constructor Detail

DirectLink

public DirectLink()
Method Detail

getListener

public abstract IActionListener getListener()

isStateful

public abstract boolean isStateful()
Returns true if the stateful parameter is bound to a true value. If stateful is not bound, also returns the default, true.

Specified by:
isStateful in interface IDirect
Specified by:
isStateful in interface IDirectEvent
Overrides:
isStateful in class AbstractComponent
Returns:
Whether or not invocation should include state information and validate that a valid session exists when triggered.

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
Parameters:
cycle - The current request.
Returns:
A ILink instance representing the link information for this component.

constructServiceParameters

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

Parameters:
parameterValue - the input value which may be
  • null (returns null)
  • An array of Object (returns the array)
  • A Collection(returns an array of the values in the Collection})
  • 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. If the listener parameter is not bound, attempt to locate an implicit listener named by the capitalized component id, prefixed by "do".

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

getParameters

public abstract Object getParameters()
Since:
2.2 *

getListenerInvoker

public abstract ListenerInvoker getListenerInvoker()
Injected.

Since:
4.0

getEngine

public abstract IEngineService getEngine()
Injected.

Since:
4.1

getScript

public abstract IScript getScript()
Injected.

Returns:
The script to process asynchronous connection hookups.


Copyright © 2006-2008 Apache Software Foundation. All Rights Reserved.