<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_13) on Sat Nov 06 11:09:28 CDT 2010 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
OpenSearchParameter.OpenSearchParams (Apache Wink 1.1.2-incubating API)
</TITLE>

<META NAME="date" CONTENT="2010-11-06">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="OpenSearchParameter.OpenSearchParams (Apache Wink 1.1.2-incubating API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= 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="class-use/OpenSearchParameter.OpenSearchParams.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&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/wink/common/model/opensearch/OpenSearchParameter.html" title="class in org.apache.wink.common.model.opensearch"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="OpenSearchParameter.OpenSearchParams.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="#enum_constant_summary">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#enum_constant_detail">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&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.wink.common.model.opensearch</FONT>
<BR>
Enum OpenSearchParameter.OpenSearchParams</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by ">java.lang.Enum&lt;<A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A>&gt;
      <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.wink.common.model.opensearch.OpenSearchParameter.OpenSearchParams</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, java.lang.Comparable&lt;<A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A>&gt;</DD>
</DL>
<DL>
<DT><B>Enclosing class:</B><DD><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchParameter</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public static enum <B>OpenSearchParameter.OpenSearchParams</B><DT>extends java.lang.Enum&lt;<A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A>&gt;</DL>
</PRE>

<P>
OpenSearch 1.1 parameters
<P>

<P>
<HR>

<P>
<!-- =========== ENUM CONSTANT SUMMARY =========== -->

<A NAME="enum_constant_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>Enum Constant Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html#count">count</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 Replaced with the number of search results per page desired by the
 search client.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html#inputEncoding">inputEncoding</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 Replaced with a string that indicates that the search client is
 performing the search request encoded with the specified character
 encoding.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html#language">language</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 Replaced with a string that indicates that the search client desires
 search results in the specified language.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html#outputEncoding">outputEncoding</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 Replaced with a string that indicates that the search client desires
 a search response encoding with the specified character encoding.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html#searchTerms">searchTerms</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 Replaced with the keyword or keywords desired by the search client.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html#startPage">startPage</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 Replaced with the page number of the set of search results desired by
 the search client.</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>static&nbsp;<A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html#valueOf(java.lang.String)">valueOf</A></B>(java.lang.String&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the enum constant of this type with the specified name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html#values()">values</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing the constants of this enum type, in
the order they are declared.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Enum"><!-- --></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.Enum</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</CODE></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.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>getClass, notify, notifyAll, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ ENUM CONSTANT DETAIL =========== -->

<A NAME="enum_constant_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>Enum Constant Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="searchTerms"><!-- --></A><H3>
searchTerms</H3>
<PRE>
public static final <A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A> <B>searchTerms</B></PRE>
<DL>
<DD><p>
 Replaced with the keyword or keywords desired by the search client.
 Restrictions: The value must be URL-encoded.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="count"><!-- --></A><H3>
count</H3>
<PRE>
public static final <A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A> <B>count</B></PRE>
<DL>
<DD><p>
 Replaced with the number of search results per page desired by the
 search client.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="startPage"><!-- --></A><H3>
startPage</H3>
<PRE>
public static final <A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A> <B>startPage</B></PRE>
<DL>
<DD><p>
 Replaced with the page number of the set of search results desired by
 the search client. Restrictions: The value must be an integer.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="language"><!-- --></A><H3>
language</H3>
<PRE>
public static final <A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A> <B>language</B></PRE>
<DL>
<DD><p>
 Replaced with a string that indicates that the search client desires
 search results in the specified language.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="inputEncoding"><!-- --></A><H3>
inputEncoding</H3>
<PRE>
public static final <A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A> <B>inputEncoding</B></PRE>
<DL>
<DD><p>
 Replaced with a string that indicates that the search client is
 performing the search request encoded with the specified character
 encoding.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="outputEncoding"><!-- --></A><H3>
outputEncoding</H3>
<PRE>
public static final <A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A> <B>outputEncoding</B></PRE>
<DL>
<DD><p>
 Replaced with a string that indicates that the search client desires
 a search response encoding with the specified character encoding.
<P>
<DL>
</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="values()"><!-- --></A><H3>
values</H3>
<PRE>
public static <A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A>[] <B>values</B>()</PRE>
<DL>
<DD>Returns an array containing the constants of this enum type, in
the order they are declared.  This method may be used to iterate
over the constants as follows:
<pre>
for (OpenSearchParameter.OpenSearchParams c : OpenSearchParameter.OpenSearchParams.values())
&nbsp;   System.out.println(c);
</pre>
<P>
<DD><DL>

<DT><B>Returns:</B><DD>an array containing the constants of this enum type, in
the order they are declared</DL>
</DD>
</DL>
<HR>

<A NAME="valueOf(java.lang.String)"><!-- --></A><H3>
valueOf</H3>
<PRE>
public static <A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A> <B>valueOf</B>(java.lang.String&nbsp;name)</PRE>
<DL>
<DD>Returns the enum constant of this type with the specified name.
The string must match <I>exactly</I> an identifier used to declare an
enum constant in this type.  (Extraneous whitespace characters are 
not permitted.)
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the enum constant to be returned.
<DT><B>Returns:</B><DD>the enum constant with the specified name
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalArgumentException</CODE> - if this enum type has no constant
with the specified name
<DD><CODE>java.lang.NullPointerException</CODE> - if the argument is null</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="class-use/OpenSearchParameter.OpenSearchParams.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&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/wink/common/model/opensearch/OpenSearchParameter.html" title="class in org.apache.wink.common.model.opensearch"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="OpenSearchParameter.OpenSearchParams.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="#enum_constant_summary">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#enum_constant_detail">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2009-2010 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
