<!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>
OpenSearchQuery (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="OpenSearchQuery (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/OpenSearchQuery.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.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.QueryRole.html" title="enum 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/OpenSearchQuery.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="OpenSearchQuery.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;<A HREF="#nested_class_summary">NESTED</A>&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.wink.common.model.opensearch</FONT>
<BR>
Class OpenSearchQuery</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.wink.common.model.opensearch.OpenSearchQuery</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>OpenSearchQuery</B><DT>extends java.lang.Object</DL>
</PRE>

<P>
The "Query" element per OpenSearch specification
 
 <pre>
 The &quot;Query&quot; element
 
 Describes a specific search request that can be made by the search client.
 
     Attributes:
 
         role - Contains a string identifying how the search client should interpret the search request defined by this Query element.
 
             Restrictions: See the role values specification for allowed role values. 
             Requirements: This attribute is required. 
 
         title - Contains a human-readable plain text string describing the search request.
 
             Restrictions: The value must contain 256 or fewer characters of plain text. The value must not contain HTML or other markup. 
             Requirements: This attribute is optional. 
 
         totalResults - Contains the expected number of results to be found if the search request were made.
 
             Restrictions: The value is a non-negative integer. 
             Requirements: This attribute is optional. 
 
         searchTerms - Contains the value representing the &quot;searchTerms&quot; as an OpenSearch 1.1 parameter.
 
             Restrictions: See the &quot;searchTerms&quot; parameter. 
             Requirements: This attribute is optional. 
 
         count - Contains the value representing the &quot;count&quot; as a OpenSearch 1.1 parameter.
 
             Restrictions: See the &quot;count&quot; parameter. 
             Requirements: This attribute is optional. 
 
         startIndex - Contains the value representing the &quot;startIndex&quot; as an OpenSearch 1.1 parameter.
 
             Restrictions: See the &quot;startIndex&quot; parameter. 
             Requirements: This attribute is optional. 
 
         startPage - Contains the value representing the &quot;startPage&quot; as an OpenSearch 1.1 parameter.
 
             Restrictions: See the &quot;startPage&quot; parameter. 
             Requirements: This attribute is optional. 
 
         language - Contains the value representing the &quot;language&quot; as an OpenSearch 1.1 parameter.
 
             Restrictions: See the &quot;language&quot; parameter. 
             Requirements: This attribute is optional. 
 
         inputEncoding - Contains the value representing the &quot;inputEncoding&quot; as an OpenSearch 1.1 parameter.
 
             Restrictions: See the &quot;inputEncoding&quot; parameter. 
             Requirements: This attribute is optional. 
 
         outputEncoding - Contains the value representing the &quot;outputEncoding&quot; as an OpenSearch 1.1 parameter.
 
             Restrictions: See the &quot;outputEncoding&quot; parameter. 
             Requirements: This attribute is optional. 
 
   Example:
 
     &lt;Query role=&quot;example&quot; searchTerms=&quot;cat&quot; /&gt;
  
  
 o Query element extensibility
 
   The Query element may contain additional attributes if the extended attributes are associated with a namespace. Search clients should interpret extended attributes to represent the corresponding template parameter by the same name in the specified namespace.
 
   Example of a Query element representing a search request that contains an extended attribute that corresponds to an extended search parameter:
 
   &lt;OpenSearchDescription xmlns=&quot;http://a9.com/-/spec/opensearch/1.1/&quot;
                        xmlns:custom=&quot;http://example.com/opensearchextensions/1.0/&quot;&gt;
     &lt;Url type=&quot;text/html&quot;
          template=&quot;http://example.com/search?color={custom:color?}&quot; /&gt;
     &lt;Query role=&quot;example&quot;  custom:color=&quot;blue&quot; /&gt;
     &lt;!-- ... --&gt;
   &lt;/OpenSearchDescription&gt;
 
 o Role values
 
   A role value consists of an optional prefix followed by the local role value. If the prefix is present it will be separated from the local role value with the &quot;:&quot; character. All role values are associated with a namespace, either implicitly in the case of local role values, or explicitly via a prefix in the case of fully qualified role values.
   Role extensibility
 
   The role attribute may take on values beyond those specified in this document provided they are fully qualified with a prefix and associated with a declared namespace. Clients that encounter unrecognized role values should continue to process the document as if the Query element containing the unrecognized role value did not appear.
   Role prefix
 
   A role prefix associates a local role name with a namespace. All prefixes must be previously declared as an XML namespace prefix on the containing Query element or ancestor elements.
   Local role values
 
   Local role values are not preceded by a prefix. Local role values are associated with the OpenSearch 1.1 namespace.
 
   The following role values are identified with the OpenSearch 1.1 namespace. The list is exhaustive; only the role values listed below may appear in the OpenSearch 1.1 namespace.
 
   Role values:
 
     &quot;request&quot;
 
         Represents the search query that can be performed to retrieve the same set of search results. 
 
     &quot;example&quot;
 
         Represents a search query that can be performed to demonstrate the search engine. 
 
     &quot;related&quot;
 
         Represents a search query that can be performed to retrieve similar but different search results. 
 
     &quot;correction&quot;
 
         Represents a search query that can be performed to improve the result set, such as with a spelling correction. 
 
     &quot;subset&quot;
 
         Represents a search query that will narrow the current set of search results. 
 
     &quot;superset&quot;
 
         Represents a search query that will broaden the current set of search results. 
 
 
   Example of a local role value:
 
    &lt;Query role=&quot;related&quot; 
         title=&quot;A related search&quot;
         searchTerms=&quot;tiger&quot; /&gt;
 
 o Fully qualified role values
 
   Fully qualified role values are preceded by a prefix. Fully qualified role values are associated with the namespace identified by the prefix on the containing Query element or ancestor elements.
 
   Example of a fully qualified role value:
 
    &lt;Query xmlns:custom=&quot;http://example.com/opensearchextensions/1.0/&quot;
         role=&quot;custom:synonym&quot;
         title=&quot;Synonyms of 'cat'&quot;
         searchTerms=&quot;feline&quot; /&gt;
 
 </pre>
<P>

<P>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->

<A NAME="nested_class_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>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.QueryRole.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchQuery.QueryRole</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<!-- =========== 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;java.math.BigInteger</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#count">count</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#inputEncoding">inputEncoding</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#language">language</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#outputEncoding">outputEncoding</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#role">role</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#searchTerms">searchTerms</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.math.BigInteger</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#startIndex">startIndex</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.math.BigInteger</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#startPage">startPage</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#title">title</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.math.BigInteger</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#totalResults">totalResults</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/wink/common/model/opensearch/OpenSearchQuery.html#OpenSearchQuery()">OpenSearchQuery</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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;java.math.BigInteger</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getCount()">getCount</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the count property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getInputEncoding()">getInputEncoding</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the inputEncoding property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getLanguage()">getLanguage</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the language property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Map&lt;javax.xml.namespace.QName,java.lang.String&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getOtherAttributes()">getOtherAttributes</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets a map that contains attributes that aren't bound to any typed
 property on this class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getOutputEncoding()">getOutputEncoding</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the outputEncoding property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getRole()">getRole</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the role property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getSearchTerms()">getSearchTerms</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the searchTerms property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.math.BigInteger</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getStartIndex()">getStartIndex</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the startIndex property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.math.BigInteger</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getStartPage()">getStartPage</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the startPage property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getTitle()">getTitle</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the title property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.math.BigInteger</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getTotalResults()">getTotalResults</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value of the totalResults property.</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/wink/common/model/opensearch/OpenSearchQuery.html#setCount(java.math.BigInteger)">setCount</A></B>(java.math.BigInteger&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the count property.</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/wink/common/model/opensearch/OpenSearchQuery.html#setInputEncoding(java.lang.String)">setInputEncoding</A></B>(java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the inputEncoding property.</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/wink/common/model/opensearch/OpenSearchQuery.html#setLanguage(java.lang.String)">setLanguage</A></B>(java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the language property.</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/wink/common/model/opensearch/OpenSearchQuery.html#setOutputEncoding(java.lang.String)">setOutputEncoding</A></B>(java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the outputEncoding property.</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/wink/common/model/opensearch/OpenSearchQuery.html#setRole(java.lang.String)">setRole</A></B>(java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the role property.</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/wink/common/model/opensearch/OpenSearchQuery.html#setSearchTerms(java.lang.String)">setSearchTerms</A></B>(java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the searchTerms property.</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/wink/common/model/opensearch/OpenSearchQuery.html#setStartIndex(java.math.BigInteger)">setStartIndex</A></B>(java.math.BigInteger&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the startIndex property.</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/wink/common/model/opensearch/OpenSearchQuery.html#setStartPage(java.math.BigInteger)">setStartPage</A></B>(java.math.BigInteger&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the startPage property.</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/wink/common/model/opensearch/OpenSearchQuery.html#setTitle(java.lang.String)">setTitle</A></B>(java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the title property.</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/wink/common/model/opensearch/OpenSearchQuery.html#setTotalResults(java.math.BigInteger)">setTotalResults</A></B>(java.math.BigInteger&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value of the totalResults property.</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>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</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="role"><!-- --></A><H3>
role</H3>
<PRE>
protected java.lang.String <B>role</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="searchTerms"><!-- --></A><H3>
searchTerms</H3>
<PRE>
protected java.lang.String <B>searchTerms</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="title"><!-- --></A><H3>
title</H3>
<PRE>
protected java.lang.String <B>title</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="totalResults"><!-- --></A><H3>
totalResults</H3>
<PRE>
protected java.math.BigInteger <B>totalResults</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="count"><!-- --></A><H3>
count</H3>
<PRE>
protected java.math.BigInteger <B>count</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="startPage"><!-- --></A><H3>
startPage</H3>
<PRE>
protected java.math.BigInteger <B>startPage</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="startIndex"><!-- --></A><H3>
startIndex</H3>
<PRE>
protected java.math.BigInteger <B>startIndex</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="language"><!-- --></A><H3>
language</H3>
<PRE>
protected java.lang.String <B>language</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="inputEncoding"><!-- --></A><H3>
inputEncoding</H3>
<PRE>
protected java.lang.String <B>inputEncoding</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="outputEncoding"><!-- --></A><H3>
outputEncoding</H3>
<PRE>
protected java.lang.String <B>outputEncoding</B></PRE>
<DL>
<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="OpenSearchQuery()"><!-- --></A><H3>
OpenSearchQuery</H3>
<PRE>
public <B>OpenSearchQuery</B>()</PRE>
<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="getRole()"><!-- --></A><H3>
getRole</H3>
<PRE>
public java.lang.String <B>getRole</B>()</PRE>
<DL>
<DD>Gets the value of the role property.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>possible object is <CODE>String</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setRole(java.lang.String)"><!-- --></A><H3>
setRole</H3>
<PRE>
public void <B>setRole</B>(java.lang.String&nbsp;value)</PRE>
<DL>
<DD>Sets the value of the role property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - allowed object is <CODE>String</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getSearchTerms()"><!-- --></A><H3>
getSearchTerms</H3>
<PRE>
public java.lang.String <B>getSearchTerms</B>()</PRE>
<DL>
<DD>Gets the value of the searchTerms property.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>possible object is <CODE>String</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setSearchTerms(java.lang.String)"><!-- --></A><H3>
setSearchTerms</H3>
<PRE>
public void <B>setSearchTerms</B>(java.lang.String&nbsp;value)</PRE>
<DL>
<DD>Sets the value of the searchTerms property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - allowed object is <CODE>String</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getTitle()"><!-- --></A><H3>
getTitle</H3>
<PRE>
public java.lang.String <B>getTitle</B>()</PRE>
<DL>
<DD>Gets the value of the title property.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>possible object is <CODE>String</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setTitle(java.lang.String)"><!-- --></A><H3>
setTitle</H3>
<PRE>
public void <B>setTitle</B>(java.lang.String&nbsp;value)</PRE>
<DL>
<DD>Sets the value of the title property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - allowed object is <CODE>String</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getTotalResults()"><!-- --></A><H3>
getTotalResults</H3>
<PRE>
public java.math.BigInteger <B>getTotalResults</B>()</PRE>
<DL>
<DD>Gets the value of the totalResults property.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>possible object is <CODE>BigInteger</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setTotalResults(java.math.BigInteger)"><!-- --></A><H3>
setTotalResults</H3>
<PRE>
public void <B>setTotalResults</B>(java.math.BigInteger&nbsp;value)</PRE>
<DL>
<DD>Sets the value of the totalResults property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - allowed object is <CODE>BigInteger</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getCount()"><!-- --></A><H3>
getCount</H3>
<PRE>
public java.math.BigInteger <B>getCount</B>()</PRE>
<DL>
<DD>Gets the value of the count property.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>possible object is <CODE>BigInteger</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setCount(java.math.BigInteger)"><!-- --></A><H3>
setCount</H3>
<PRE>
public void <B>setCount</B>(java.math.BigInteger&nbsp;value)</PRE>
<DL>
<DD>Sets the value of the count property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - allowed object is <CODE>BigInteger</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getStartPage()"><!-- --></A><H3>
getStartPage</H3>
<PRE>
public java.math.BigInteger <B>getStartPage</B>()</PRE>
<DL>
<DD>Gets the value of the startPage property.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>possible object is <CODE>BigInteger</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setStartPage(java.math.BigInteger)"><!-- --></A><H3>
setStartPage</H3>
<PRE>
public void <B>setStartPage</B>(java.math.BigInteger&nbsp;value)</PRE>
<DL>
<DD>Sets the value of the startPage property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - allowed object is <CODE>BigInteger</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getStartIndex()"><!-- --></A><H3>
getStartIndex</H3>
<PRE>
public java.math.BigInteger <B>getStartIndex</B>()</PRE>
<DL>
<DD>Gets the value of the startIndex property.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>possible object is <CODE>BigInteger</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setStartIndex(java.math.BigInteger)"><!-- --></A><H3>
setStartIndex</H3>
<PRE>
public void <B>setStartIndex</B>(java.math.BigInteger&nbsp;value)</PRE>
<DL>
<DD>Sets the value of the startIndex property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - allowed object is <CODE>BigInteger</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getLanguage()"><!-- --></A><H3>
getLanguage</H3>
<PRE>
public java.lang.String <B>getLanguage</B>()</PRE>
<DL>
<DD>Gets the value of the language property.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>possible object is <CODE>String</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setLanguage(java.lang.String)"><!-- --></A><H3>
setLanguage</H3>
<PRE>
public void <B>setLanguage</B>(java.lang.String&nbsp;value)</PRE>
<DL>
<DD>Sets the value of the language property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - allowed object is <CODE>String</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getInputEncoding()"><!-- --></A><H3>
getInputEncoding</H3>
<PRE>
public java.lang.String <B>getInputEncoding</B>()</PRE>
<DL>
<DD>Gets the value of the inputEncoding property.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>possible object is <CODE>String</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setInputEncoding(java.lang.String)"><!-- --></A><H3>
setInputEncoding</H3>
<PRE>
public void <B>setInputEncoding</B>(java.lang.String&nbsp;value)</PRE>
<DL>
<DD>Sets the value of the inputEncoding property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - allowed object is <CODE>String</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getOutputEncoding()"><!-- --></A><H3>
getOutputEncoding</H3>
<PRE>
public java.lang.String <B>getOutputEncoding</B>()</PRE>
<DL>
<DD>Gets the value of the outputEncoding property.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>possible object is <CODE>String</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setOutputEncoding(java.lang.String)"><!-- --></A><H3>
setOutputEncoding</H3>
<PRE>
public void <B>setOutputEncoding</B>(java.lang.String&nbsp;value)</PRE>
<DL>
<DD>Sets the value of the outputEncoding property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - allowed object is <CODE>String</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getOtherAttributes()"><!-- --></A><H3>
getOtherAttributes</H3>
<PRE>
public java.util.Map&lt;javax.xml.namespace.QName,java.lang.String&gt; <B>getOtherAttributes</B>()</PRE>
<DL>
<DD>Gets a map that contains attributes that aren't bound to any typed
 property on this class.
 <p>
 the map is keyed by the name of the attribute and the value is the string
 value of the attribute. the map returned by this method is live, and you
 can add new attribute by updating the map directly. Because of this
 design, there's no setter.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>always non-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/OpenSearchQuery.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.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/wink/common/model/opensearch/OpenSearchQuery.QueryRole.html" title="enum 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/OpenSearchQuery.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="OpenSearchQuery.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;<A HREF="#nested_class_summary">NESTED</A>&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>
Copyright &#169; 2009-2010 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
