<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- $Id$ --> 
<html>
<head>
<title>GenericLink</title>
<link rel="stylesheet" type="text/css" href="Tapestry.css" title="style">
</head>

<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
 <tr>
  <td align="left"><A href="Frame.html"><IMG alt=Frame src="common-images/prev.png"></a></td>  
  <td align="middle"><A href="index.html"><IMG alt="Component Index" src="common-images/home.png" ></a></td>  
  <td align="right"><A href="Hidden.html"><IMG alt=Hidden src="common-images/next.png"></a></td>  
 <tr>
 <tr>
  <td colspan="3"><hr></td>  
 </tr>
 <tr>
  <td colspan="3">
   <table border="0" cellpadding="4" cellspacing="4" width="100%">

<tr valign="top">
 <td>
  <table>
	 <tr>
	  <td><font size="+2"><b>GenericLink</b></font></td>
	 </tr>
	 <tr>
	  <td>
		 <A href="../api/org/apache/tapestry/link/GenericLink.html">
		 org.apache.tapestry.link.GenericLink</a>
		</td>
	 </tr>
  </table>
 </td>
 <td>
  <table align="right" valign="middle" bgcolor="#c0c0c0" cellpadding="8">
	 <tr>
	  <td><A href="GenericLink.html"><font color="blue">Generic Link</font></a></td>
	 </tr>
  </table>
 </td>
</tr>

<tr valign="center">
 <td colspan="2">&nbsp;</td>
</tr>

<tr>
 <td colspan="2">
  <b>Description</b>
	<br>
  Creates a HTML &lt;a&gt; hyperlink for an arbitrary URL. 
  <p>
  Although a GenericLink can be 
  accomplished using an <A href="Any.html">Any</a> component, a GenericLink is 
  more flexible: it can be disabled, like a <A href="DirectLink.html">DirectLink</a> or 
  <a href="ActionLink.html">ActionLink</a> and can also wrap around 
  <A href="Rollover.html">Rollover</a> components. GenericLinks 
            are often used with javascript: URLs to perform client-side 
            scripting.</p>
            
 </td>
</tr>

<tr>
 <td colspan="2">
  <b>See Also</b>
	<br>
	<a href="ActionLink.html">ActionLink</a>, 
  <A href="DirectLink.html">DirectLink</a>,
	<A href="ExternalLink.html">ExternalLink</a>, 
  <a href="PageLink.html">PageLink</a>,
  <A href="Rollover.html">Rollover</a>,
  <a href="ServiceLink.html">ServiceLink</a>
 </td>
</tr>

<tr>
 <td colspan="2">
  <b>Parameters</b>
	<br>
  <table border="1" cellpadding="4" cellspacing="4" class="parameters">
  <tr> 
    <th>Name</th>
    <th>Type</th>
	  <th>Direction</th>
    <th>Required</th> 
    <th>Default</th>
    <th>Description</th>
  </tr>
  <tr>
    <td>href</td>
    <td>String</td>
    <td>in</td>
   	<td>yes</td>
		<td>&nbsp;</td>
		<td>The URL to trigger when the link is clicked. This is often of the form:
    <br>&lt;a href="javascript:functionName('param')"&gt;
    </td>
	</tr>
  <tr>
    <td>disabled</td>
    <td>boolean</td>
    <td>in</td>
   	<td>no</td>
		<td>false</td>
		<td>Controls whether the link is produced. If disabled, the portion of the 
    template the link surrounds is still rendered, but not the link itself.</td>
	</tr>
	
  <tr>
    <td>anchor</td>
    <td>String</td>
    <td>in</td>
   	<td>no</td>
		<td>&nbsp;</td>
		<td>
    The name of an anchor or element to link to. The final URL will have '#' 
    and the anchor appended to it.
    </td>
	</tr>
	
	<tr>
		<td>renderer</td>
		<td><a href="../api/org/apache/tapestry/link/ILinkRenderer.html">ILinkRenderer</a></td>
		<td>in</td>
		<td>no</td>
		<td>&nbsp;</td>
		<td>
		The object which will actually render the link.
			</td>
	</tr>	
	</table>
            <P>Body: <STRONG>rendered</STRONG><BR>Informal parameters: 
            <STRONG>allowed</STRONG>
    <br>
  Reserved 
            parameters: <EM>none</EM> </P>
    
 </td>
</tr>

<tr>
 <td colspan="2">
  <b>Examples</b>
	<p>
  This example is under construction.</p>
      
  
 </td></tr></table>
</td></tr>
<tr>
 <td colspan="3"><hr></td>  
</tr>
<tr>
 <td align="left"><A href="Frame.html"><IMG alt=Frame src="common-images/prev.png"></a></td>  
 <td align="middle"><A href="index.html"><IMG alt="Component Index" src="common-images/home.png" ></a></td>  
 <td align="right"><A href="Hidden.html"><IMG alt=Hidden src="common-images/next.png"></a></td>  
</tr>
</table>

</body>
</html>