blob: 896364a02398fd2d168c880f3fbdd6ff6920ea92 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- saved from url=(0014)about:internet -->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_19) on Sun Mar 20 20:56:37 PKT 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
LinkDecorator (Click Extras API - v2.3.0)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.click.extras.control.LinkDecorator class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="LinkDecorator (Click Extras API - v2.3.0)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/click/extras/control/IntegerField.html" title="class in org.apache.click.extras.control"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/click/extras/control/LongField.html" title="class in org.apache.click.extras.control"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/click/extras/control/LinkDecorator.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="LinkDecorator.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.click.extras.control</FONT>
<BR>
Class LinkDecorator</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.click.extras.control.LinkDecorator</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Decorator.html" title="class or interface in org.apache.click.control">Decorator</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>LinkDecorator</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Decorator.html" title="class or interface in org.apache.click.control">Decorator</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DL>
</PRE>
<P>
Provides a table column AbstractLink and ActionButton Decorator.
<table cellspacing='10'>
<tr>
<td>
<img align='middle' hspace='2'src='link-decorator.png' title='LinkDecorator'/>
</td>
</tr>
</table>
<h3>LinkDecorator Example</h3>
The example below uses a LinkDecorator to render the row ActionLinks in the
tables "Action" column.
<pre class="codeJava">
<span class="kw">public class</span> EditTable <span class="kw">extends</span> BorderPage {
<span class="kw">public</span> Table table = <span class="kw">new</span> Table();
<span class="kw">public</span> ActionLink editLink = <span class="kw">new</span> ActionLink(<span class="st">"edit"</span>, <span class="st">"Edit"</span>, <span class="kw">this</span>, <span class="st">"onEditClick"</span>);
<span class="kw">public</span> ActionLink deleteLink = <span class="kw">new</span> ActionLink(<span class="st">"delete"</span>, <span class="st">"Delete"</span>, <span class="kw">this</span>, <span class="st">"onDeleteClick"</span>);
public EditTable() {
table.addColumn(<span class="kw">new</span> Column(<span class="st">"name"</span>));
table.addColumn(<span class="kw">new</span> Column(<span class="st">"email"</span>));
table.addColumn(<span class="kw">new</span> Column(<span class="st">"holdings"</span>));
table.addColumn(<span class="kw">new</span> Column(<span class="st">"dateJoined"</span>));
Column column = <span class="kw">new</span> Column(<span class="st">"Action"</span>);
ActionLink[] links = <span class="kw">new</span> ActionLink[]{editLink, deleteLink};
column.setDecorator(<span class="kw">new</span> LinkDecorator(table, links, <span class="st">"id"</span>));
table.addColumn(column);
deleteLink.setAttribute(<span class="st">"onclick"</span>, <span class="st">"return window.confirm('Please confirm delete');"</span>);
}
<span class="kw">public boolean</span> onEditClick() {
Integer id = editLink.getValueInteger();
Customer customer = getCustomerService().getCustomer(id);
..
}
<span class="kw">public boolean</span> onDeleteClick() {
Integer id = deleteLink.getValueInteger();
getCustomerService().deleteCustomer(id);
<span class="kw">return true</span>;
}
<span class="kw">public void</span> onRender() {
List customers = getCustomerService().getCustomersSortedByName(12);
table.setRowList(customers);
}
} </pre>
The LinkDecorator class automatically supports table paging.
<p/>
<h3>Multiple parameters</h3>
On rare occasions it is useful to add extra parameters or even replace the
default parameter.
<p/>
In such cases you can override the methods
<A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#renderActionLink(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.AbstractLink, org.apache.click.Context, java.lang.Object, java.lang.Object)"><CODE>renderActionLink</CODE></A>
or <A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#renderActionButton(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.ActionButton, org.apache.click.Context, java.lang.Object, java.lang.Object)"><CODE>renderActionButton</CODE></A>.
<p/>
In the example below we want to send both the <tt>state</tt> and <tt>postCode</tt>
parameters to the <tt>AddressPage</tt>:
<pre class="prettyprint">
public class SelectPostCode extends BorderPage {
private Table table = new Table("table");
public SelectPostCode() {
...
PageLink selectPostCode = new PageLink("select", AddressPage.class);
Column action = new Column("action");
String idProperty = "postCode";
LinkDecorator decorator = new LinkDecorator(table, selectPostCode, idProperty) {
protected void renderActionLink(HtmlStringBuffer buffer, AbstractLink link, Context context, Object row, Object value) {
// We want to add the PostCode "state" as an extra parameter
// to the action link
link.setParameter("state", ((PostCode) row).getState());
// You can manipulate the link parameters as needed, and
// even remove the default idProperty parameter.
// Object currentValue = link.getParameters().remove(this.idProperty);
// NB we invoke the super implementation here for default rendering to continue
super.renderActionLink(buffer, link, context, row, value);
}
}
action.setDecorator(decorator);
table.addColumn(action);
};
public void onRender() {
table.setRowList(getPostCodeService().getPostCodes());
}
} </pre>
In the above example the LinkDecorator will extract the idProperty value ("state")
for each object in the table.
The PageLinks will render as follows:
<pre class="prettyprint">
&lt;a href="/mycorp/address-page.htm?postCode=6089&state=NSW&gt;Select&lt;/a&gt;
</pre>
<p/>
This class was inspired by Richardo Lecheta's <tt>ViewDecorator</tt> design
pattern.
<P>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/ActionLink.html" title="class or interface in org.apache.click.control"><CODE>ActionLink</CODE></A>,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/PageLink.html" title="class or interface in org.apache.click.control"><CODE>PageLink</CODE></A>,
<A HREF="../../../../../serialized-form.html#org.apache.click.extras.control.LinkDecorator">Serialized Form</A></DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/ActionButton.html" title="class or interface in org.apache.click.control">ActionButton</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#buttonsArray">buttonsArray</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The array of ActionButtons to render.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#idProperty">idProperty</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The row object identifier property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/AbstractLink.html" title="class or interface in org.apache.click.control">AbstractLink</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#linksArray">linksArray</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The array of AbstractLinks to render.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#linkSeparator">linkSeparator</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The link separator string, default value is <tt>" | "</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&lt;?,?&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#methodCache">methodCache</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The method cached for rendering column values.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#parameterName">parameterName</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An optional parameter name for the <A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#idProperty"><CODE>idProperty</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#table">table</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The table to render the links for.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink[], java.lang.String)">LinkDecorator</A></B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A>&nbsp;table,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/AbstractLink.html" title="class or interface in org.apache.click.control">AbstractLink</A>[]&nbsp;links,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;idProperty)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new AbstractLink table column Decorator with the given
AbstractLinks array and row object identifier property name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink[], java.lang.String, java.lang.String)">LinkDecorator</A></B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A>&nbsp;table,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/AbstractLink.html" title="class or interface in org.apache.click.control">AbstractLink</A>[]&nbsp;links,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;idProperty,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;parameterName)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new AbstractLink table column Decorator with the given
AbstractLinks array, <tt>row object identifier</tt> property name and
<tt>parameter name</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink, java.lang.String)">LinkDecorator</A></B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A>&nbsp;table,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/AbstractLink.html" title="class or interface in org.apache.click.control">AbstractLink</A>&nbsp;link,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;idProperty)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new AbstractLink table column Decorator with the given actionLink
and row object identifier property name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#LinkDecorator(org.apache.click.control.Table, org.apache.click.control.ActionButton[], java.lang.String)">LinkDecorator</A></B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A>&nbsp;table,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/ActionButton.html" title="class or interface in org.apache.click.control">ActionButton</A>[]&nbsp;buttons,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;idProperty)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new ActionButton table column Decorator with the given
ActionButtons array and row object identifier property name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#LinkDecorator(org.apache.click.control.Table, org.apache.click.control.ActionButton[], java.lang.String, java.lang.String)">LinkDecorator</A></B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A>&nbsp;table,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/ActionButton.html" title="class or interface in org.apache.click.control">ActionButton</A>[]&nbsp;buttons,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;idProperty,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;parameterName)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new ActionButton table column Decorator with the given
ActionButton array, <tt>row object identifier</tt> property name and
<tt>parameter name</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#LinkDecorator(org.apache.click.control.Table, org.apache.click.control.ActionButton, java.lang.String)">LinkDecorator</A></B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A>&nbsp;table,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/ActionButton.html" title="class or interface in org.apache.click.control">ActionButton</A>&nbsp;button,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;idProperty)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new AbstractLink table column Decorator with the given
ActionButton and row object identifier property name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#LinkDecorator(org.apache.click.control.Table, java.util.List, java.lang.String)">LinkDecorator</A></B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A>&nbsp;table,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;? extends <A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/AbstractControl.html" title="class or interface in org.apache.click.control">AbstractControl</A>&gt;&nbsp;controls,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;idProperty)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new table column Decorator with the given list of AbstractLinks
or ActionButtons and row object identifier property name.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#getLinkSeparator()">getLinkSeparator</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the link separator string.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#initButton(org.apache.click.control.ActionButton, org.apache.click.Context, java.lang.Object)">initButton</A></B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/ActionButton.html" title="class or interface in org.apache.click.control">ActionButton</A>&nbsp;button,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/Context.html" title="class or interface in org.apache.click">Context</A>&nbsp;context,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize the button value and parameters.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#initLink(org.apache.click.control.AbstractLink, org.apache.click.Context, java.lang.Object)">initLink</A></B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/AbstractLink.html" title="class or interface in org.apache.click.control">AbstractLink</A>&nbsp;link,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/Context.html" title="class or interface in org.apache.click">Context</A>&nbsp;context,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize the link value and parameters.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#render(java.lang.Object, org.apache.click.Context)">render</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;row,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/Context.html" title="class or interface in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the given row object using the links or buttons.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#renderActionButton(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.ActionButton, org.apache.click.Context, java.lang.Object, java.lang.Object)">renderActionButton</A></B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/util/HtmlStringBuffer.html" title="class or interface in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/ActionButton.html" title="class or interface in org.apache.click.control">ActionButton</A>&nbsp;button,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/Context.html" title="class or interface in org.apache.click">Context</A>&nbsp;context,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;row,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the button to the specified buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#renderActionButtons(java.lang.Object, org.apache.click.Context)">renderActionButtons</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;row,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/Context.html" title="class or interface in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the given row object using the actionButtons array.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#renderActionLink(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.AbstractLink, org.apache.click.Context, java.lang.Object, java.lang.Object)">renderActionLink</A></B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/util/HtmlStringBuffer.html" title="class or interface in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/AbstractLink.html" title="class or interface in org.apache.click.control">AbstractLink</A>&nbsp;link,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/Context.html" title="class or interface in org.apache.click">Context</A>&nbsp;context,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;row,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the link to the specified buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#renderActionLinks(java.lang.Object, org.apache.click.Context)">renderActionLinks</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;row,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/Context.html" title="class or interface in org.apache.click">Context</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Render the given row object using the actionLinks array.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#setLinkSeparator(java.lang.String)">setLinkSeparator</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the link separator string with the given value.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="idProperty"><!-- --></A><H3>
idProperty</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>idProperty</B></PRE>
<DL>
<DD>The row object identifier property.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="linksArray"><!-- --></A><H3>
linksArray</H3>
<PRE>
protected <A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/AbstractLink.html" title="class or interface in org.apache.click.control">AbstractLink</A>[] <B>linksArray</B></PRE>
<DL>
<DD>The array of AbstractLinks to render.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="buttonsArray"><!-- --></A><H3>
buttonsArray</H3>
<PRE>
protected <A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/ActionButton.html" title="class or interface in org.apache.click.control">ActionButton</A>[] <B>buttonsArray</B></PRE>
<DL>
<DD>The array of ActionButtons to render.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="linkSeparator"><!-- --></A><H3>
linkSeparator</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>linkSeparator</B></PRE>
<DL>
<DD>The link separator string, default value is <tt>" | "</tt>.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="table"><!-- --></A><H3>
table</H3>
<PRE>
protected <A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A> <B>table</B></PRE>
<DL>
<DD>The table to render the links for.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="methodCache"><!-- --></A><H3>
methodCache</H3>
<PRE>
protected transient <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&lt;?,?&gt; <B>methodCache</B></PRE>
<DL>
<DD>The method cached for rendering column values.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="parameterName"><!-- --></A><H3>
parameterName</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>parameterName</B></PRE>
<DL>
<DD>An optional parameter name for the <A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#idProperty"><CODE>idProperty</CODE></A>.
<P>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink, java.lang.String)"><!-- --></A><H3>
LinkDecorator</H3>
<PRE>
public <B>LinkDecorator</B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A>&nbsp;table,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/AbstractLink.html" title="class or interface in org.apache.click.control">AbstractLink</A>&nbsp;link,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;idProperty)</PRE>
<DL>
<DD>Create a new AbstractLink table column Decorator with the given actionLink
and row object identifier property name.
<p/>
Example usage of this constructor:
<pre class="prettyprint">
Table table = new Table("table");
public void onInit() {
... // setup other columns
ActionLink selectState = new ActionLink("select");
Column action = new Column("action");
String idProperty = "state";
LinkDecorator decorator = new LinkDecorator(table, selectState, idProperty);
action.setDecorator(decorator);
table.addColumn(action);
...
}
public void onRender() {
// Populate the table rows with post code instances
table.setRowList(getPostCodeService().getPostCodes());
} </pre>
In the above example the LinkDecorator will extract the idProperty value
("state") from each PostCode instance in the table.
<p/>
The idProperty value will also be used as the <tt>name</tt> of the
request parameter. In this example the idProperty value is "state" thus
the request parameter name will also be "state".
<p/>
For the PostCode "NSW" the PageLink will render as follows:
<pre class="prettyprint">
&lt;a href="/mycorp/postcodes.htm?state=NSW&gt;Select&lt;/a&gt; </pre>
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>table</CODE> - the table to render the links for<DD><CODE>link</CODE> - the AbstractLink to render<DD><CODE>idProperty</CODE> - the row object identifier property name</DL>
</DL>
<HR>
<A NAME="LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink[], java.lang.String)"><!-- --></A><H3>
LinkDecorator</H3>
<PRE>
public <B>LinkDecorator</B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A>&nbsp;table,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/AbstractLink.html" title="class or interface in org.apache.click.control">AbstractLink</A>[]&nbsp;links,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;idProperty)</PRE>
<DL>
<DD>Create a new AbstractLink table column Decorator with the given
AbstractLinks array and row object identifier property name.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>table</CODE> - the table to render the links for<DD><CODE>links</CODE> - the array of AbstractLinks to render<DD><CODE>idProperty</CODE> - the row object identifier property name<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink, java.lang.String)"><CODE>LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink, java.lang.String)</CODE></A></DL>
</DL>
<HR>
<A NAME="LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink[], java.lang.String, java.lang.String)"><!-- --></A><H3>
LinkDecorator</H3>
<PRE>
public <B>LinkDecorator</B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A>&nbsp;table,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/AbstractLink.html" title="class or interface in org.apache.click.control">AbstractLink</A>[]&nbsp;links,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;idProperty,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;parameterName)</PRE>
<DL>
<DD>Create a new AbstractLink table column Decorator with the given
AbstractLinks array, <tt>row object identifier</tt> property name and
<tt>parameter name</tt>.
<p/>
When the link is rendered, the <tt>parameter name</tt> is set as the
<tt>row object identifier</tt> parameter. For example:
<pre class="prettyprint">
// PageLink links to a Page where customers can be edited -> EditCustomerPage
PageLink editLink = new PageLink("edit", EditCustomerPage.class);
AbstractLink[] actions = new AbstractLink[] {editLink};
Column column = new Column("id");
table.addColumn(column);
column.setDecorator(new LinkDecorator(table, actions, "id", "idParam")); </pre>
If the table displayed a list of customers, the customer with <tt>id</tt>,
<tt>"123"</tt>, will render the following editLink:
<pre class="codeHtml">
&lt;a href="/mycorp/edit-customer.htm?<span class="red">idParam=123</span>"&gt;edit&lt;/a&gt; </pre>
If the <tt>parameter name</tt> was not specified the <tt>row object identifier</tt>
parameter will default to the given <tt>idProperty</tt>, in this case <tt>"id"</tt>:
<pre class="codeHtml">
&lt;a href="/mycorp/edit-customer.htm?<span class="red">id=123</span>"&gt;edit&lt;/a&gt; </pre>
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>table</CODE> - the table to render the links for<DD><CODE>links</CODE> - the array of AbstractLinks to render<DD><CODE>idProperty</CODE> - the row object identifier property name<DD><CODE>parameterName</CODE> - a parameter name for the row object identifier<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink, java.lang.String)"><CODE>LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink, java.lang.String)</CODE></A></DL>
</DL>
<HR>
<A NAME="LinkDecorator(org.apache.click.control.Table, org.apache.click.control.ActionButton, java.lang.String)"><!-- --></A><H3>
LinkDecorator</H3>
<PRE>
public <B>LinkDecorator</B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A>&nbsp;table,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/ActionButton.html" title="class or interface in org.apache.click.control">ActionButton</A>&nbsp;button,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;idProperty)</PRE>
<DL>
<DD>Create a new AbstractLink table column Decorator with the given
ActionButton and row object identifier property name.
The default linkSeparator for buttons is <tt>" "</tt>.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>table</CODE> - the table to render the links for<DD><CODE>button</CODE> - the ActionButton to render<DD><CODE>idProperty</CODE> - the row object identifier property name<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink, java.lang.String)"><CODE>LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink, java.lang.String)</CODE></A></DL>
</DL>
<HR>
<A NAME="LinkDecorator(org.apache.click.control.Table, org.apache.click.control.ActionButton[], java.lang.String, java.lang.String)"><!-- --></A><H3>
LinkDecorator</H3>
<PRE>
public <B>LinkDecorator</B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A>&nbsp;table,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/ActionButton.html" title="class or interface in org.apache.click.control">ActionButton</A>[]&nbsp;buttons,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;idProperty,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;parameterName)</PRE>
<DL>
<DD>Create a new ActionButton table column Decorator with the given
ActionButton array, <tt>row object identifier</tt> property name and
<tt>parameter name</tt>.
<p/>
When the button is rendered, the <tt>parameter name</tt> is set as the
<tt>row object identifier</tt> parameter. For example:
<pre class="prettyprint">
// PageButton links to a Page where customers can be edited -> EditCustomerPage
PageButton editButton = new PageButton("edit", EditCustomerPage.class);
ActionButton[] actions = new ActionButton[] {editButton};
Column column = new Column("id");
table.addColumn(column);
column.setDecorator(new LinkDecorator(table, actions, "id", "idParam")); </pre>
If the table displayed a list of customers, the customer with <tt>id</tt>,
<tt>"123"</tt>, will render the following editButton:
<pre class="codeHtml">
&lt;input onclick="javascript:document.location.href='/mycorp/edit-customer.htm?actionButton=edit&value=123&<span class="red">idParam=123</span>';"/&gt; </pre>
If the <tt>parameter name</tt> was not specified the <tt>row object identifier</tt>
parameter will default to <A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/ActionButton.html#VALUE" title="class or interface in org.apache.click.control">"value"</A>:
<pre class="codeHtml">
&lt;input onclick="javascript:document.location.href='/mycorp/edit-customer.htm?actionButton=edit&amp;<span class="red">value=123</span>';"/&gt; </pre>
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>table</CODE> - the table to render the buttons for<DD><CODE>buttons</CODE> - the array of ActionButtons to render<DD><CODE>idProperty</CODE> - the row object identifier property name<DD><CODE>parameterName</CODE> - a parameter name for the row object identifier<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#LinkDecorator(org.apache.click.control.Table, org.apache.click.control.ActionButton, java.lang.String)"><CODE>LinkDecorator(org.apache.click.control.Table, org.apache.click.control.ActionButton, java.lang.String)</CODE></A></DL>
</DL>
<HR>
<A NAME="LinkDecorator(org.apache.click.control.Table, org.apache.click.control.ActionButton[], java.lang.String)"><!-- --></A><H3>
LinkDecorator</H3>
<PRE>
public <B>LinkDecorator</B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A>&nbsp;table,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/ActionButton.html" title="class or interface in org.apache.click.control">ActionButton</A>[]&nbsp;buttons,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;idProperty)</PRE>
<DL>
<DD>Create a new ActionButton table column Decorator with the given
ActionButtons array and row object identifier property name.
The default linkSeparator for buttons is <tt>" "</tt>.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>table</CODE> - the table to render the links for<DD><CODE>buttons</CODE> - the array of ActionButtons to render<DD><CODE>idProperty</CODE> - the row object identifier property name<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink, java.lang.String)"><CODE>LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink, java.lang.String)</CODE></A></DL>
</DL>
<HR>
<A NAME="LinkDecorator(org.apache.click.control.Table, java.util.List, java.lang.String)"><!-- --></A><H3>
LinkDecorator</H3>
<PRE>
public <B>LinkDecorator</B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Table.html" title="class or interface in org.apache.click.control">Table</A>&nbsp;table,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;? extends <A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/AbstractControl.html" title="class or interface in org.apache.click.control">AbstractControl</A>&gt;&nbsp;controls,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;idProperty)</PRE>
<DL>
<DD>Create a new table column Decorator with the given list of AbstractLinks
or ActionButtons and row object identifier property name.
The default linkSeparator for buttons are <tt>" "</tt>.
<p/>
Please note you must provide either AbstractLink objects or ActionButton
objects in the controls array, but not a mixture of both.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>table</CODE> - the table to render the links for<DD><CODE>controls</CODE> - the list of AbstractLink or ActionButtons to render<DD><CODE>idProperty</CODE> - the row object identifier property name<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink, java.lang.String)"><CODE>LinkDecorator(org.apache.click.control.Table, org.apache.click.control.AbstractLink, java.lang.String)</CODE></A></DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="getLinkSeparator()"><!-- --></A><H3>
getLinkSeparator</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLinkSeparator</B>()</PRE>
<DL>
<DD>Return the link separator string. The default value is <tt>" | "</tt>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the link separator string.</DL>
</DD>
</DL>
<HR>
<A NAME="setLinkSeparator(java.lang.String)"><!-- --></A><H3>
setLinkSeparator</H3>
<PRE>
public void <B>setLinkSeparator</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;value)</PRE>
<DL>
<DD>Set the link separator string with the given value.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the link separator string value</DL>
</DD>
</DL>
<HR>
<A NAME="render(java.lang.Object, org.apache.click.Context)"><!-- --></A><H3>
render</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>render</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;row,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/Context.html" title="class or interface in org.apache.click">Context</A>&nbsp;context)</PRE>
<DL>
<DD>Render the given row object using the links or buttons.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Decorator.html#render(java.lang.Object, org.apache.click.Context)" title="class or interface in org.apache.click.control">render</A></CODE> in interface <CODE><A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Decorator.html" title="class or interface in org.apache.click.control">Decorator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>row</CODE> - the row object to render<DD><CODE>context</CODE> - the request context
<DT><B>Returns:</B><DD>the rendered links for the given row object and request context<DT><B>See Also:</B><DD><A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/Decorator.html#render(java.lang.Object, org.apache.click.Context)" title="class or interface in org.apache.click.control"><CODE>Decorator.render(java.lang.Object, org.apache.click.Context)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="renderActionLinks(java.lang.Object, org.apache.click.Context)"><!-- --></A><H3>
renderActionLinks</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>renderActionLinks</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;row,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/Context.html" title="class or interface in org.apache.click">Context</A>&nbsp;context)</PRE>
<DL>
<DD>Render the given row object using the actionLinks array.
<p/>
This method initializes each link in actionLinks array by invoking
<A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#initLink(org.apache.click.control.AbstractLink, org.apache.click.Context, java.lang.Object)"><CODE>initLink(org.apache.click.control.AbstractLink, org.apache.click.Context, java.lang.Object)</CODE></A>.
<p/>
This method also renders each link in the array by
invoking <A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#renderActionLink(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.AbstractLink, org.apache.click.Context, java.lang.Object, java.lang.Object)"><CODE>renderActionLink(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.AbstractLink, org.apache.click.Context, java.lang.Object, java.lang.Object)</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>row</CODE> - the row object to render<DD><CODE>context</CODE> - the request context
<DT><B>Returns:</B><DD>the rendered links for the given row object and request context</DL>
</DD>
</DL>
<HR>
<A NAME="renderActionButtons(java.lang.Object, org.apache.click.Context)"><!-- --></A><H3>
renderActionButtons</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>renderActionButtons</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;row,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/Context.html" title="class or interface in org.apache.click">Context</A>&nbsp;context)</PRE>
<DL>
<DD>Render the given row object using the actionButtons array.
<p/>
This method initializes each button in actionButtons array by invoking
<A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#initButton(org.apache.click.control.ActionButton, org.apache.click.Context, java.lang.Object)"><CODE>initButton(org.apache.click.control.ActionButton, org.apache.click.Context, java.lang.Object)</CODE></A>.
<p/>
This method also renders each button in the array by
invoking <A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#renderActionButton(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.ActionButton, org.apache.click.Context, java.lang.Object, java.lang.Object)"><CODE>renderActionButton(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.ActionButton, org.apache.click.Context, java.lang.Object, java.lang.Object)</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>row</CODE> - the row object to render<DD><CODE>context</CODE> - the request context
<DT><B>Returns:</B><DD>the rendered buttons for the given row object and request context</DL>
</DD>
</DL>
<HR>
<A NAME="renderActionLink(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.AbstractLink, org.apache.click.Context, java.lang.Object, java.lang.Object)"><!-- --></A><H3>
renderActionLink</H3>
<PRE>
protected void <B>renderActionLink</B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/util/HtmlStringBuffer.html" title="class or interface in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/AbstractLink.html" title="class or interface in org.apache.click.control">AbstractLink</A>&nbsp;link,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/Context.html" title="class or interface in org.apache.click">Context</A>&nbsp;context,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;row,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE>
<DL>
<DD>Render the link to the specified buffer.
<p/>
If this method is overridden to add extra parameters to the link,
remember to invoke <tt>super.renderActionLink</tt> so default rendering
can continue.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the specified buffer to render the link output to<DD><CODE>link</CODE> - the link to render<DD><CODE>context</CODE> - the request context<DD><CODE>row</CODE> - the table row being rendered<DD><CODE>value</CODE> - the value of the link</DL>
</DD>
</DL>
<HR>
<A NAME="renderActionButton(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.ActionButton, org.apache.click.Context, java.lang.Object, java.lang.Object)"><!-- --></A><H3>
renderActionButton</H3>
<PRE>
protected void <B>renderActionButton</B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/util/HtmlStringBuffer.html" title="class or interface in org.apache.click.util">HtmlStringBuffer</A>&nbsp;buffer,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/ActionButton.html" title="class or interface in org.apache.click.control">ActionButton</A>&nbsp;button,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/Context.html" title="class or interface in org.apache.click">Context</A>&nbsp;context,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;row,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE>
<DL>
<DD>Render the button to the specified buffer.
<p/>
If this method is overridden to add extra parameters to the button,
remember to invoke <tt>super.renderActionButton</tt> so default rendering
can continue.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the specified buffer to render the button output to<DD><CODE>button</CODE> - the button to render<DD><CODE>context</CODE> - the request context<DD><CODE>row</CODE> - the table row being rendered<DD><CODE>value</CODE> - the value of the button<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/click/extras/control/LinkDecorator.html#renderActionLink(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.AbstractLink, org.apache.click.Context, java.lang.Object, java.lang.Object)"><CODE>renderActionLink(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.AbstractLink, org.apache.click.Context, java.lang.Object, java.lang.Object)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="initLink(org.apache.click.control.AbstractLink, org.apache.click.Context, java.lang.Object)"><!-- --></A><H3>
initLink</H3>
<PRE>
protected void <B>initLink</B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/AbstractLink.html" title="class or interface in org.apache.click.control">AbstractLink</A>&nbsp;link,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/Context.html" title="class or interface in org.apache.click">Context</A>&nbsp;context,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE>
<DL>
<DD>Initialize the link value and parameters.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>link</CODE> - the link to initialize<DD><CODE>context</CODE> - the request context<DD><CODE>value</CODE> - the value of the link</DL>
</DD>
</DL>
<HR>
<A NAME="initButton(org.apache.click.control.ActionButton, org.apache.click.Context, java.lang.Object)"><!-- --></A><H3>
initButton</H3>
<PRE>
protected void <B>initButton</B>(<A HREF="http://click.apache.org/docs/click-api/org/apache/click/control/ActionButton.html" title="class or interface in org.apache.click.control">ActionButton</A>&nbsp;button,
<A HREF="http://click.apache.org/docs/click-api/org/apache/click/Context.html" title="class or interface in org.apache.click">Context</A>&nbsp;context,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE>
<DL>
<DD>Initialize the button value and parameters.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>button</CODE> - the button to initialize<DD><CODE>context</CODE> - the request context<DD><CODE>value</CODE> - the value of the button</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/click/extras/control/IntegerField.html" title="class in org.apache.click.extras.control"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/click/extras/control/LongField.html" title="class in org.apache.click.extras.control"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/click/extras/control/LinkDecorator.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="LinkDecorator.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<style type='text/css'>.str{color:#2A00FF;}.kwd{color:#7F0055;font-weight:bold;}.com{color:#3F7F5F;}.typ{color:#000;}.lit{color:#066;}.pun{color:#660;}.pln{color:#000;}.tag{color:#000099;font-weight:bold;}.atn{color:#009900;}.atv{color:#000;}.dec{color:#606;}pre.prettyprint{padding:1em;border:1px solid #888;overflow:auto;}@media print{.str{color:#2A00FF;}.kwd{color:#7F0055;font-weight:bold;}.com{color:#3F7F5F;font-style:italic;}.typ{color:#000;font-weight:bold;}.lit{color:#044;}.pun{color:#440;}.pln{color:#000;}.tag{color:#000099;font-weight:bold;}.atn{color:#009900;}.atv{color:#000;}}</style><script type='text/javascript'>var PR_keywords={};(function(){var CPP_KEYWORDS='abstract bool break case catch char class const '+'const_cast continue default delete deprecated dllexport dllimport do '+'double dynamic_cast else enum explicit extern false float for friend '+'goto if inline int long mutable naked namespace new noinline noreturn '+'nothrow novtable operator private property protected public register '+'reinterpret_cast return selectany short signed sizeof static '+'static_cast struct switch template this thread throw true try typedef '+'typeid typename union unsigned using declaration, directive uuid '+'virtual void volatile while typeof';var CSHARP_KEYWORDS='as base by byte checked decimal delegate descending '+'event finally fixed foreach from group implicit in interface internal '+'into is lock null object override orderby params readonly ref sbyte '+'sealed stackalloc string select uint ulong unchecked unsafe ushort var';var JAVA_KEYWORDS='package synchronized boolean implements import throws '+'instanceof transient extends final strictfp native super';var JSCRIPT_KEYWORDS='debugger export function with NaN Infinity';var PERL_KEYWORDS='require sub unless until use elsif BEGIN END';var PYTHON_KEYWORDS='and assert def del elif except exec global lambda '+'not or pass print raise yield False True None';var RUBY_KEYWORDS='then end begin rescue ensure module when undef next '+'redo retry alias defined';var SH_KEYWORDS='done fi';var KEYWORDS=[CPP_KEYWORDS,CSHARP_KEYWORDS,JAVA_KEYWORDS,JSCRIPT_KEYWORDS,PERL_KEYWORDS,PYTHON_KEYWORDS,RUBY_KEYWORDS,SH_KEYWORDS];for(var k=0;k<KEYWORDS.length;k++){var kw=KEYWORDS[k].split(' ');for(var i=0;i<kw.length;i++){if(kw[i]){PR_keywords[kw[i]]=true;}}}}).call(this);var PR_STRING='str';var PR_KEYWORD='kwd';var PR_COMMENT='com';var PR_TYPE='typ';var PR_LITERAL='lit';var PR_PUNCTUATION='pun';var PR_PLAIN='pln';var PR_TAG='tag';var PR_DECLARATION='dec';var PR_SOURCE='src';var PR_ATTRIB_NAME='atn';var PR_ATTRIB_VALUE='atv';var PR_TAB_WIDTH=8;function PR_isWordChar(ch){return(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z');}function PR_spliceArrayInto(inserted,container,containerPosition,countReplaced){inserted.unshift(containerPosition,countReplaced||0);try{container.splice.apply(container,inserted);}finally{inserted.splice(0,2);}}var REGEXP_PRECEDER_PATTERN=(function(){var preceders=['!','!=','!==','#','%','%=','&','&&','&&=','&=','(','*','*=','+=',',','-=','->','/','/=',':','::',';','<','<<','<<=','<=','=','==','===','>','>=','>>','>>=','>>>','>>>=','?','@','[','^','^=','^^','^^=','{','|','|=','||','||=','~','break','case','continue','delete','do','else','finally','instanceof','return','throw','try','typeof'];var pattern='(?:'+'(?:(?:^|[^0-9\.])\\.{1,3})|'+'(?:(?:^|[^\\+])\\+)|'+'(?:(?:^|[^\\-])-)';for(var i=0;i<preceders.length;++i){var preceder=preceders[i];if(PR_isWordChar(preceder.charAt(0))){pattern+='|\\b'+preceder;}else{pattern+='|'+preceder.replace(/([^=<>:&])/g,'\\$1');}}pattern+='|^)\\s*$';return new RegExp(pattern);})();var pr_amp=/&/g;var pr_lt=/</g;var pr_gt=/>/g;var pr_quot=/"/g;function PR_attribToHtml(str){return str.replace(pr_amp,'&amp;').replace(pr_lt,'&lt;').replace(pr_gt,'&gt;').replace(pr_quot,'&quot;');}function PR_textToHtml(str){return str.replace(pr_amp,'&amp;').replace(pr_lt,'&lt;').replace(pr_gt,'&gt;');}var pr_ltEnt=/&lt;/g;var pr_gtEnt=/&gt;/g;var pr_aposEnt=/&apos;/g;var pr_quotEnt=/&quot;/g;var pr_ampEnt=/&amp;/g;function PR_htmlToText(html){var pos=html.indexOf('&');if(pos<0){return html;}for(--pos;(pos=html.indexOf('&#',pos+1))>=0;){var end=html.indexOf(';',pos);if(end>=0){var num=html.substring(pos+3,end);var radix=10;if(num&&num.charAt(0)=='x'){num=num.substring(1);radix=16;}var codePoint=parseInt(num,radix);if(!isNaN(codePoint)){html=(html.substring(0,pos)+String.fromCharCode(codePoint)+html.substring(end+1));}}}return html.replace(pr_ltEnt,'<').replace(pr_gtEnt,'>').replace(pr_aposEnt,"'").replace(pr_quotEnt,'"').replace(pr_ampEnt,'&');}function PR_isRawContent(node){return'XMP'==node.tagName;}var PR_innerHtmlWorks=null;function PR_getInnerHtml(node){if(null===PR_innerHtmlWorks){var testNode=document.createElement('PRE');testNode.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));PR_innerHtmlWorks=!/</.test(testNode.innerHTML);}if(PR_innerHtmlWorks){var content=node.innerHTML;if(PR_isRawContent(node)){content=PR_textToHtml(content);}return content;}var out=[];for(var child=node.firstChild;child;child=child.nextSibling){PR_normalizedHtml(child,out);}return out.join('');}function PR_normalizedHtml(node,out){switch(node.nodeType){case 1:var name=node.tagName.toLowerCase();out.push('\074',name);for(var i=0;i<node.attributes.length;++i){var attr=node.attributes[i];if(!attr.specified){continue;}out.push(' ');PR_normalizedHtml(attr,out);}out.push('>');for(var child=node.firstChild;child;child=child.nextSibling){PR_normalizedHtml(child,out);}if(node.firstChild||!/^(?:br|link|img)$/.test(name)){out.push('<\/',name,'>');}break;case 2:out.push(node.name.toLowerCase(),'="',PR_attribToHtml(node.value),'"');break;case 3:case 4:out.push(PR_textToHtml(node.nodeValue));break;}}function PR_tabExpander(tabWidth){var SPACES=' ';var charInLine=0;return function(plainText){var out=null;var pos=0;for(var i=0,n=plainText.length;i<n;++i){var ch=plainText.charAt(i);switch(ch){case'\t':if(!out){out=[];}out.push(plainText.substring(pos,i));var nSpaces=tabWidth-(charInLine%tabWidth);charInLine+=nSpaces;for(;nSpaces>=0;nSpaces-=SPACES.length){out.push(SPACES.substring(0,nSpaces));}pos=i+1;break;case'\n':charInLine=0;break;default:++charInLine;}}if(!out){return plainText;}out.push(plainText.substring(pos));return out.join('');};}var pr_chunkPattern=/(?:[^<]+|<!--[\s\S]*?-->|<!\[CDATA\[([\s\S]*?)\]\]>|<\/?[a-zA-Z][^>]*>|<)/g;var pr_commentPrefix=/^<!--/;var pr_cdataPrefix=/^<\[CDATA\[/;var pr_brPrefix=/^<br\b/i;function PR_extractTags(s){var matches=s.match(pr_chunkPattern);var sourceBuf=[];var sourceBufLen=0;var extractedTags=[];if(matches){for(var i=0,n=matches.length;i<n;++i){var match=matches[i];if(match.length>1&&match.charAt(0)==='<'){if(pr_commentPrefix.test(match)){continue;}if(pr_cdataPrefix.test(match)){sourceBuf.push(match.substring(9,match.length-3));sourceBufLen+=match.length-12;}else if(pr_brPrefix.test(match)){sourceBuf.push('\n');sourceBufLen+=1;}else{extractedTags.push(sourceBufLen,match);}}else{var literalText=PR_htmlToText(match);sourceBuf.push(literalText);sourceBufLen+=literalText.length;}}}return{source:sourceBuf.join(''),tags:extractedTags};}function PR_createSimpleLexer(shortcutStylePatterns,fallthroughStylePatterns){var shortcuts={};(function(){var allPatterns=shortcutStylePatterns.concat(fallthroughStylePatterns);for(var i=allPatterns.length;--i>=0;){var patternParts=allPatterns[i];var shortcutChars=patternParts[3];if(shortcutChars){for(var c=shortcutChars.length;--c>=0;){shortcuts[shortcutChars.charAt(c)]=patternParts;}}}})();var nPatterns=fallthroughStylePatterns.length;return function(sourceCode,opt_basePos){opt_basePos=opt_basePos||0;var decorations=[opt_basePos,PR_PLAIN];var lastToken='';var pos=0;var tail=sourceCode;while(tail.length){var style;var token=null;var patternParts=shortcuts[tail.charAt(0)];if(patternParts){var match=tail.match(patternParts[1]);token=match[0];style=patternParts[0];}else{for(var i=0;i<nPatterns;++i){patternParts=fallthroughStylePatterns[i];var contextPattern=patternParts[2];if(contextPattern&&!contextPattern.test(lastToken)){continue;}var match=tail.match(patternParts[1]);if(match){token=match[0];style=patternParts[0];break;}}if(!token){style=PR_PLAIN;token=tail.substring(0,1);}}decorations.push(opt_basePos+pos,style);pos+=token.length;tail=tail.substring(token.length);if(style!==PR_COMMENT&&/\S/.test(token)){lastToken=token;}}return decorations;};}var PR_C_STYLE_STRING_AND_COMMENT_LEXER=PR_createSimpleLexer([[PR_STRING,/^\'(?:[^\\\']|\\[\s\S])*(?:\'|$)/,null,"'"],[PR_STRING,/^"(?:[^\\"]|\\[\s\S])*(?:"|$)/,null,'"'],[PR_STRING,/^\`(?:[^\\\`]|\\[\s\S])*(?:\`|$)/,null,'`']],[[PR_PLAIN,/^(?:[^\'"\`\/\#]+)/,null,' \r\n'],[PR_COMMENT,/^#[^\r\n]*/,null,'#'],[PR_COMMENT,/^\/\/[^\r\n]*/,null],[PR_STRING,/^\/(?:[^\\\*\/]|\\[\s\S])+(?:\/|$)/,REGEXP_PRECEDER_PATTERN],[PR_COMMENT,/^\/\*[\s\S]*?(?:\*\/|$)/,null]]);function PR_splitStringAndCommentTokens(sourceCode){return PR_C_STYLE_STRING_AND_COMMENT_LEXER(sourceCode);}var PR_C_STYLE_LITERAL_IDENTIFIER_PUNC_RECOGNIZER=PR_createSimpleLexer([],[[PR_PLAIN,/^\s+/,null,' \r\n'],[PR_PLAIN,/^[a-z_$@][a-z_$@0-9]*/i,null],[PR_LITERAL,/^0x[a-f0-9]+[a-z]/i,null],[PR_LITERAL,/^(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?[a-z]*/i,null,'123456789'],[PR_PUNCTUATION,/^[^\s\w\.$@]+/,null]]);function PR_splitNonStringNonCommentTokens(source,decorations){for(var i=0;i<decorations.length;i+=2){var style=decorations[i+1];if(style===PR_PLAIN){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var chunk=source.substring(start,end);var subDecs=PR_C_STYLE_LITERAL_IDENTIFIER_PUNC_RECOGNIZER(chunk,start);for(var j=0,m=subDecs.length;j<m;j+=2){var subStyle=subDecs[j+1];if(subStyle===PR_PLAIN){var subStart=subDecs[j];var subEnd=j+2<m?subDecs[j+2]:chunk.length;var token=source.substring(subStart,subEnd);if(token=='.'){subDecs[j+1]=PR_PUNCTUATION;}else if(token in PR_keywords){subDecs[j+1]=PR_KEYWORD;}else if(/^@?[A-Z][A-Z$]*[a-z][A-Za-z$]*$/.test(token)){subDecs[j+1]=token.charAt(0)=='@'?PR_LITERAL:PR_TYPE;}}}PR_spliceArrayInto(subDecs,decorations,i,2);i+=subDecs.length-2;}}return decorations;}var PR_MARKUP_LEXER=PR_createSimpleLexer([],[[PR_PLAIN,/^[^<]+/,null],[PR_DECLARATION,/^<!\w[^>]*(?:>|$)/,null],[PR_COMMENT,/^<!--[\s\S]*?(?:-->|$)/,null],[PR_SOURCE,/^<\?[\s\S]*?(?:\?>|$)/,null],[PR_SOURCE,/^<%[\s\S]*?(?:%>|$)/,null],[PR_SOURCE,/^<(script|style|xmp)\b[^>]*>[\s\S]*?<\/\1\b[^>]*>/i,null],[PR_TAG,/^<\/?\w[^<>]*>/,null]]);var PR_SOURCE_CHUNK_PARTS=/^(<[^>]*>)([\s\S]*)(<\/[^>]*>)$/;function PR_tokenizeMarkup(source){var decorations=PR_MARKUP_LEXER(source);for(var i=0;i<decorations.length;i+=2){if(decorations[i+1]===PR_SOURCE){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var sourceChunk=source.substring(start,end);var match=(sourceChunk.match(PR_SOURCE_CHUNK_PARTS));if(match){decorations.splice(i,2,start,PR_TAG,start+match[1].length,PR_SOURCE,start+match[1].length+(match[2]||'').length,PR_TAG);}}}return decorations;}var PR_TAG_LEXER=PR_createSimpleLexer([[PR_ATTRIB_VALUE,/^\'[^\']*(?:\'|$)/,null,"'"],[PR_ATTRIB_VALUE,/^"[^"]*(?:"|$)/,null,'"'],[PR_PUNCTUATION,/^[<>\/=]+/,null,'<>/=']],[[PR_TAG,/^[\w-]+/,/^</],[PR_ATTRIB_VALUE,/^[\w-]+/,/^=/],[PR_ATTRIB_NAME,/^[\w-]+/,null],[PR_PLAIN,/^\s+/,null,' \r\n']]);function PR_splitTagAttributes(source,decorations){for(var i=0;i<decorations.length;i+=2){var style=decorations[i+1];if(style===PR_TAG){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var chunk=source.substring(start,end);var subDecorations=PR_TAG_LEXER(chunk,start);PR_spliceArrayInto(subDecorations,decorations,i,2);i+=subDecorations.length-2;}}return decorations;}function PR_splitSourceNodes(source,decorations){for(var i=0;i<decorations.length;i+=2){var style=decorations[i+1];if(style==PR_SOURCE){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var subDecorations=PR_decorateSource(source.substring(start,end));for(var j=0,m=subDecorations.length;j<m;j+=2){subDecorations[j]+=start;}PR_spliceArrayInto(subDecorations,decorations,i,2);i+=subDecorations.length-2;}}return decorations;}function PR_splitSourceAttributes(source,decorations){var nextValueIsSource=false;for(var i=0;i<decorations.length;i+=2){var style=decorations[i+1];if(style===PR_ATTRIB_NAME){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;nextValueIsSource=/^on|^style$/i.test(source.substring(start,end));}else if(style==PR_ATTRIB_VALUE){if(nextValueIsSource){var start=decorations[i];var end=i+2<decorations.length?decorations[i+2]:source.length;var attribValue=source.substring(start,end);var attribLen=attribValue.length;var quoted=(attribLen>=2&&/^["\']/.test(attribValue)&&attribValue.charAt(0)===attribValue.charAt(attribLen-1));var attribSource;var attribSourceStart;var attribSourceEnd;if(quoted){attribSourceStart=start+1;attribSourceEnd=end-1;attribSource=attribValue;}else{attribSourceStart=start+1;attribSourceEnd=end-1;attribSource=attribValue.substring(1,attribValue.length-1);}var attribSourceDecorations=PR_decorateSource(attribSource);for(var j=0,m=attribSourceDecorations.length;j<m;j+=2){attribSourceDecorations[j]+=attribSourceStart;}if(quoted){attribSourceDecorations.push(attribSourceEnd,PR_ATTRIB_VALUE);PR_spliceArrayInto(attribSourceDecorations,decorations,i+2,0);}else{PR_spliceArrayInto(attribSourceDecorations,decorations,i,2);}}nextValueIsSource=false;}}return decorations;}function PR_decorateSource(sourceCode){var decorations=PR_splitStringAndCommentTokens(sourceCode);decorations=PR_splitNonStringNonCommentTokens(sourceCode,decorations);return decorations;}function PR_decorateMarkup(sourceCode){var decorations=PR_tokenizeMarkup(sourceCode);decorations=PR_splitTagAttributes(sourceCode,decorations);decorations=PR_splitSourceNodes(sourceCode,decorations);decorations=PR_splitSourceAttributes(sourceCode,decorations);return decorations;}function PR_recombineTagsAndDecorations(sourceText,extractedTags,decorations){var html=[];var outputIdx=0;var openDecoration=null;var currentDecoration=null;var tagPos=0;var decPos=0;var tabExpander=PR_tabExpander(PR_TAB_WIDTH);function emitTextUpTo(sourceIdx){if(sourceIdx>outputIdx){if(openDecoration&&openDecoration!==currentDecoration){html.push('</span>');openDecoration=null;}if(!openDecoration&&currentDecoration){openDecoration=currentDecoration;html.push('<span class="',openDecoration,'">');}var htmlChunk=PR_textToHtml(tabExpander(sourceText.substring(outputIdx,sourceIdx))).replace(/(\r\n?|\n| ) /g,'$1&nbsp;').replace(/\r\n?|\n/g,'&nbsp;<br>');html.push(htmlChunk);outputIdx=sourceIdx;}}while(true){var outputTag;if(tagPos<extractedTags.length){if(decPos<decorations.length){outputTag=extractedTags[tagPos]<=decorations[decPos];}else{outputTag=true;}}else{outputTag=false;}if(outputTag){emitTextUpTo(extractedTags[tagPos]);if(openDecoration){html.push('</span>');openDecoration=null;}html.push(extractedTags[tagPos+1]);tagPos+=2;}else if(decPos<decorations.length){emitTextUpTo(decorations[decPos]);currentDecoration=decorations[decPos+1];decPos+=2;}else{break;}}emitTextUpTo(sourceText.length);if(openDecoration){html.push('</span>');}return html.join('');}function prettyPrintOne(sourceCodeHtml){try{var sourceAndExtractedTags=PR_extractTags(sourceCodeHtml);var source=sourceAndExtractedTags.source;var extractedTags=sourceAndExtractedTags.tags;var isMarkup=/^\s*</.test(source)&&/>\s*$/.test(source);var decorations=isMarkup?PR_decorateMarkup(source):PR_decorateSource(source);return PR_recombineTagsAndDecorations(source,extractedTags,decorations);}catch(e){if('console'in window){console.log(e);console.trace();}return sourceCodeHtml;}}var PR_SHOULD_USE_CONTINUATION=true;function prettyPrint(opt_whenDone){var codeSegments=[document.getElementsByTagName('pre'),document.getElementsByTagName('code'),document.getElementsByTagName('xmp')];var elements=[];for(var i=0;i<codeSegments.length;++i){for(var j=0;j<codeSegments[i].length;++j){elements.push(codeSegments[i][j]);}}codeSegments=null;var k=0;function doWork(){var endTime=(PR_SHOULD_USE_CONTINUATION?new Date().getTime()+250:Infinity);for(;k<elements.length&&new Date().getTime()<endTime;k++){var cs=elements[k];if(cs.className&&cs.className.indexOf('prettyprint')>=0){var nested=false;for(var p=cs.parentNode;p!=null;p=p.parentNode){if((p.tagName=='pre'||p.tagName=='code'||p.tagName=='xmp')&&p.className&&p.className.indexOf('prettyprint')>=0){nested=true;break;}}if(!nested){var content=PR_getInnerHtml(cs);content=content.replace(/(?:\r\n?|\n)$/,'');var newContent=prettyPrintOne(content);if(!PR_isRawContent(cs)){cs.innerHTML=newContent;}else{var pre=document.createElement('PRE');for(var i=0;i<cs.attributes.length;++i){var a=cs.attributes[i];if(a.specified){pre.setAttribute(a.name,a.value);}}pre.innerHTML=newContent;cs.parentNode.replaceChild(pre,cs);}}}}if(k<elements.length){setTimeout(doWork,250);}else if(opt_whenDone){opt_whenDone();}}doWork();}</script><script type='text/javascript'>prettyPrint();</script></BODY>
</HTML>