<!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) on Mon Oct 19 13:38:36 CDT 2009 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
Index (Apache Wink 1.0-incubating API)
</TITLE>

<META NAME="date" CONTENT="2009-10-19">

<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="Index (Apache Wink 1.0-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">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./serialized-form.html"><FONT CLASS="NavBarFont1"><B>Serialized</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="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&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;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-all.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>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_K_">K</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_Q_">Q</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF="#_X_">X</A> <HR>
<A NAME="_A_"><!-- --></A><H2>
<B>A</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/providers/abdera/AbderaAtomEntryProvider.html" title="class in org.apache.wink.providers.abdera"><B>AbderaAtomEntryProvider</B></A> - Class in <A HREF="./org/apache/wink/providers/abdera/package-summary.html">org.apache.wink.providers.abdera</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/providers/abdera/AbderaAtomEntryProvider.html#AbderaAtomEntryProvider()"><B>AbderaAtomEntryProvider()</B></A> - 
Constructor for class org.apache.wink.providers.abdera.<A HREF="./org/apache/wink/providers/abdera/AbderaAtomEntryProvider.html" title="class in org.apache.wink.providers.abdera">AbderaAtomEntryProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/abdera/AbderaAtomFeedProvider.html" title="class in org.apache.wink.providers.abdera"><B>AbderaAtomFeedProvider</B></A> - Class in <A HREF="./org/apache/wink/providers/abdera/package-summary.html">org.apache.wink.providers.abdera</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/providers/abdera/AbderaAtomFeedProvider.html#AbderaAtomFeedProvider()"><B>AbderaAtomFeedProvider()</B></A> - 
Constructor for class org.apache.wink.providers.abdera.<A HREF="./org/apache/wink/providers/abdera/AbderaAtomFeedProvider.html" title="class in org.apache.wink.providers.abdera">AbderaAtomFeedProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/AbstractDynamicResource.html" title="class in org.apache.wink.common"><B>AbstractDynamicResource</B></A> - Class in <A HREF="./org/apache/wink/common/package-summary.html">org.apache.wink.common</A><DD>Provides a basic implementation of the
 org.apache.wink.common.DynamicResource.<DT><A HREF="./org/apache/wink/common/AbstractDynamicResource.html#AbstractDynamicResource()"><B>AbstractDynamicResource()</B></A> - 
Constructor for class org.apache.wink.common.<A HREF="./org/apache/wink/common/AbstractDynamicResource.html" title="class in org.apache.wink.common">AbstractDynamicResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandler.html" title="class in org.apache.wink.server.handlers"><B>AbstractHandler</B></A> - Class in <A HREF="./org/apache/wink/server/handlers/package-summary.html">org.apache.wink.server.handlers</A><DD>Convenience class for implementing a handler that is unaware of the handlers
 chain.<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandler.html#AbstractHandler()"><B>AbstractHandler()</B></A> - 
Constructor for class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/AbstractHandler.html" title="class in org.apache.wink.server.handlers">AbstractHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html" title="class in org.apache.wink.server.handlers"><B>AbstractHandlersChain</B></A>&lt;<A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html" title="type parameter in AbstractHandlersChain">T</A> extends <A HREF="./org/apache/wink/server/handlers/Handler.html" title="interface in org.apache.wink.server.handlers">Handler</A>&gt; - Class in <A HREF="./org/apache/wink/server/handlers/package-summary.html">org.apache.wink.server.handlers</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html#AbstractHandlersChain()"><B>AbstractHandlersChain()</B></A> - 
Constructor for class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html" title="class in org.apache.wink.server.handlers">AbstractHandlersChain</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/Resource.html#accept(java.lang.String...)"><B>accept(String...)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Add values to the Accept header.
<DT><A HREF="./org/apache/wink/client/Resource.html#accept(javax.ws.rs.core.MediaType...)"><B>accept(MediaType...)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Add values to the Accept header.
<DT><A HREF="./org/apache/wink/common/model/app/AppCollection.html#accept"><B>accept</B></A> - 
Variable in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app">AppCollection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpHeadersEx.html#ACCEPT_RANGES"><B>ACCEPT_RANGES</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpHeadersEx.html" title="class in org.apache.wink.common.http">HttpHeadersEx</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#ACCEPTED"><B>ACCEPTED</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#acceptHeaderAutoSet(boolean)"><B>acceptHeaderAutoSet(boolean)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Set whether client will automatically set an appropriate Accept header
<DT><A HREF="./org/apache/wink/client/Resource.html#acceptLanguage(java.lang.String...)"><B>acceptLanguage(String...)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Add values to the Accept-Language header.
<DT><A HREF="./org/apache/wink/client/Resource.html#acceptLanguage(java.util.Locale...)"><B>acceptLanguage(Locale...)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Add values to the Accept-Language header.
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model"><B>Activelock</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>activelock</code> XML element per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#Activelock()"><B>Activelock()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Lockdiscovery.html#activelock"><B>activelock</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockdiscovery.html" title="class in org.apache.wink.webdav.model">Lockdiscovery</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/handlers/InputStreamAdapter.html#adapt(java.io.InputStream, org.apache.wink.client.ClientResponse)"><B>adapt(InputStream, ClientResponse)</B></A> - 
Method in interface org.apache.wink.client.handlers.<A HREF="./org/apache/wink/client/handlers/InputStreamAdapter.html" title="interface in org.apache.wink.client.handlers">InputStreamAdapter</A>
<DD>This method is called in order to wrap the response input stream with
 another input stream to allow the manipulation of the response entity
 stream.
<DT><A HREF="./org/apache/wink/client/handlers/OutputStreamAdapter.html#adapt(java.io.OutputStream, org.apache.wink.client.ClientRequest)"><B>adapt(OutputStream, ClientRequest)</B></A> - 
Method in interface org.apache.wink.client.handlers.<A HREF="./org/apache/wink/client/handlers/OutputStreamAdapter.html" title="interface in org.apache.wink.client.handlers">OutputStreamAdapter</A>
<DD>This method is called in order to wrap the request output stream with
 another output stream to allow the manipulation of the request entity
 stream.
<DT><A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html#addAltParam(boolean)"><B>addAltParam(boolean)</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html" title="interface in org.apache.wink.server.utils">BaseLinksBuilder</A>
<DD>Set whether the to automatically add to the generated links the "alt"
 query parameter indicating the link type.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#addAuthor(org.apache.wink.common.model.synd.SyndPerson)"><B>addAuthor(SyndPerson)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>Add an author to the list of authors.
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#addCategory(org.apache.wink.common.model.atom.AtomCategory)"><B>addCategory(AtomCategory)</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Add an atom:Category to the listing
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#addCategory(java.lang.String)"><B>addCategory(String)</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Create and add an atom:Category to the listing
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#addCategory(java.lang.String, java.lang.String, java.lang.String)"><B>addCategory(String, String, String)</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Create an add an atom:Category to the listing
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#addCategory(org.apache.wink.common.model.synd.SyndCategory)"><B>addCategory(SyndCategory)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>Add a category to the list of categories.
<DT><A HREF="./org/apache/wink/common/model/csv/CsvDeserializer.html#addEntity(java.lang.String[])"><B>addEntity(String[])</B></A> - 
Method in interface org.apache.wink.common.model.csv.<A HREF="./org/apache/wink/common/model/csv/CsvDeserializer.html" title="interface in org.apache.wink.common.model.csv">CsvDeserializer</A>
<DD>Add a single row to the CSV
<DT><A HREF="./org/apache/wink/common/model/csv/CsvTable.html#addEntity(java.lang.String[])"><B>addEntity(String[])</B></A> - 
Method in class org.apache.wink.common.model.csv.<A HREF="./org/apache/wink/common/model/csv/CsvTable.html" title="class in org.apache.wink.common.model.csv">CsvTable</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/csv/MultiCsvTable.html#addEntity(java.lang.String[])"><B>addEntity(String[])</B></A> - 
Method in class org.apache.wink.common.model.csv.<A HREF="./org/apache/wink/common/model/csv/MultiCsvTable.html" title="class in org.apache.wink.common.model.csv">MultiCsvTable</A>
<DD>Add a row to the last table when deserializing a multi table csv.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#addEntry(org.apache.wink.common.model.synd.SyndEntry)"><B>addEntry(SyndEntry)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>Add an entry to the list of entries.
<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html#addHandler(T)"><B>addHandler(T)</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html" title="class in org.apache.wink.server.handlers">AbstractHandlersChain</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/OutPart.html#addHeader(java.lang.String, java.lang.String)"><B>addHeader(String, String)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutPart.html" title="class in org.apache.wink.common.model.multipart">OutPart</A>
<DD>add header to the part
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#addInputEncoding(java.lang.String)"><B>addInputEncoding(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Adds InputEncoding to the list of supported Input Encoding
<DT><A HREF="./org/apache/wink/client/handlers/HandlerContext.html#addInputStreamAdapter(org.apache.wink.client.handlers.InputStreamAdapter)"><B>addInputStreamAdapter(InputStreamAdapter)</B></A> - 
Method in interface org.apache.wink.client.handlers.<A HREF="./org/apache/wink/client/handlers/HandlerContext.html" title="interface in org.apache.wink.client.handlers">HandlerContext</A>
<DD>Add an <A HREF="./org/apache/wink/client/handlers/InputStreamAdapter.html" title="interface in org.apache.wink.client.handlers"><CODE>InputStreamAdapter</CODE></A> to adapt the response input stream
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#addLanguage(java.lang.String)"><B>addLanguage(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Add "Language".
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#addLink(org.apache.wink.common.model.synd.SyndLink)"><B>addLink(SyndLink)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>Add a link to the list of links.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#addNewImage(org.apache.wink.common.model.opensearch.OpenSearchImage)"><B>addNewImage(OpenSearchImage)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Adds new Image to the list
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html#addOpenSearchParameter(org.apache.wink.common.model.opensearch.OpenSearchParameter)"><B>addOpenSearchParameter(OpenSearchParameter)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchUrl</A>
<DD>Add OpenSearch parameter to the list of Open Search Parameters
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#addOpenSearchQuery(org.apache.wink.common.model.opensearch.OpenSearchQuery)"><B>addOpenSearchQuery(OpenSearchQuery)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Adds an opensearch Query element
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#addOutputEncoding(java.lang.String)"><B>addOutputEncoding(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Adds OutputEncoding to the list of supported Output Encoding
<DT><A HREF="./org/apache/wink/client/handlers/HandlerContext.html#addOutputStreamAdapter(org.apache.wink.client.handlers.OutputStreamAdapter)"><B>addOutputStreamAdapter(OutputStreamAdapter)</B></A> - 
Method in interface org.apache.wink.client.handlers.<A HREF="./org/apache/wink/client/handlers/HandlerContext.html" title="interface in org.apache.wink.client.handlers">HandlerContext</A>
<DD>Add an <A HREF="./org/apache/wink/client/handlers/OutputStreamAdapter.html" title="interface in org.apache.wink.client.handlers"><CODE>OutputStreamAdapter</CODE></A> to adapt the request output stream
<DT><A HREF="./org/apache/wink/common/model/multipart/BufferedOutMultiPart.html#addPart(org.apache.wink.common.model.multipart.OutPart)"><B>addPart(OutPart)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/BufferedOutMultiPart.html" title="class in org.apache.wink.common.model.multipart">BufferedOutMultiPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#addQuery(org.apache.wink.common.model.opensearch.OpenSearchQuery)"><B>addQuery(OpenSearchQuery)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Adds OpenSearchQuery to the list of Open Search Queries
<DT><A HREF="./org/apache/wink/common/model/csv/CsvTable.html#addRow(java.lang.String...)"><B>addRow(String...)</B></A> - 
Method in class org.apache.wink.common.model.csv.<A HREF="./org/apache/wink/common/model/csv/CsvTable.html" title="class in org.apache.wink.common.model.csv">CsvTable</A>
<DD>Add a row to the table.
<DT><A HREF="./org/apache/wink/common/model/csv/MultiCsvTable.html#addTable(org.apache.wink.common.model.csv.CsvTable)"><B>addTable(CsvTable)</B></A> - 
Method in class org.apache.wink.common.model.csv.<A HREF="./org/apache/wink/common/model/csv/MultiCsvTable.html" title="class in org.apache.wink.common.model.csv">MultiCsvTable</A>
<DD>Add a table to this multi-table csv.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#addUrl(org.apache.wink.common.model.opensearch.OpenSearchUrl)"><B>addUrl(OpenSearchUrl)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Adds OpenSearchUrl to the list of Open Search Urls.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#adultContent"><B>adultContent</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpHeadersEx.html#ALLOW"><B>ALLOW</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpHeadersEx.html" title="class in org.apache.wink.common.http">HttpHeadersEx</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Allprop.html" title="class in org.apache.wink.webdav.model"><B>Allprop</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>allprop</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Allprop.html#Allprop()"><B>Allprop()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Allprop.html" title="class in org.apache.wink.webdav.model">Allprop</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#allprop"><B>allprop</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/SystemLinksBuilder.html#allResources(boolean)"><B>allResources(boolean)</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/SystemLinksBuilder.html" title="interface in org.apache.wink.server.utils">SystemLinksBuilder</A>
<DD>Determines if this system links builder will generate links for all the
 root resources that are reachable when the search mode is
 "Continued Search" or just the current active resource.
<DT><A HREF="./org/apache/wink/common/model/app/AppCollection.html#any"><B>any</B></A> - 
Variable in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app">AppCollection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppService.html#any"><B>any</B></A> - 
Variable in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppService.html" title="class in org.apache.wink.common.model.app">AppService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppWorkspace.html#any"><B>any</B></A> - 
Variable in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppWorkspace.html" title="class in org.apache.wink.common.model.app">AppWorkspace</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#any"><B>any</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#any"><B>any</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html#any"><B>any</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom">AtomPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#any"><B>any</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#any"><B>any</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Error.html#any"><B>any</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Error.html" title="class in org.apache.wink.webdav.model">Error</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#any"><B>any</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Resourcetype.html#any"><B>any</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Resourcetype.html" title="class in org.apache.wink.webdav.model">Resourcetype</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ApacheHttpClientConfig.html" title="class in org.apache.wink.client"><B>ApacheHttpClientConfig</B></A> - Class in <A HREF="./org/apache/wink/client/package-summary.html">org.apache.wink.client</A><DD>Configuration object that wraps Apache HttpClient as underling Http client.<DT><A HREF="./org/apache/wink/client/ApacheHttpClientConfig.html#ApacheHttpClientConfig()"><B>ApacheHttpClientConfig()</B></A> - 
Constructor for class org.apache.wink.client.<A HREF="./org/apache/wink/client/ApacheHttpClientConfig.html" title="class in org.apache.wink.client">ApacheHttpClientConfig</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ApacheHttpClientConfig.html#ApacheHttpClientConfig(org.apache.http.client.HttpClient)"><B>ApacheHttpClientConfig(HttpClient)</B></A> - 
Constructor for class org.apache.wink.client.<A HREF="./org/apache/wink/client/ApacheHttpClientConfig.html" title="class in org.apache.wink.client">ApacheHttpClientConfig</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RestConstants.html#APP_PREFIX"><B>APP_PREFIX</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppAccept.html" title="class in org.apache.wink.common.model.app"><B>AppAccept</B></A> - Class in <A HREF="./org/apache/wink/common/model/app/package-summary.html">org.apache.wink.common.model.app</A><DD>The "app:accept" Element Per RFC5023<DT><A HREF="./org/apache/wink/common/model/app/AppAccept.html#AppAccept()"><B>AppAccept()</B></A> - 
Constructor for class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppAccept.html" title="class in org.apache.wink.common.model.app">AppAccept</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app"><B>AppCategories</B></A> - Class in <A HREF="./org/apache/wink/common/model/app/package-summary.html">org.apache.wink.common.model.app</A><DD>The "app:categories" Element Per RFC5023<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#AppCategories()"><B>AppCategories()</B></A> - 
Constructor for class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app"><B>AppCollection</B></A> - Class in <A HREF="./org/apache/wink/common/model/app/package-summary.html">org.apache.wink.common.model.app</A><DD>The "app:collection" Element Per RFC5023<DT><A HREF="./org/apache/wink/common/model/app/AppCollection.html#AppCollection()"><B>AppCollection()</B></A> - 
Constructor for class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app">AppCollection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/SpringAwareTestCase.html#applicationContext"><B>applicationContext</B></A> - 
Variable in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/SpringAwareTestCase.html" title="class in org.apache.wink.test.mock">SpringAwareTestCase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#applications(javax.ws.rs.core.Application...)"><B>applications(Application...)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Add applications
<DT><A HREF="./org/apache/wink/common/model/app/AppService.html" title="class in org.apache.wink.common.model.app"><B>AppService</B></A> - Class in <A HREF="./org/apache/wink/common/model/app/package-summary.html">org.apache.wink.common.model.app</A><DD>The "app:service" Element Per RFC5023<DT><A HREF="./org/apache/wink/common/model/app/AppService.html#AppService()"><B>AppService()</B></A> - 
Constructor for class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppService.html" title="class in org.apache.wink.common.model.app">AppService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppWorkspace.html" title="class in org.apache.wink.common.model.app"><B>AppWorkspace</B></A> - Class in <A HREF="./org/apache/wink/common/model/app/package-summary.html">org.apache.wink.common.model.app</A><DD>The "app:workspace" Element Per RFC5023<DT><A HREF="./org/apache/wink/common/model/app/AppWorkspace.html#AppWorkspace()"><B>AppWorkspace()</B></A> - 
Constructor for class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppWorkspace.html" title="class in org.apache.wink.common.model.app">AppWorkspace</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppYesNo.html" title="enum in org.apache.wink.common.model.app"><B>AppYesNo</B></A> - Enum in <A HREF="./org/apache/wink/common/model/app/package-summary.html">org.apache.wink.common.model.app</A><DD>An enum for specifying the value of a "fixed" attribute of the app:categories
 element<DT><A HREF="./org/apache/wink/common/annotations/Asset.html" title="annotation in org.apache.wink.common.annotations"><B>Asset</B></A> - Annotation Type in <A HREF="./org/apache/wink/common/annotations/package-summary.html">org.apache.wink.common.annotations</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_HTML"><B>ATOM_HTML</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RestConstants.html#ATOM_PREFIX"><B>ATOM_PREFIX</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_REL_ALT"><B>ATOM_REL_ALT</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_REL_EDIT"><B>ATOM_REL_EDIT</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_REL_EDIT_MEDIA"><B>ATOM_REL_EDIT_MEDIA</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_REL_ENCLOSURE"><B>ATOM_REL_ENCLOSURE</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_REL_FIRST"><B>ATOM_REL_FIRST</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_REL_HISTORY"><B>ATOM_REL_HISTORY</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_REL_LAST"><B>ATOM_REL_LAST</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_REL_NEXT"><B>ATOM_REL_NEXT</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_REL_PREVIOUS"><B>ATOM_REL_PREVIOUS</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_REL_RELATED"><B>ATOM_REL_RELATED</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_REL_SEARCH"><B>ATOM_REL_SEARCH</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_REL_SELF"><B>ATOM_REL_SELF</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_REL_VIA"><B>ATOM_REL_VIA</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_TXT"><B>ATOM_TXT</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html#ATOM_XHTML"><B>ATOM_XHTML</B></A> - 
Static variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom">AtomConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom"><B>AtomCategory</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>The "atom:category" element Per RFC4287<DT><A HREF="./org/apache/wink/common/model/atom/AtomCategory.html#AtomCategory()"><B>AtomCategory()</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom">AtomCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCategory.html#AtomCategory(org.apache.wink.common.model.synd.SyndCategory)"><B>AtomCategory(SyndCategory)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom">AtomCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html" title="class in org.apache.wink.common.model.atom"><B>AtomCommonAttributes</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>Common attributes Per RFC4287<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html#AtomCommonAttributes()"><B>AtomCommonAttributes()</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html#AtomCommonAttributes(org.apache.wink.common.model.synd.SyndCommonAttributes)"><B>AtomCommonAttributes(SyndCommonAttributes)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom"><B>AtomCommonAttributesSimpleContent</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>Common attributes Per RFC4287<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html#AtomCommonAttributesSimpleContent()"><B>AtomCommonAttributesSimpleContent()</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributesSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html#AtomCommonAttributesSimpleContent(org.apache.wink.common.model.synd.SyndSimpleContent)"><B>AtomCommonAttributesSimpleContent(SyndSimpleContent)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributesSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomConstants.html" title="class in org.apache.wink.common.model.atom"><B>AtomConstants</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>Set of constants useful for ATOM related code.<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom"><B>AtomContent</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>The &quot;atom:content&quot; element Per RFC4287<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html#AtomContent()"><B>AtomContent()</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom">AtomContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html#AtomContent(org.apache.wink.common.model.synd.SyndContent)"><B>AtomContent(SyndContent)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom">AtomContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom"><B>AtomEntry</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>The "atom:entry" element Per RFC4287<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#AtomEntry()"><B>AtomEntry()</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#AtomEntry(org.apache.wink.common.model.synd.SyndEntry)"><B>AtomEntry(SyndEntry)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom"><B>AtomFeed</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>The "atom:feed" element Per RFC4287<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#AtomFeed()"><B>AtomFeed()</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#AtomFeed(org.apache.wink.common.model.synd.SyndFeed)"><B>AtomFeed(SyndFeed)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html" title="class in org.apache.wink.common.model.atom"><B>AtomGenerator</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>The "atom:generator" element Per RFC4287<DT><A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html#AtomGenerator()"><B>AtomGenerator()</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html" title="class in org.apache.wink.common.model.atom">AtomGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html#AtomGenerator(org.apache.wink.common.model.synd.SyndGenerator)"><B>AtomGenerator(SyndGenerator)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html" title="class in org.apache.wink.common.model.atom">AtomGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom"><B>AtomLink</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>The "atom:link" elementPer RFC4287<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#AtomLink()"><B>AtomLink()</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#AtomLink(org.apache.wink.common.model.synd.SyndLink)"><B>AtomLink(SyndLink)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom"><B>AtomPerson</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>The Person construct Per RFC4287<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html#AtomPerson()"><B>AtomPerson()</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom">AtomPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html#AtomPerson(org.apache.wink.common.model.synd.SyndPerson)"><B>AtomPerson(SyndPerson)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom">AtomPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom"><B>AtomText</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>Text Construct Per RFC4287<DT><A HREF="./org/apache/wink/common/model/atom/AtomText.html#AtomText()"><B>AtomText()</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom">AtomText</A>
<DD>Create an empty AtomText with no type and no value
<DT><A HREF="./org/apache/wink/common/model/atom/AtomText.html#AtomText(java.lang.String)"><B>AtomText(String)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom">AtomText</A>
<DD>Create an AtomText with a type of AtomTextType.TEXT
<DT><A HREF="./org/apache/wink/common/model/atom/AtomText.html#AtomText(java.lang.String, org.apache.wink.common.model.atom.AtomTextType)"><B>AtomText(String, AtomTextType)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom">AtomText</A>
<DD>Create an AtomText with the specified value and type
<DT><A HREF="./org/apache/wink/common/model/atom/AtomText.html#AtomText(org.apache.wink.common.model.synd.SyndText)"><B>AtomText(SyndText)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom">AtomText</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomTextType.html" title="enum in org.apache.wink.common.model.atom"><B>AtomTextType</B></A> - Enum in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>An enum for specifying the type of a Text construct<DT><A HREF="./org/apache/wink/client/Resource.html#attribute(java.lang.String, java.lang.Object)"><B>attribute(String, Object)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Set an attribute on the resource.
<DT><A HREF="./org/apache/wink/client/Resource.html#attribute(java.lang.String)"><B>attribute(String)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Get an attribute
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#attribution"><B>attribution</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#author"><B>author</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#author"><B>author</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#author"><B>author</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_B_"><!-- --></A><H2>
<B>B</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#BAD_GATEWAY"><B>BAD_GATEWAY</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#BAD_REQUEST"><B>BAD_REQUEST</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html#base"><B>base</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html#base"><B>base</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributesSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html" title="interface in org.apache.wink.server.utils"><B>BaseLinksBuilder</B></A>&lt;<A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html" title="type parameter in BaseLinksBuilder">T</A>&gt; - Interface in <A HREF="./org/apache/wink/server/utils/package-summary.html">org.apache.wink.server.utils</A><DD>Base interface for the the two types of link builders.<DT><A HREF="./org/apache/wink/client/BaseTest.html" title="class in org.apache.wink.client"><B>BaseTest</B></A> - Class in <A HREF="./org/apache/wink/client/package-summary.html">org.apache.wink.client</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/client/BaseTest.html#BaseTest()"><B>BaseTest()</B></A> - 
Constructor for class org.apache.wink.client.<A HREF="./org/apache/wink/client/BaseTest.html" title="class in org.apache.wink.client">BaseTest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html#baseUri(java.net.URI)"><B>baseUri(URI)</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html" title="interface in org.apache.wink.server.utils">BaseLinksBuilder</A>
<DD>Set the base uri for this builder.
<DT><A HREF="./org/apache/wink/common/model/multipart/BufferedInMultiPart.html" title="class in org.apache.wink.common.model.multipart"><B>BufferedInMultiPart</B></A> - Class in <A HREF="./org/apache/wink/common/model/multipart/package-summary.html">org.apache.wink.common.model.multipart</A><DD>This class is used to represent inbound MultiPart messages, unlike the <A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html" title="class in org.apache.wink.common.model.multipart"><CODE>InMultiPart</CODE></A> 
 the <A HREF="./org/apache/wink/common/model/multipart/BufferedInMultiPart.html" title="class in org.apache.wink.common.model.multipart"><CODE>BufferedInMultiPart</CODE></A> enable non sequential access to the message's parts   
  <code><DT><A HREF="./org/apache/wink/common/model/multipart/BufferedInMultiPart.html#BufferedInMultiPart(org.apache.wink.common.model.multipart.InMultiPart)"><B>BufferedInMultiPart(InMultiPart)</B></A> - 
Constructor for class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/BufferedInMultiPart.html" title="class in org.apache.wink.common.model.multipart">BufferedInMultiPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/BufferedInPart.html" title="class in org.apache.wink.common.model.multipart"><B>BufferedInPart</B></A> - Class in <A HREF="./org/apache/wink/common/model/multipart/package-summary.html">org.apache.wink.common.model.multipart</A><DD>An extension to the <A HREF="./org/apache/wink/common/model/multipart/InPart.html" title="class in org.apache.wink.common.model.multipart"><CODE>InPart</CODE></A> class that enables calling of the
 <A HREF="./org/apache/wink/common/model/multipart/InPart.html#getBody(java.lang.Class, java.lang.reflect.Type)"><CODE>InPart.getBody(Class, java.lang.reflect.Type)</CODE></A> multiple times and in a non sequential order.<DT><A HREF="./org/apache/wink/common/model/multipart/BufferedInPart.html#BufferedInPart(org.apache.wink.common.model.multipart.InPart)"><B>BufferedInPart(InPart)</B></A> - 
Constructor for class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/BufferedInPart.html" title="class in org.apache.wink.common.model.multipart">BufferedInPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/BufferedOutMultiPart.html" title="class in org.apache.wink.common.model.multipart"><B>BufferedOutMultiPart</B></A> - Class in <A HREF="./org/apache/wink/common/model/multipart/package-summary.html">org.apache.wink.common.model.multipart</A><DD>A simple implementation of the <A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html" title="class in org.apache.wink.common.model.multipart"><CODE>OutMultiPart</CODE></A><DT><A HREF="./org/apache/wink/common/model/multipart/BufferedOutMultiPart.html#BufferedOutMultiPart()"><B>BufferedOutMultiPart()</B></A> - 
Constructor for class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/BufferedOutMultiPart.html" title="class in org.apache.wink.common.model.multipart">BufferedOutMultiPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html#build(java.util.List)"><B>build(List&lt;SyndLink&gt;)</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html" title="interface in org.apache.wink.server.utils">BaseLinksBuilder</A>
<DD>Build the link(s) and add them to the provided list.
</DL>
<HR>
<A NAME="_C_"><!-- --></A><H2>
<B>C</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories"><B>Categories</B></A> - Class in <A HREF="./org/apache/wink/common/categories/package-summary.html">org.apache.wink.common.categories</A><DD>The Atom Publishing Protocol introduces the notion of a "Category Document"
 and the app:categories element.<DT><A HREF="./org/apache/wink/common/categories/Categories.html#Categories(java.util.List)"><B>Categories(List&lt;AtomCategory&gt;)</B></A> - 
Constructor for class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Constructor
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#Categories()"><B>Categories()</B></A> - 
Constructor for class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Constructor
<DT><A HREF="./org/apache/wink/common/model/app/AppCollection.html#categories"><B>categories</B></A> - 
Variable in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app">AppCollection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#category"><B>category</B></A> - 
Variable in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#category"><B>category</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#category"><B>category</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#category"><B>category</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#category"><B>category</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssFeed.html#channel"><B>channel</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssFeed.html" title="class in org.apache.wink.common.model.rss">RssFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RestConstants.html#CHARACTER_ENCODING_UTF_8"><B>CHARACTER_ENCODING_UTF_8</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RestConstants.html#CHARSET_PARAM"><B>CHARSET_PARAM</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#checkValidity()"><B>checkValidity()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html#checkValidity()"><B>checkValidity()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom">AtomContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client"><B>ClientConfig</B></A> - Class in <A HREF="./org/apache/wink/client/package-summary.html">org.apache.wink.client</A><DD>Provides client configuration.<DT><A HREF="./org/apache/wink/client/ClientConfig.html#ClientConfig()"><B>ClientConfig()</B></A> - 
Constructor for class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Construct a new ClientConfig with the following default settings:
 
 proxy: none
 connect timeout: 60 seconds
 read timeout: 60 seconds
 follow redirects: true
 
<DT><A HREF="./org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client"><B>ClientConfigException</B></A> - Exception in <A HREF="./org/apache/wink/client/package-summary.html">org.apache.wink.client</A><DD>Exception that is thrown for illegal configuration operations<DT><A HREF="./org/apache/wink/client/ClientConfigException.html#ClientConfigException()"><B>ClientConfigException()</B></A> - 
Constructor for exception org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client">ClientConfigException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientConfigException.html#ClientConfigException(java.lang.String, java.lang.Throwable)"><B>ClientConfigException(String, Throwable)</B></A> - 
Constructor for exception org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client">ClientConfigException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientConfigException.html#ClientConfigException(java.lang.String)"><B>ClientConfigException(String)</B></A> - 
Constructor for exception org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client">ClientConfigException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientConfigException.html#ClientConfigException(java.lang.Throwable)"><B>ClientConfigException(Throwable)</B></A> - 
Constructor for exception org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client">ClientConfigException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/handlers/ClientHandler.html" title="interface in org.apache.wink.client.handlers"><B>ClientHandler</B></A> - Interface in <A HREF="./org/apache/wink/client/handlers/package-summary.html">org.apache.wink.client.handlers</A><DD>Interface that all client handlers must implement<DT><A HREF="./org/apache/wink/client/ClientRequest.html" title="interface in org.apache.wink.client"><B>ClientRequest</B></A> - Interface in <A HREF="./org/apache/wink/client/package-summary.html">org.apache.wink.client</A><DD>Represents a request issued by invoking any one of the invocation methods on
 a <A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client"><CODE>Resource</CODE></A>.<DT><A HREF="./org/apache/wink/client/ClientResponse.html" title="interface in org.apache.wink.client"><B>ClientResponse</B></A> - Interface in <A HREF="./org/apache/wink/client/package-summary.html">org.apache.wink.client</A><DD>Represents an http response that was received after invoking any one of the
 invocation methods on a <A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client"><CODE>Resource</CODE></A>.<DT><A HREF="./org/apache/wink/client/ClientRuntimeException.html" title="class in org.apache.wink.client"><B>ClientRuntimeException</B></A> - Exception in <A HREF="./org/apache/wink/client/package-summary.html">org.apache.wink.client</A><DD>Exception used to indicate runtime exception during client invocations<DT><A HREF="./org/apache/wink/client/ClientRuntimeException.html#ClientRuntimeException()"><B>ClientRuntimeException()</B></A> - 
Constructor for exception org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientRuntimeException.html" title="class in org.apache.wink.client">ClientRuntimeException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientRuntimeException.html#ClientRuntimeException(java.lang.String, java.lang.Throwable)"><B>ClientRuntimeException(String, Throwable)</B></A> - 
Constructor for exception org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientRuntimeException.html" title="class in org.apache.wink.client">ClientRuntimeException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientRuntimeException.html#ClientRuntimeException(java.lang.String)"><B>ClientRuntimeException(String)</B></A> - 
Constructor for exception org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientRuntimeException.html" title="class in org.apache.wink.client">ClientRuntimeException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientRuntimeException.html#ClientRuntimeException(java.lang.Throwable)"><B>ClientRuntimeException(Throwable)</B></A> - 
Constructor for exception org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientRuntimeException.html" title="class in org.apache.wink.client">ClientRuntimeException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientWebException.html" title="class in org.apache.wink.client"><B>ClientWebException</B></A> - Exception in <A HREF="./org/apache/wink/client/package-summary.html">org.apache.wink.client</A><DD>An exception that indicates that an http error code was returned from the
 server<DT><A HREF="./org/apache/wink/client/ClientWebException.html#ClientWebException(org.apache.wink.client.ClientRequest, org.apache.wink.client.ClientResponse)"><B>ClientWebException(ClientRequest, ClientResponse)</B></A> - 
Constructor for exception org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientWebException.html" title="class in org.apache.wink.client">ClientWebException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html" title="class in org.apache.wink.server.handlers">AbstractHandlersChain</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#cloud"><B>cloud</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppWorkspace.html#collection"><B>collection</B></A> - 
Variable in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppWorkspace.html" title="class in org.apache.wink.common.model.app">AppWorkspace</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Collection.html" title="class in org.apache.wink.webdav.model"><B>Collection</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>collection</code> XML element per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Collection.html#Collection()"><B>Collection()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Collection.html" title="class in org.apache.wink.webdav.model">Collection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Resourcetype.html#collection"><B>collection</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Resourcetype.html" title="class in org.apache.wink.webdav.model">Resourcetype</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/categories/CollectionCategories.html" title="interface in org.apache.wink.common.categories"><B>CollectionCategories</B></A> - Interface in <A HREF="./org/apache/wink/common/categories/package-summary.html">org.apache.wink.common.categories</A><DD>A contract implemented by a Collection resource to provide a set of supported
 categories represented in Atom Service Document.<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#comments"><B>comments</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#CONFLICT"><B>CONFLICT</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpMethodEx.html#CONNECT"><B>CONNECT</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpMethodEx.html" title="class in org.apache.wink.common.http">HttpMethodEx</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/handlers/ConnectionHandler.html" title="interface in org.apache.wink.client.handlers"><B>ConnectionHandler</B></A> - Interface in <A HREF="./org/apache/wink/client/handlers/package-summary.html">org.apache.wink.client.handlers</A><DD>Interface for specifying that a handler is the connection handler and is the
 last handler on the handler chain<DT><A HREF="./org/apache/wink/client/ClientConfig.html#connectTimeout(int)"><B>connectTimeout(int)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Set the connect timeout in milliseconds
<DT><A HREF="./org/apache/wink/test/mock/MockRequestConstructor.html#constructMockRequest(java.lang.String, java.lang.String, javax.ws.rs.core.MediaType)"><B>constructMockRequest(String, String, MediaType)</B></A> - 
Static method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/MockRequestConstructor.html" title="class in org.apache.wink.test.mock">MockRequestConstructor</A>
<DD>Construct a mock request to be used in tests.
<DT><A HREF="./org/apache/wink/test/mock/MockRequestConstructor.html#constructMockRequest(java.lang.String, java.lang.String, java.lang.String)"><B>constructMockRequest(String, String, String)</B></A> - 
Static method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/MockRequestConstructor.html" title="class in org.apache.wink.test.mock">MockRequestConstructor</A>
<DD>Construct a mock request to be used in tests.
<DT><A HREF="./org/apache/wink/test/mock/MockRequestConstructor.html#constructMockRequest(java.lang.String, java.lang.String, java.lang.String, java.lang.String, byte[])"><B>constructMockRequest(String, String, String, String, byte[])</B></A> - 
Static method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/MockRequestConstructor.html" title="class in org.apache.wink.test.mock">MockRequestConstructor</A>
<DD>Construct a mock request to be used in tests.
<DT><A HREF="./org/apache/wink/test/mock/MockRequestConstructor.html#constructMockRequest(java.lang.String, java.lang.String, java.lang.String, java.util.Map, java.util.Map)"><B>constructMockRequest(String, String, String, Map&lt;?, ?&gt;, Map&lt;String, Object&gt;)</B></A> - 
Static method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/MockRequestConstructor.html" title="class in org.apache.wink.test.mock">MockRequestConstructor</A>
<DD>Construct a mock request to be used in tests.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#contact"><B>contact</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#contains(java.lang.String)"><B>contains(String)</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Returns true if this app:categories listing contains a Category with the
 specified term
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#contains(java.lang.String, java.lang.String)"><B>contains(String, String)</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Returns true if this app:categories listing contains a Category with the
 specified term and scheme
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#content"><B>content</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssCategory.html#content"><B>content</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCategory.html" title="class in org.apache.wink.common.model.rss">RssCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssGuid.html#content"><B>content</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssGuid.html" title="class in org.apache.wink.common.model.rss">RssGuid</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssSource.html#content"><B>content</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssSource.html" title="class in org.apache.wink.common.model.rss">RssSource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Creationdate.html#content"><B>content</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Creationdate.html" title="class in org.apache.wink.webdav.model">Creationdate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Displayname.html#content"><B>content</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Displayname.html" title="class in org.apache.wink.webdav.model">Displayname</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Getcontentlanguage.html#content"><B>content</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontentlanguage.html" title="class in org.apache.wink.webdav.model">Getcontentlanguage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Getcontentlength.html#content"><B>content</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontentlength.html" title="class in org.apache.wink.webdav.model">Getcontentlength</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Getcontenttype.html#content"><B>content</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontenttype.html" title="class in org.apache.wink.webdav.model">Getcontenttype</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Getetag.html#content"><B>content</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getetag.html" title="class in org.apache.wink.webdav.model">Getetag</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Getlastmodified.html#content"><B>content</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getlastmodified.html" title="class in org.apache.wink.webdav.model">Getlastmodified</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Keepalive.html#content"><B>content</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Keepalive.html" title="class in org.apache.wink.webdav.model">Keepalive</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Owner.html#content"><B>content</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Owner.html" title="class in org.apache.wink.webdav.model">Owner</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpHeadersEx.html#CONTENT_DISPOSITION"><B>CONTENT_DISPOSITION</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpHeadersEx.html" title="class in org.apache.wink.common.http">HttpHeadersEx</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/Resource.html#contentType(java.lang.String)"><B>contentType(String)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Set the Content-Type header, overriding any previous value.
<DT><A HREF="./org/apache/wink/client/Resource.html#contentType(javax.ws.rs.core.MediaType)"><B>contentType(MediaType)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Set the Content-Type header, overriding any previous value.
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#CONTINUE"><B>CONTINUE</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#contributor"><B>contributor</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#contributor"><B>contributor</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#convertDateToXMLDate(java.util.Date)"><B>convertDateToXMLDate(Date)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#convertXMLDateToDate(java.lang.String)"><B>convertXMLDateToDate(String)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/Resource.html#cookie(java.lang.String)"><B>cookie(String)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Add a Cookie value.
<DT><A HREF="./org/apache/wink/client/Resource.html#cookie(javax.ws.rs.core.Cookie)"><B>cookie(Cookie)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Add a Cookie value.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#copyright"><B>copyright</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#copyStream(java.io.InputStream, java.io.OutputStream)"><B>copyStream(InputStream, OutputStream)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#copyTo(org.apache.wink.webdav.model.Prop)"><B>copyTo(Prop)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Performs a shallow copy of all elements in this Prop instance into the
 dest Prop instance
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#count"><B>count</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.html#create(javax.ws.rs.core.UriInfo)"><B>create(UriInfo)</B></A> - 
Static method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/ObjectFactory.html#createAccept(org.apache.wink.common.model.app.AppAccept)"><B>createAccept(AppAccept)</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/ObjectFactory.html" title="class in org.apache.wink.common.model.app">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><A HREF="./org/apache/wink/common/model/app/AppAccept.html" title="class in org.apache.wink.common.model.app"><CODE>AppAccept</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createActivelock()"><B>createActivelock()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model"><CODE>Activelock</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createAllprop()"><B>createAllprop()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Allprop.html" title="class in org.apache.wink.webdav.model"><CODE>Allprop</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/app/ObjectFactory.html#createAppAccept()"><B>createAppAccept()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/ObjectFactory.html" title="class in org.apache.wink.common.model.app">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/app/AppAccept.html" title="class in org.apache.wink.common.model.app"><CODE>AppAccept</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/app/ObjectFactory.html#createAppCategories()"><B>createAppCategories()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/ObjectFactory.html" title="class in org.apache.wink.common.model.app">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app"><CODE>AppCategories</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/app/ObjectFactory.html#createAppCollection()"><B>createAppCollection()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/ObjectFactory.html" title="class in org.apache.wink.common.model.app">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app"><CODE>AppCollection</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/app/ObjectFactory.html#createAppService()"><B>createAppService()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/ObjectFactory.html" title="class in org.apache.wink.common.model.app">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/app/AppService.html" title="class in org.apache.wink.common.model.app"><CODE>AppService</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/app/ObjectFactory.html#createAppWorkspace()"><B>createAppWorkspace()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/ObjectFactory.html" title="class in org.apache.wink.common.model.app">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/app/AppWorkspace.html" title="class in org.apache.wink.common.model.app"><CODE>AppWorkspace</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createAtomCategory()"><B>createAtomCategory()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomCategory</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createAtomCommonAttributes()"><B>createAtomCommonAttributes()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomCommonAttributes</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createAtomCommonAttributesSimpleContent()"><B>createAtomCommonAttributesSimpleContent()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomCommonAttributesSimpleContent</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createAtomContent()"><B>createAtomContent()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomContent</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createAtomEntry()"><B>createAtomEntry()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomEntry</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createAtomFeed()"><B>createAtomFeed()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomFeed</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createAtomGenerator()"><B>createAtomGenerator()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomGenerator</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createAtomLink()"><B>createAtomLink()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomLink</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createAtomPerson()"><B>createAtomPerson()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomPerson</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createAtomText()"><B>createAtomText()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomText</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createAtomXhtml()"><B>createAtomXhtml()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createAtomXhtml(org.apache.wink.common.internal.model.AtomXhtml)"><B>createAtomXhtml(AtomXhtml)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createAttribution(java.lang.String)"><B>createAttribution(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/app/ObjectFactory.html#createCategories(org.apache.wink.common.model.app.AppCategories)"><B>createCategories(AppCategories)</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/ObjectFactory.html" title="class in org.apache.wink.common.model.app">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app"><CODE>AppCategories</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createCategory(org.apache.wink.common.model.atom.AtomCategory)"><B>createCategory(AtomCategory)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomCategory</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/app/ObjectFactory.html#createCollection(org.apache.wink.common.model.app.AppCollection)"><B>createCollection(AppCollection)</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/ObjectFactory.html" title="class in org.apache.wink.common.model.app">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app"><CODE>AppCollection</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createCollection()"><B>createCollection()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Collection.html" title="class in org.apache.wink.webdav.model"><CODE>Collection</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createContact(java.lang.String)"><B>createContact(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createContent(org.apache.wink.common.model.atom.AtomContent)"><B>createContent(AtomContent)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomContent</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createCreationdate()"><B>createCreationdate()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Creationdate.html" title="class in org.apache.wink.webdav.model"><CODE>Creationdate</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/csv/MultiCsvTable.html#createCsvTable(java.lang.String...)"><B>createCsvTable(String...)</B></A> - 
Method in class org.apache.wink.common.model.csv.<A HREF="./org/apache/wink/common/model/csv/MultiCsvTable.html" title="class in org.apache.wink.common.model.csv">MultiCsvTable</A>
<DD>Create a new CsvTable with the specified header, and add it to this
 multi-table csv
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#CREATED"><B>CREATED</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createDepth(java.lang.String)"><B>createDepth(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createDescription(java.lang.String)"><B>createDescription(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createDeveloper(java.lang.String)"><B>createDeveloper(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createDisplayname()"><B>createDisplayname()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Displayname.html" title="class in org.apache.wink.webdav.model"><CODE>Displayname</CODE></A>
<DT><A HREF="./org/apache/wink/test/mock/TestUtils.html#createDocumentBuilder()"><B>createDocumentBuilder()</B></A> - 
Static method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/TestUtils.html" title="class in org.apache.wink.test.mock">TestUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createDst(java.lang.String)"><B>createDst(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#createElement(javax.xml.namespace.QName)"><B>createElement(QName)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#createElement(javax.xml.namespace.QName, java.lang.String)"><B>createElement(QName, String)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#createElement(javax.xml.namespace.QName, org.w3c.dom.Element)"><B>createElement(QName, Element)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#createElement(java.lang.String, java.lang.String)"><B>createElement(String, String)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#createElement(java.lang.String, java.lang.String, java.lang.String)"><B>createElement(String, String, String)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#createElement(java.lang.String, java.lang.String, org.w3c.dom.Element)"><B>createElement(String, String, Element)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createEntry(org.apache.wink.common.model.atom.AtomEntry)"><B>createEntry(AtomEntry)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomEntry</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createError()"><B>createError()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Error.html" title="class in org.apache.wink.webdav.model"><CODE>Error</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createExclusive()"><B>createExclusive()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Exclusive.html" title="class in org.apache.wink.webdav.model"><CODE>Exclusive</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createFeed(org.apache.wink.common.model.atom.AtomFeed)"><B>createFeed(AtomFeed)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomFeed</CODE></A><code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createGetcontentlanguage()"><B>createGetcontentlanguage()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Getcontentlanguage.html" title="class in org.apache.wink.webdav.model"><CODE>Getcontentlanguage</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createGetcontentlength()"><B>createGetcontentlength()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Getcontentlength.html" title="class in org.apache.wink.webdav.model"><CODE>Getcontentlength</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createGetcontenttype()"><B>createGetcontenttype()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Getcontenttype.html" title="class in org.apache.wink.webdav.model"><CODE>Getcontenttype</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createGetetag()"><B>createGetetag()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Getetag.html" title="class in org.apache.wink.webdav.model"><CODE>Getetag</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createGetlastmodified()"><B>createGetlastmodified()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Getlastmodified.html" title="class in org.apache.wink.webdav.model"><CODE>Getlastmodified</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createHref(java.lang.String)"><B>createHref(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createImage(org.apache.wink.common.model.opensearch.OpenSearchImage)"><B>createImage(OpenSearchImage)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch"><CODE>OpenSearchImage</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createInputEncoding(java.lang.String)"><B>createInputEncoding(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createItemsPerPage(java.math.BigInteger)"><B>createItemsPerPage(BigInteger)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>BigInteger</CODE>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createKeepalive()"><B>createKeepalive()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Keepalive.html" title="class in org.apache.wink.webdav.model"><CODE>Keepalive</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createLanguage(java.lang.String)"><B>createLanguage(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createLink()"><B>createLink()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Link.html" title="class in org.apache.wink.webdav.model"><CODE>Link</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createLockdiscovery()"><B>createLockdiscovery()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Lockdiscovery.html" title="class in org.apache.wink.webdav.model"><CODE>Lockdiscovery</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createLockentry()"><B>createLockentry()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Lockentry.html" title="class in org.apache.wink.webdav.model"><CODE>Lockentry</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createLockinfo()"><B>createLockinfo()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Lockinfo.html" title="class in org.apache.wink.webdav.model"><CODE>Lockinfo</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createLockscope()"><B>createLockscope()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Lockscope.html" title="class in org.apache.wink.webdav.model"><CODE>Lockscope</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createLocktoken()"><B>createLocktoken()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Locktoken.html" title="class in org.apache.wink.webdav.model"><CODE>Locktoken</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createLocktype()"><B>createLocktype()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Locktype.html" title="class in org.apache.wink.webdav.model"><CODE>Locktype</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createLongName(java.lang.String)"><B>createLongName(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#createMarshaller()"><B>createMarshaller()</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createMultistatus()"><B>createMultistatus()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Multistatus.html" title="class in org.apache.wink.webdav.model"><CODE>Multistatus</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createOmit()"><B>createOmit()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Omit.html" title="class in org.apache.wink.webdav.model"><CODE>Omit</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createOpenSearchDescription()"><B>createOpenSearchDescription()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch"><CODE>OpenSearchDescription</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createOpenSearchDescription(org.apache.wink.common.model.opensearch.OpenSearchDescription)"><B>createOpenSearchDescription(OpenSearchDescription)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code>
 <A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch"><CODE>OpenSearchDescription</CODE></A><code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createOpenSearchImage()"><B>createOpenSearchImage()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch"><CODE>OpenSearchImage</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createOpenSearchQuery()"><B>createOpenSearchQuery()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch"><CODE>OpenSearchQuery</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createOpenSearchUrl()"><B>createOpenSearchUrl()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch"><CODE>OpenSearchUrl</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createOutputEncoding(java.lang.String)"><B>createOutputEncoding(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createOwner()"><B>createOwner()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Owner.html" title="class in org.apache.wink.webdav.model"><CODE>Owner</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createProp()"><B>createProp()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model"><CODE>Prop</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createPropertybehavior()"><B>createPropertybehavior()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Propertybehavior.html" title="class in org.apache.wink.webdav.model"><CODE>Propertybehavior</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createPropertyupdate()"><B>createPropertyupdate()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Propertyupdate.html" title="class in org.apache.wink.webdav.model"><CODE>Propertyupdate</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createPropfind()"><B>createPropfind()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model"><CODE>Propfind</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createPropname()"><B>createPropname()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Propname.html" title="class in org.apache.wink.webdav.model"><CODE>Propname</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createPropstat()"><B>createPropstat()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model"><CODE>Propstat</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createQuery(org.apache.wink.common.model.opensearch.OpenSearchQuery)"><B>createQuery(OpenSearchQuery)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch"><CODE>OpenSearchQuery</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#createReader(java.io.InputStream, javax.ws.rs.core.MediaType)"><B>createReader(InputStream, MediaType)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createRemove()"><B>createRemove()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Remove.html" title="class in org.apache.wink.webdav.model"><CODE>Remove</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createResourcetype()"><B>createResourcetype()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Resourcetype.html" title="class in org.apache.wink.webdav.model"><CODE>Resourcetype</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createResponse()"><B>createResponse()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model"><CODE>Response</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createResponsedescription(java.lang.String)"><B>createResponsedescription(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssCategory()"><B>createRssCategory()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/rss/RssCategory.html" title="class in org.apache.wink.common.model.rss"><CODE>RssCategory</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssCategory(org.apache.wink.common.model.rss.RssCategory)"><B>createRssCategory(RssCategory)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE> <code>&lt;</code> <A HREF="./org/apache/wink/common/model/rss/RssCategory.html" title="class in org.apache.wink.common.model.rss"><CODE>RssCategory</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssChannel()"><B>createRssChannel()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss"><CODE>RssChannel</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssChannel(org.apache.wink.common.model.rss.RssChannel)"><B>createRssChannel(RssChannel)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE> <code>&lt;</code> <A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss"><CODE>RssChannel</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssCloud()"><B>createRssCloud()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss"><CODE>RssCloud</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssCloud(org.apache.wink.common.model.rss.RssCloud)"><B>createRssCloud(RssCloud)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE> <code>&lt;</code> <A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss"><CODE>RssCloud</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssEnclosure()"><B>createRssEnclosure()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html" title="class in org.apache.wink.common.model.rss"><CODE>RssEnclosure</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssEnclosure(org.apache.wink.common.model.rss.RssEnclosure)"><B>createRssEnclosure(RssEnclosure)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE> <code>&lt;</code> <A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html" title="class in org.apache.wink.common.model.rss"><CODE>RssEnclosure</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssFeed()"><B>createRssFeed()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/rss/RssFeed.html" title="class in org.apache.wink.common.model.rss"><CODE>RssFeed</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssGuid()"><B>createRssGuid()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/rss/RssGuid.html" title="class in org.apache.wink.common.model.rss"><CODE>RssGuid</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssGuid(org.apache.wink.common.model.rss.RssGuid)"><B>createRssGuid(RssGuid)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE> <code>&lt;</code> <A HREF="./org/apache/wink/common/model/rss/RssGuid.html" title="class in org.apache.wink.common.model.rss"><CODE>RssGuid</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssImage()"><B>createRssImage()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss"><CODE>RssImage</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssImage(org.apache.wink.common.model.rss.RssImage)"><B>createRssImage(RssImage)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE> <code>&lt;</code> <A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss"><CODE>RssImage</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssItem()"><B>createRssItem()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss"><CODE>RssItem</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssItem(org.apache.wink.common.model.rss.RssItem)"><B>createRssItem(RssItem)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE> <code>&lt;</code> <A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss"><CODE>RssItem</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssSkipDays()"><B>createRssSkipDays()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/rss/RssSkipDays.html" title="class in org.apache.wink.common.model.rss"><CODE>RssSkipDays</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssSkipDays(org.apache.wink.common.model.rss.RssSkipDays)"><B>createRssSkipDays(RssSkipDays)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE> <code>&lt;</code> <A HREF="./org/apache/wink/common/model/rss/RssSkipDays.html" title="class in org.apache.wink.common.model.rss"><CODE>RssSkipDays</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssSkipHours()"><B>createRssSkipHours()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/rss/RssSkipHours.html" title="class in org.apache.wink.common.model.rss"><CODE>RssSkipHours</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssSkipHours(org.apache.wink.common.model.rss.RssSkipHours)"><B>createRssSkipHours(RssSkipHours)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE> <code>&lt;</code> <A HREF="./org/apache/wink/common/model/rss/RssSkipHours.html" title="class in org.apache.wink.common.model.rss"><CODE>RssSkipHours</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssSource()"><B>createRssSource()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/rss/RssSource.html" title="class in org.apache.wink.common.model.rss"><CODE>RssSource</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssSource(org.apache.wink.common.model.rss.RssSource)"><B>createRssSource(RssSource)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE> <code>&lt;</code> <A HREF="./org/apache/wink/common/model/rss/RssSource.html" title="class in org.apache.wink.common.model.rss"><CODE>RssSource</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssTextInput()"><B>createRssTextInput()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss"><CODE>RssTextInput</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#createRssTextInput(org.apache.wink.common.model.rss.RssTextInput)"><B>createRssTextInput(RssTextInput)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE> <code>&lt;</code> <A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss"><CODE>RssTextInput</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/app/ObjectFactory.html#createService(org.apache.wink.common.model.app.AppService)"><B>createService(AppService)</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/ObjectFactory.html" title="class in org.apache.wink.common.model.app">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><A HREF="./org/apache/wink/common/model/app/AppService.html" title="class in org.apache.wink.common.model.app"><CODE>AppService</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createSet()"><B>createSet()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Set.html" title="class in org.apache.wink.webdav.model"><CODE>Set</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createShared()"><B>createShared()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Shared.html" title="class in org.apache.wink.webdav.model"><CODE>Shared</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createShortName(java.lang.String)"><B>createShortName(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/server/utils/LinkBuilders.html#createSingleLinkBuilder()"><B>createSingleLinkBuilder()</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/LinkBuilders.html" title="interface in org.apache.wink.server.utils">LinkBuilders</A>
<DD>Get a new instance of a <A HREF="./org/apache/wink/server/utils/SingleLinkBuilder.html" title="interface in org.apache.wink.server.utils"><CODE>SingleLinkBuilder</CODE></A>.
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createSrc(java.lang.String)"><B>createSrc(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createStartIndex(java.math.BigInteger)"><B>createStartIndex(BigInteger)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>BigInteger</CODE>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createStatus(java.lang.String)"><B>createStatus(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createSupportedlock()"><B>createSupportedlock()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Supportedlock.html" title="class in org.apache.wink.webdav.model"><CODE>Supportedlock</CODE></A>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createSyndicationRight(java.lang.String)"><B>createSyndicationRight(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/server/utils/LinkBuilders.html#createSystemLinksBuilder()"><B>createSystemLinksBuilder()</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/LinkBuilders.html" title="interface in org.apache.wink.server.utils">LinkBuilders</A>
<DD>Get a new instance of a <A HREF="./org/apache/wink/server/utils/SystemLinksBuilder.html" title="interface in org.apache.wink.server.utils"><CODE>SystemLinksBuilder</CODE></A>.
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createTags(java.lang.String)"><B>createTags(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createTimeout(java.lang.String)"><B>createTimeout(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>String</CODE><code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#createTitle(org.apache.wink.common.model.atom.AtomText)"><B>createTitle(AtomText)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom"><CODE>AtomText</CODE></A><code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createTotalResults(java.math.BigInteger)"><B>createTotalResults(BigInteger)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><CODE>BigInteger</CODE>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#createUnmarshaller()"><B>createUnmarshaller()</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#createUrl(org.apache.wink.common.model.opensearch.OpenSearchUrl)"><B>createUrl(OpenSearchUrl)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch"><CODE>OpenSearchUrl</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/common/model/app/ObjectFactory.html#createWorkspace(org.apache.wink.common.model.app.AppWorkspace)"><B>createWorkspace(AppWorkspace)</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/ObjectFactory.html" title="class in org.apache.wink.common.model.app">ObjectFactory</A>
<DD>Create an instance of <CODE>JAXBElement</CODE><code>&lt;</code><A HREF="./org/apache/wink/common/model/app/AppWorkspace.html" title="class in org.apache.wink.common.model.app"><CODE>AppWorkspace</CODE></A>
 <code>&gt;</code>
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#createWrite()"><B>createWrite()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create an instance of <A HREF="./org/apache/wink/webdav/model/Write.html" title="class in org.apache.wink.webdav.model"><CODE>Write</CODE></A>
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#createWriter(java.io.OutputStream, javax.ws.rs.core.MediaType)"><B>createWriter(OutputStream, MediaType)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Creationdate.html" title="class in org.apache.wink.webdav.model"><B>Creationdate</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>creationdate</code> Property per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Creationdate.html#Creationdate()"><B>Creationdate()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Creationdate.html" title="class in org.apache.wink.webdav.model">Creationdate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Creationdate.html#Creationdate(java.lang.String)"><B>Creationdate(String)</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Creationdate.html" title="class in org.apache.wink.webdav.model">Creationdate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Creationdate.html#Creationdate(java.util.Date)"><B>Creationdate(Date)</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Creationdate.html" title="class in org.apache.wink.webdav.model">Creationdate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#creationdate"><B>creationdate</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/csv/CsvDeserializer.html" title="interface in org.apache.wink.common.model.csv"><B>CsvDeserializer</B></A> - Interface in <A HREF="./org/apache/wink/common/model/csv/package-summary.html">org.apache.wink.common.model.csv</A><DD>This interface is used in the deserialization of a CSV<DT><A HREF="./org/apache/wink/common/model/csv/CsvSerializer.html" title="interface in org.apache.wink.common.model.csv"><B>CsvSerializer</B></A> - Interface in <A HREF="./org/apache/wink/common/model/csv/package-summary.html">org.apache.wink.common.model.csv</A><DD>This interface is used in the serialization of a CSV<DT><A HREF="./org/apache/wink/common/model/csv/CsvTable.html" title="class in org.apache.wink.common.model.csv"><B>CsvTable</B></A> - Class in <A HREF="./org/apache/wink/common/model/csv/package-summary.html">org.apache.wink.common.model.csv</A><DD>Represents a CSV table with multiple rows.<DT><A HREF="./org/apache/wink/common/model/csv/CsvTable.html#CsvTable()"><B>CsvTable()</B></A> - 
Constructor for class org.apache.wink.common.model.csv.<A HREF="./org/apache/wink/common/model/csv/CsvTable.html" title="class in org.apache.wink.common.model.csv">CsvTable</A>
<DD>Creates a new CsvTable without a header
<DT><A HREF="./org/apache/wink/common/model/csv/CsvTable.html#CsvTable(java.lang.String...)"><B>CsvTable(String...)</B></A> - 
Constructor for class org.apache.wink.common.model.csv.<A HREF="./org/apache/wink/common/model/csv/CsvTable.html" title="class in org.apache.wink.common.model.csv">CsvTable</A>
<DD>Creates a new CsvTable with the specified header.
</DL>
<HR>
<A NAME="_D_"><!-- --></A><H2>
<B>D</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/webdav/WebDAVHeaders.html#DAV"><B>DAV</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVHeaders.html" title="class in org.apache.wink.webdav">WebDAVHeaders</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssSkipDays.html#day"><B>day</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssSkipDays.html" title="class in org.apache.wink.common.model.rss">RssSkipDays</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/WinkApplication.html#DEFAULT_PRIORITY"><B>DEFAULT_PRIORITY</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/WinkApplication.html" title="class in org.apache.wink.common">WinkApplication</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/Resource.html#delete(java.lang.Class)"><B>delete(Class&lt;T&gt;)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke the DELETE method
<DT><A HREF="./org/apache/wink/client/Resource.html#delete(org.apache.wink.client.EntityType)"><B>delete(EntityType&lt;T&gt;)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke the DELETE method
<DT><A HREF="./org/apache/wink/client/Resource.html#delete()"><B>delete()</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke the DELETE method
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#depth"><B>depth</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVHeaders.html#DEPTH"><B>DEPTH</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVHeaders.html" title="class in org.apache.wink.webdav">WebDAVHeaders</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#description"><B>description</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#description"><B>description</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#description"><B>description</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#description"><B>description</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssTextInput.html#description"><B>description</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss">RssTextInput</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVHeaders.html#DESTINATION"><B>DESTINATION</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVHeaders.html" title="class in org.apache.wink.webdav">WebDAVHeaders</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#developer"><B>developer</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/diff/DifferenceListenerIgnoreUpdateOrCompareTimes.html#differenceFound(org.custommonkey.xmlunit.Difference)"><B>differenceFound(Difference)</B></A> - 
Method in class org.apache.wink.test.diff.<A HREF="./org/apache/wink/test/diff/DifferenceListenerIgnoreUpdateOrCompareTimes.html" title="class in org.apache.wink.test.diff">DifferenceListenerIgnoreUpdateOrCompareTimes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/diff/DifferenceListenerIgnoreWhitespace.html#differenceFound(org.custommonkey.xmlunit.Difference)"><B>differenceFound(Difference)</B></A> - 
Method in class org.apache.wink.test.diff.<A HREF="./org/apache/wink/test/diff/DifferenceListenerIgnoreWhitespace.html" title="class in org.apache.wink.test.diff">DifferenceListenerIgnoreWhitespace</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/diff/DifferenceListenerIgnoreUpdateOrCompareTimes.html" title="class in org.apache.wink.test.diff"><B>DifferenceListenerIgnoreUpdateOrCompareTimes</B></A> - Class in <A HREF="./org/apache/wink/test/diff/package-summary.html">org.apache.wink.test.diff</A><DD>Implementation of difference listener that ignores element <feed><update><DT><A HREF="./org/apache/wink/test/diff/DifferenceListenerIgnoreUpdateOrCompareTimes.html#DifferenceListenerIgnoreUpdateOrCompareTimes()"><B>DifferenceListenerIgnoreUpdateOrCompareTimes()</B></A> - 
Constructor for class org.apache.wink.test.diff.<A HREF="./org/apache/wink/test/diff/DifferenceListenerIgnoreUpdateOrCompareTimes.html" title="class in org.apache.wink.test.diff">DifferenceListenerIgnoreUpdateOrCompareTimes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/diff/DifferenceListenerIgnoreWhitespace.html" title="class in org.apache.wink.test.diff"><B>DifferenceListenerIgnoreWhitespace</B></A> - Class in <A HREF="./org/apache/wink/test/diff/package-summary.html">org.apache.wink.test.diff</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/test/diff/DifferenceListenerIgnoreWhitespace.html#DifferenceListenerIgnoreWhitespace()"><B>DifferenceListenerIgnoreWhitespace()</B></A> - 
Constructor for class org.apache.wink.test.diff.<A HREF="./org/apache/wink/test/diff/DifferenceListenerIgnoreWhitespace.html" title="class in org.apache.wink.test.diff">DifferenceListenerIgnoreWhitespace</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/diff/DiffIgnoreUpdateWithAttributeQualifier.html" title="class in org.apache.wink.test.diff"><B>DiffIgnoreUpdateWithAttributeQualifier</B></A> - Class in <A HREF="./org/apache/wink/test/diff/package-summary.html">org.apache.wink.test.diff</A><DD>Class that overrides XmlUnit DiffWithAttributeQualifier class.<DT><A HREF="./org/apache/wink/test/diff/DiffIgnoreUpdateWithAttributeQualifier.html#DiffIgnoreUpdateWithAttributeQualifier(org.w3c.dom.Document, org.w3c.dom.Document)"><B>DiffIgnoreUpdateWithAttributeQualifier(Document, Document)</B></A> - 
Constructor for class org.apache.wink.test.diff.<A HREF="./org/apache/wink/test/diff/DiffIgnoreUpdateWithAttributeQualifier.html" title="class in org.apache.wink.test.diff">DiffIgnoreUpdateWithAttributeQualifier</A>
<DD>Constructor of XmlUnit Diff that ignores field "updated".
<DT><A HREF="./org/apache/wink/test/diff/DiffIgnoreUpdateWithAttributeQualifier.html#DiffIgnoreUpdateWithAttributeQualifier(java.lang.String, java.lang.String)"><B>DiffIgnoreUpdateWithAttributeQualifier(String, String)</B></A> - 
Constructor for class org.apache.wink.test.diff.<A HREF="./org/apache/wink/test/diff/DiffIgnoreUpdateWithAttributeQualifier.html" title="class in org.apache.wink.test.diff">DiffIgnoreUpdateWithAttributeQualifier</A>
<DD>Constructor of XmlUnit Diff that ignores field "updated".
<DT><A HREF="./org/apache/wink/test/mock/TestUtils.html#diffIgnoreUpdateWithAttributeQualifier(java.lang.String, byte[], java.lang.Class)"><B>diffIgnoreUpdateWithAttributeQualifier(String, byte[], Class&lt;?&gt;)</B></A> - 
Static method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/TestUtils.html" title="class in org.apache.wink.test.mock">TestUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/TestUtils.html#diffIgnoreUpdateWithAttributeQualifier(java.lang.String, java.lang.String)"><B>diffIgnoreUpdateWithAttributeQualifier(String, String)</B></A> - 
Static method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/TestUtils.html" title="class in org.apache.wink.test.mock">TestUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/TestUtils.html#diffIgnoreUpdateWithAttributeQualifier(byte[], byte[])"><B>diffIgnoreUpdateWithAttributeQualifier(byte[], byte[])</B></A> - 
Static method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/TestUtils.html" title="class in org.apache.wink.test.mock">TestUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/diff/DiffWithAttributeQualifier.html" title="class in org.apache.wink.test.diff"><B>DiffWithAttributeQualifier</B></A> - Class in <A HREF="./org/apache/wink/test/diff/package-summary.html">org.apache.wink.test.diff</A><DD>Class that overrides XmlUnit Diff class.<DT><A HREF="./org/apache/wink/test/diff/DiffWithAttributeQualifier.html#DiffWithAttributeQualifier(org.w3c.dom.Document, org.w3c.dom.Document)"><B>DiffWithAttributeQualifier(Document, Document)</B></A> - 
Constructor for class org.apache.wink.test.diff.<A HREF="./org/apache/wink/test/diff/DiffWithAttributeQualifier.html" title="class in org.apache.wink.test.diff">DiffWithAttributeQualifier</A>
<DD>Constructor of XmlUnit Diff with ElementNameAndAttributeQualifier
<DT><A HREF="./org/apache/wink/test/diff/DiffWithAttributeQualifier.html#DiffWithAttributeQualifier(java.lang.String, java.lang.String)"><B>DiffWithAttributeQualifier(String, String)</B></A> - 
Constructor for class org.apache.wink.test.diff.<A HREF="./org/apache/wink/test/diff/DiffWithAttributeQualifier.html" title="class in org.apache.wink.test.diff">DiffWithAttributeQualifier</A>
<DD>Constructor of XmlUnit Diff with ElementNameAndAttributeQualifier
<DT><A HREF="./org/apache/wink/test/diff/DiffWithMultiLevelQualifier.html" title="class in org.apache.wink.test.diff"><B>DiffWithMultiLevelQualifier</B></A> - Class in <A HREF="./org/apache/wink/test/diff/package-summary.html">org.apache.wink.test.diff</A><DD>Class that overrides XmlUnit Diff class.<DT><A HREF="./org/apache/wink/test/diff/DiffWithMultiLevelQualifier.html#DiffWithMultiLevelQualifier(org.w3c.dom.Document, org.w3c.dom.Document)"><B>DiffWithMultiLevelQualifier(Document, Document)</B></A> - 
Constructor for class org.apache.wink.test.diff.<A HREF="./org/apache/wink/test/diff/DiffWithMultiLevelQualifier.html" title="class in org.apache.wink.test.diff">DiffWithMultiLevelQualifier</A>
<DD>Constructor of XmlUnit Diff with MultiLevelElementNameAndTextQualifier(2)
<DT><A HREF="./org/apache/wink/webdav/model/Displayname.html" title="class in org.apache.wink.webdav.model"><B>Displayname</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>displayname</code> Property per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Displayname.html#Displayname()"><B>Displayname()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Displayname.html" title="class in org.apache.wink.webdav.model">Displayname</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Displayname.html#Displayname(java.lang.String)"><B>Displayname(String)</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Displayname.html" title="class in org.apache.wink.webdav.model">Displayname</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#displayname"><B>displayname</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/handlers/HandlerContext.html#doChain(org.apache.wink.client.ClientRequest)"><B>doChain(ClientRequest)</B></A> - 
Method in interface org.apache.wink.client.handlers.<A HREF="./org/apache/wink/client/handlers/HandlerContext.html" title="interface in org.apache.wink.client.handlers">HandlerContext</A>
<DD>Call the next handler on the chain.
<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html#doChain(org.apache.wink.server.handlers.MessageContext)"><B>doChain(MessageContext)</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html" title="class in org.apache.wink.server.handlers">AbstractHandlersChain</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/HandlersChain.html#doChain(org.apache.wink.server.handlers.MessageContext)"><B>doChain(MessageContext)</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/HandlersChain.html" title="interface in org.apache.wink.server.handlers">HandlersChain</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#docs"><B>docs</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssCategory.html#domain"><B>domain</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCategory.html" title="class in org.apache.wink.common.model.rss">RssCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#domain"><B>domain</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Link.html#dst"><B>dst</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Link.html" title="class in org.apache.wink.webdav.model">Link</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#duplicate(java.lang.String)"><B>duplicate(String)</B></A> - 
Method in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>Duplicates this status with another status message.
<DT><A HREF="./org/apache/wink/common/DynamicResource.html" title="interface in org.apache.wink.common"><B>DynamicResource</B></A> - Interface in <A HREF="./org/apache/wink/common/package-summary.html">org.apache.wink.common</A><DD>This interface replaces Path annotation to declare a resource.</DL>
<HR>
<A NAME="_E_"><!-- --></A><H2>
<B>E</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html#email"><B>email</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom">AtomPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#enclosure"><B>enclosure</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/EntityType.html" title="class in org.apache.wink.client"><B>EntityType</B></A>&lt;<A HREF="./org/apache/wink/client/EntityType.html" title="type parameter in EntityType">T</A>&gt; - Class in <A HREF="./org/apache/wink/client/package-summary.html">org.apache.wink.client</A><DD>The EntityType is used to specify the class type and the generic type of
 responses.<DT><A HREF="./org/apache/wink/client/EntityType.html#EntityType()"><B>EntityType()</B></A> - 
Constructor for class org.apache.wink.client.<A HREF="./org/apache/wink/client/EntityType.html" title="class in org.apache.wink.client">EntityType</A>
<DD>Construct a new entity type.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#entry"><B>entry</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCategory.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCategory.html" title="class in org.apache.wink.common.model.synd">SyndCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html" title="class in org.apache.wink.common.model.synd">SyndCommonAttributes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndContent.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndContent.html" title="class in org.apache.wink.common.model.synd">SyndContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd">SyndEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html" title="class in org.apache.wink.common.model.synd">SyndGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndPerson.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndPerson.html" title="class in org.apache.wink.common.model.synd">SyndPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html" title="class in org.apache.wink.common.model.synd">SyndSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndText.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndText.html" title="class in org.apache.wink.common.model.synd">SyndText</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JSONUtils.html#equals(org.json.JSONObject, org.json.JSONObject)"><B>equals(JSONObject, JSONObject)</B></A> - 
Static method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JSONUtils.html" title="class in org.apache.wink.providers.json">JSONUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JSONUtils.html#equals(org.json.JSONArray, org.json.JSONArray)"><B>equals(JSONArray, JSONArray)</B></A> - 
Static method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JSONUtils.html" title="class in org.apache.wink.providers.json">JSONUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Error.html" title="class in org.apache.wink.webdav.model"><B>Error</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>error</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Error.html#Error()"><B>Error()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Error.html" title="class in org.apache.wink.webdav.model">Error</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html#error"><B>error</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model">Propstat</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#error"><B>error</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Exclusive.html" title="class in org.apache.wink.webdav.model"><B>Exclusive</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>exclusive</code> XML element per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Exclusive.html#Exclusive()"><B>Exclusive()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Exclusive.html" title="class in org.apache.wink.webdav.model">Exclusive</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Lockscope.html#exclusive"><B>exclusive</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockscope.html" title="class in org.apache.wink.webdav.model">Lockscope</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#EXPECTATION_FAILED"><B>EXPECTATION_FAILED</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#extractPropertyNames(org.apache.wink.webdav.model.Prop, java.util.Set)"><B>extractPropertyNames(Prop, Set&lt;QName&gt;)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_F_"><!-- --></A><H2>
<B>F</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#FAILED_DEPENDENCY"><B>FAILED_DEPENDENCY</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#fixed"><B>fixed</B></A> - 
Variable in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#followRedirects(boolean)"><B>followRedirects(boolean)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Set whether to client will automatically follow redirects
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#FORBIDDEN"><B>FORBIDDEN</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#FOUND"><B>FOUND</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppYesNo.html#fromValue(java.lang.String)"><B>fromValue(String)</B></A> - 
Static method in enum org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppYesNo.html" title="enum in org.apache.wink.common.model.app">AppYesNo</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_G_"><!-- --></A><H2>
<B>G</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#GATEWAY_TIMEOUT"><B>GATEWAY_TIMEOUT</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html#generateOpenSearchUrlTemplate()"><B>generateOpenSearchUrlTemplate()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchUrl</A>
<DD>Builds OpenSearchUrl template based on base URI and the list of Open
 Search openSearchParametersParameters
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#generator"><B>generator</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#generator"><B>generator</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/Resource.html#get(java.lang.Class)"><B>get(Class&lt;T&gt;)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke the GET method
<DT><A HREF="./org/apache/wink/client/Resource.html#get(org.apache.wink.client.EntityType)"><B>get(EntityType&lt;T&gt;)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke the GET method
<DT><A HREF="./org/apache/wink/client/Resource.html#get()"><B>get()</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke the GET method
<DT><A HREF="./org/apache/wink/common/model/app/AppCollection.html#getAccept()"><B>getAccept()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app">AppCollection</A>
<DD>Gets the accept list
<DT><A HREF="./org/apache/wink/webdav/model/Lockdiscovery.html#getActivelock()"><B>getActivelock()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockdiscovery.html" title="class in org.apache.wink.webdav.model">Lockdiscovery</A>
<DD>Gets the value of the activelock property.
<DT><A HREF="./org/apache/wink/test/mock/SpringAwareTestCase.html#getAdditionalContextNames()"><B>getAdditionalContextNames()</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/SpringAwareTestCase.html" title="class in org.apache.wink.test.mock">SpringAwareTestCase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getAdultContent()"><B>getAdultContent()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the adultContent property.
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#getAllprop()"><B>getAllprop()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>Gets the value of the allprop property.
<DT><A HREF="./org/apache/wink/common/model/app/AppCollection.html#getAny()"><B>getAny()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app">AppCollection</A>
<DD>Gets extension elements
<DT><A HREF="./org/apache/wink/common/model/app/AppService.html#getAny()"><B>getAny()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppService.html" title="class in org.apache.wink.common.model.app">AppService</A>
<DD>Gets extension elements
<DT><A HREF="./org/apache/wink/common/model/app/AppWorkspace.html#getAny()"><B>getAny()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppWorkspace.html" title="class in org.apache.wink.common.model.app">AppWorkspace</A>
<DD>Gets extension elements.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getAny()"><B>getAny()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Gets extension elements
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getAny()"><B>getAny()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets extension elements
<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html#getAny()"><B>getAny()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom">AtomPerson</A>
<DD>Gets extension elements
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getAny()"><B>getAny()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the any property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#getAny()"><B>getAny()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Gets the value of the any property.
<DT><A HREF="./org/apache/wink/webdav/model/Error.html#getAny()"><B>getAny()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Error.html" title="class in org.apache.wink.webdav.model">Error</A>
<DD>Gets the value of the any property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getAny()"><B>getAny()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Gets the value of the any property.
<DT><A HREF="./org/apache/wink/webdav/model/Resourcetype.html#getAny()"><B>getAny()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Resourcetype.html" title="class in org.apache.wink.webdav.model">Resourcetype</A>
<DD>Gets the value of the any property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getAnyByName(javax.xml.namespace.QName)"><B>getAnyByName(QName)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Get a proprietary property as an W3C element
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getAnyByName(java.lang.String, java.lang.String)"><B>getAnyByName(String, String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Get a proprietary property as an W3C element
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#getApplications()"><B>getApplications()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Get an unmodifiable list of the applications
<DT><A HREF="./org/apache/wink/common/RuntimeContext.html#getAttribute(java.lang.Class)"><B>getAttribute(Class&lt;T&gt;)</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/RuntimeContext.html" title="interface in org.apache.wink.common">RuntimeContext</A>
<DD>Convenience method for getting an attribute whose key that is the fully
 qualified name of a class
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getAttributeNames()"><B>getAttributeNames()</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RuntimeContext.html#getAttributes()"><B>getAttributes()</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/RuntimeContext.html" title="interface in org.apache.wink.common">RuntimeContext</A>
<DD>Get an attributes map to store objects in the context of a request.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getAttribution()"><B>getAttribution()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the attribution property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#getAuthor()"><B>getAuthor()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Gets the value of the author property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getAuthors()"><B>getAuthors()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Gets the value of author.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getAuthors()"><B>getAuthors()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of author.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#getAuthors()"><B>getAuthors()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html#getBase()"><B>getBase()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributes</A>
<DD>Gets the value of base.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html#getBase()"><B>getBase()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributesSimpleContent</A>
<DD>Gets the value of base.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html#getBase()"><B>getBase()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html" title="class in org.apache.wink.common.model.synd">SyndCommonAttributes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html#getBaseUri()"><B>getBaseUri()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchUrl</A>
<DD>Get Search base URI
<DT><A HREF="./org/apache/wink/common/AbstractDynamicResource.html#getBeanName()"><B>getBeanName()</B></A> - 
Method in class org.apache.wink.common.<A HREF="./org/apache/wink/common/AbstractDynamicResource.html" title="class in org.apache.wink.common">AbstractDynamicResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/DynamicResource.html#getBeanName()"><B>getBeanName()</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/DynamicResource.html" title="interface in org.apache.wink.common">DynamicResource</A>
<DD>returns the name of the bean The bean name must be unique and usually
 should come from Spring.
<DT><A HREF="./org/apache/wink/common/model/multipart/InPart.html#getBody(java.lang.Class, java.lang.reflect.Type, javax.ws.rs.ext.Providers)"><B>getBody(Class&lt;T&gt;, Type, Providers)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InPart.html" title="class in org.apache.wink.common.model.multipart">InPart</A>
<DD>This method is used for deserialization of the part stream to a <T>
 object using the given providers.<br>
<DT><A HREF="./org/apache/wink/common/model/multipart/InPart.html#getBody(java.lang.Class, java.lang.reflect.Type)"><B>getBody(Class&lt;T&gt;, Type)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InPart.html" title="class in org.apache.wink.common.model.multipart">InPart</A>
<DD>This method is used for deserialization of the part stream.
<DT><A HREF="./org/apache/wink/common/model/multipart/OutPart.html#getBody()"><B>getBody()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutPart.html" title="class in org.apache.wink.common.model.multipart">OutPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html#getBoundary()"><B>getBoundary()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html" title="class in org.apache.wink.common.model.multipart">OutMultiPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#getCategories()"><B>getCategories()</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Lists the complete set of categories
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#getCategories(java.lang.String)"><B>getCategories(String)</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Lists the complete set of categories that use the specified scheme
<DT><A HREF="./org/apache/wink/common/categories/CollectionCategories.html#getCategories()"><B>getCategories()</B></A> - 
Method in interface org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/CollectionCategories.html" title="interface in org.apache.wink.common.categories">CollectionCategories</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppCollection.html#getCategories()"><B>getCategories()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app">AppCollection</A>
<DD>Gets the categories.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getCategories()"><B>getCategories()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Gets the value of category.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getCategories()"><B>getCategories()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of category.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getCategories()"><B>getCategories()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the category property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#getCategories()"><B>getCategories()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Gets the value of the category property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#getCategories()"><B>getCategories()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#getCategory()"><B>getCategory()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>Gets the value of the category property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssFeed.html#getChannel()"><B>getChannel()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssFeed.html" title="class in org.apache.wink.common.model.rss">RssFeed</A>
<DD>Gets the value of the channel property.
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#getCharset(javax.ws.rs.core.MediaType)"><B>getCharset(MediaType)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#getCharsetOrNull(javax.ws.rs.core.MediaType)"><B>getCharsetOrNull(MediaType)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/WinkApplication.html#getClasses()"><B>getClasses()</B></A> - 
Method in class org.apache.wink.common.<A HREF="./org/apache/wink/common/WinkApplication.html" title="class in org.apache.wink.common">WinkApplication</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html#getClasses()"><B>getClasses()</B></A> - 
Method in class org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html" title="class in org.apache.wink.server.utils">RegistrationUtils.InnerApplication</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/spring/Registrar.html#getClasses()"><B>getClasses()</B></A> - 
Method in class org.apache.wink.spring.<A HREF="./org/apache/wink/spring/Registrar.html" title="class in org.apache.wink.spring">Registrar</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getCloud()"><B>getCloud()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the cloud property.
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#getCode()"><B>getCode()</B></A> - 
Method in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>Gets the status code.
<DT><A HREF="./org/apache/wink/common/model/app/AppWorkspace.html#getCollection()"><B>getCollection()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppWorkspace.html" title="class in org.apache.wink.common.model.app">AppWorkspace</A>
<DD>Gets the collections.
<DT><A HREF="./org/apache/wink/common/model/app/AppWorkspace.html#getCollection(java.lang.String)"><B>getCollection(String)</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppWorkspace.html" title="class in org.apache.wink.common.model.app">AppWorkspace</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Resourcetype.html#getCollection()"><B>getCollection()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Resourcetype.html" title="class in org.apache.wink.webdav.model">Resourcetype</A>
<DD>Gets the value of the collection property.
<DT><A HREF="./org/apache/wink/common/AbstractDynamicResource.html#getCollectionTitle()"><B>getCollectionTitle()</B></A> - 
Method in class org.apache.wink.common.<A HREF="./org/apache/wink/common/AbstractDynamicResource.html" title="class in org.apache.wink.common">AbstractDynamicResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/DynamicResource.html#getCollectionTitle()"><B>getCollectionTitle()</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/DynamicResource.html" title="interface in org.apache.wink.common">DynamicResource</A>
<DD>Returns the collection title.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#getComments()"><B>getComments()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Gets the value of the comments property.
<DT><A HREF="./org/apache/wink/client/RestClient.html#getConfig()"><B>getConfig()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/RestClient.html" title="class in org.apache.wink.client">RestClient</A>
<DD>Get the unmodifiable client configuration
<DT><A HREF="./org/apache/wink/client/ApacheHttpClientConfig.html#getConnectionHandler()"><B>getConnectionHandler()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ApacheHttpClientConfig.html" title="class in org.apache.wink.client">ApacheHttpClientConfig</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#getConnectionHandler()"><B>getConnectionHandler()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Returns the client handler that acts as the connection handler.
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#getConnectTimeout()"><B>getConnectTimeout()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Get the connect timeout in milliseconds
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getContact()"><B>getContact()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the contact property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Gets the content.
<DT><A HREF="./org/apache/wink/common/model/rss/RssCategory.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCategory.html" title="class in org.apache.wink.common.model.rss">RssCategory</A>
<DD>Gets the value of the content property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssGuid.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssGuid.html" title="class in org.apache.wink.common.model.rss">RssGuid</A>
<DD>Gets the value of the content property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssSource.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssSource.html" title="class in org.apache.wink.common.model.rss">RssSource</A>
<DD>Gets the value of the content property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd">SyndEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Keepalive.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Keepalive.html" title="class in org.apache.wink.webdav.model">Keepalive</A>
<DD>Gets the value of the content property.
<DT><A HREF="./org/apache/wink/webdav/model/Owner.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Owner.html" title="class in org.apache.wink.webdav.model">Owner</A>
<DD>Gets the value of the content property.
<DT><A HREF="./org/apache/wink/webdav/model/Getcontentlanguage.html" title="class in org.apache.wink.webdav.model"><B>Getcontentlanguage</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>getcontentlanguage</code> Property per the WebDAV specification
 [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Getcontentlanguage.html#Getcontentlanguage()"><B>Getcontentlanguage()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontentlanguage.html" title="class in org.apache.wink.webdav.model">Getcontentlanguage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Getcontentlanguage.html#Getcontentlanguage(java.lang.String)"><B>Getcontentlanguage(String)</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontentlanguage.html" title="class in org.apache.wink.webdav.model">Getcontentlanguage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getcontentlanguage"><B>getcontentlanguage</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Getcontentlength.html" title="class in org.apache.wink.webdav.model"><B>Getcontentlength</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>getcontentlength</code> Property per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Getcontentlength.html#Getcontentlength()"><B>Getcontentlength()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontentlength.html" title="class in org.apache.wink.webdav.model">Getcontentlength</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Getcontentlength.html#Getcontentlength(java.lang.String)"><B>Getcontentlength(String)</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontentlength.html" title="class in org.apache.wink.webdav.model">Getcontentlength</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getcontentlength"><B>getcontentlength</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/InPart.html#getContentType()"><B>getContentType()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InPart.html" title="class in org.apache.wink.common.model.multipart">InPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/OutPart.html#getContentType()"><B>getContentType()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutPart.html" title="class in org.apache.wink.common.model.multipart">OutPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Getcontenttype.html" title="class in org.apache.wink.webdav.model"><B>Getcontenttype</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>getcontenttype</code> Property per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Getcontenttype.html#Getcontenttype()"><B>Getcontenttype()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontenttype.html" title="class in org.apache.wink.webdav.model">Getcontenttype</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Getcontenttype.html#Getcontenttype(java.lang.String)"><B>Getcontenttype(String)</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontenttype.html" title="class in org.apache.wink.webdav.model">Getcontenttype</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getcontenttype"><B>getcontenttype</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getContext(java.lang.String)"><B>getContext(String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getContributors()"><B>getContributors()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Gets the value of contributor.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getContributors()"><B>getContributors()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of contributor.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getCopyright()"><B>getCopyright()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the copyright property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getCount()"><B>getCount()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Gets the value of the count property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getCreationdate()"><B>getCreationdate()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Gets the value of the creationdate property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssSkipDays.html#getDays()"><B>getDays()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssSkipDays.html" title="class in org.apache.wink.common.model.rss">RssSkipDays</A>
<DD>Gets the value of the day property.
<DT><A HREF="./org/apache/wink/common/model/XmlFormattingOptions.html#getDefaultXmlFormattingOptions()"><B>getDefaultXmlFormattingOptions()</B></A> - 
Static method in class org.apache.wink.common.model.<A HREF="./org/apache/wink/common/model/XmlFormattingOptions.html" title="class in org.apache.wink.common.model">XmlFormattingOptions</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#getDepth()"><B>getDepth()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>Gets the value of the depth property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getDescription()"><B>getDescription()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the description property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getDescription()"><B>getDescription()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the description property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#getDescription()"><B>getDescription()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>Gets the value of the description property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#getDescription()"><B>getDescription()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Gets the value of the description property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssTextInput.html#getDescription()"><B>getDescription()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss">RssTextInput</A>
<DD>Gets the value of the description property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getDeveloper()"><B>getDeveloper()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the developer property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getDisplayname()"><B>getDisplayname()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Gets the value of the displayname property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getDocs()"><B>getDocs()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the docs property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssCategory.html#getDomain()"><B>getDomain()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCategory.html" title="class in org.apache.wink.common.model.rss">RssCategory</A>
<DD>Gets the value of the domain property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#getDomain()"><B>getDomain()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>Gets the value of the domain property.
<DT><A HREF="./org/apache/wink/webdav/model/Link.html#getDst()"><B>getDst()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Link.html" title="class in org.apache.wink.webdav.model">Link</A>
<DD>Gets the value of the dst property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html#getEmail()"><B>getEmail()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom">AtomPerson</A>
<DD>Gets the value of email.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndPerson.html#getEmail()"><B>getEmail()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndPerson.html" title="class in org.apache.wink.common.model.synd">SyndPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#getEnclosure()"><B>getEnclosure()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Gets the value of the enclosure property.
<DT><A HREF="./org/apache/wink/common/model/csv/CsvSerializer.html#getEntities()"><B>getEntities()</B></A> - 
Method in interface org.apache.wink.common.model.csv.<A HREF="./org/apache/wink/common/model/csv/CsvSerializer.html" title="interface in org.apache.wink.common.model.csv">CsvSerializer</A>
<DD>Return an iterator over the rows of the CSV as a String[].
<DT><A HREF="./org/apache/wink/common/model/csv/CsvTable.html#getEntities()"><B>getEntities()</B></A> - 
Method in class org.apache.wink.common.model.csv.<A HREF="./org/apache/wink/common/model/csv/CsvTable.html" title="class in org.apache.wink.common.model.csv">CsvTable</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/csv/MultiCsvTable.html#getEntities()"><B>getEntities()</B></A> - 
Method in class org.apache.wink.common.model.csv.<A HREF="./org/apache/wink/common/model/csv/MultiCsvTable.html" title="class in org.apache.wink.common.model.csv">MultiCsvTable</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientRequest.html#getEntity()"><B>getEntity()</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientRequest.html" title="interface in org.apache.wink.client">ClientRequest</A>
<DD>Get the request entity to send with the request.
<DT><A HREF="./org/apache/wink/client/ClientResponse.html#getEntity(java.lang.Class)"><B>getEntity(Class&lt;T&gt;)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientResponse.html" title="interface in org.apache.wink.client">ClientResponse</A>
<DD>Get the response entity.
<DT><A HREF="./org/apache/wink/client/ClientResponse.html#getEntity(org.apache.wink.client.EntityType)"><B>getEntity(EntityType&lt;T&gt;)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientResponse.html" title="interface in org.apache.wink.client">ClientResponse</A>
<DD>Get the response entity.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getEntries()"><B>getEntries()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of entry.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#getEntries()"><B>getEntries()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html#getEntryPropertyHandler()"><B>getEntryPropertyHandler()</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder.CollectionPropertyHandler</A>
<DD>Get the PropertyHandler that is used to set properties for the
 entries in the collection
<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html#getError()"><B>getError()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model">Propstat</A>
<DD>Gets the value of the error property.
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#getError()"><B>getError()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>Gets the value of the error property.
<DT><A HREF="./org/apache/wink/server/handlers/HandlersFactory.html#getErrorHandlers()"><B>getErrorHandlers()</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/HandlersFactory.html" title="class in org.apache.wink.server.handlers">HandlersFactory</A>
<DD>Returns a list of user error handlers.
<DT><A HREF="./org/apache/wink/webdav/model/Getetag.html" title="class in org.apache.wink.webdav.model"><B>Getetag</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>getetag</code> Property per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Getetag.html#Getetag()"><B>Getetag()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getetag.html" title="class in org.apache.wink.webdav.model">Getetag</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Getetag.html#Getetag(java.lang.String)"><B>Getetag(String)</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getetag.html" title="class in org.apache.wink.webdav.model">Getetag</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getetag"><B>getetag</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Lockscope.html#getExclusive()"><B>getExclusive()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockscope.html" title="class in org.apache.wink.webdav.model">Lockscope</A>
<DD>Gets the value of the exclusive property.
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#getFixed()"><B>getFixed()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>Gets the value of the fixed property.
<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#getFullName(javax.xml.namespace.QName)"><B>getFullName(QName)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getGenerator()"><B>getGenerator()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of generator.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getGenerator()"><B>getGenerator()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the generator property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#getGenerator()"><B>getGenerator()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getGetcontentlanguage()"><B>getGetcontentlanguage()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Gets the value of the getcontentlanguage property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getGetcontentlength()"><B>getGetcontentlength()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Gets the value of the getcontentlength property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getGetcontenttype()"><B>getGetcontenttype()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Gets the value of the getcontenttype property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getGetetag()"><B>getGetetag()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Gets the value of the getetag property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getGetlastmodified()"><B>getGetlastmodified()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Gets the value of the getlastmodified property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#getGuid()"><B>getGuid()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Gets the value of the guid property.
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#getHandlers()"><B>getHandlers()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Get an unmodifiable list of the client handlers
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#getHandlingClass()"><B>getHandlingClass()</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Get Categories Document handling Resource class
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#getHandlingInstance()"><B>getHandlingInstance()</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Get handling Bean for Categories Document
<DT><A HREF="./org/apache/wink/common/model/multipart/InPart.html#getHeaders()"><B>getHeaders()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InPart.html" title="class in org.apache.wink.common.model.multipart">InPart</A>
<DD>Get the part's headers
<DT><A HREF="./org/apache/wink/common/model/multipart/OutPart.html#getHeaders()"><B>getHeaders()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutPart.html" title="class in org.apache.wink.common.model.multipart">OutPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/InPart.html#getHeadersName()"><B>getHeadersName()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InPart.html" title="class in org.apache.wink.common.model.multipart">InPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html#getHeight()"><B>getHeight()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchImage</A>
<DD>Gets the value of the height property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#getHeight()"><B>getHeight()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>Gets the value of the height property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssSkipHours.html#getHours()"><B>getHours()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssSkipHours.html" title="class in org.apache.wink.common.model.rss">RssSkipHours</A>
<DD>Gets the value of the hour property.
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#getHref()"><B>getHref()</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>When contained within an app:collection element, the app:categories
 element can have an href attribute whose value MUST point to an Atompub
 Categories Document.
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#getHref()"><B>getHref()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>Gets the value of the href property.
<DT><A HREF="./org/apache/wink/common/model/app/AppCollection.html#getHref()"><B>getHref()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app">AppCollection</A>
<DD>Gets the value of href.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#getHref()"><B>getHref()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>Gets the value of href.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#getHref()"><B>getHref()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Locktoken.html#getHref()"><B>getHref()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Locktoken.html" title="class in org.apache.wink.webdav.model">Locktoken</A>
<DD>Gets the value of the href property.
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#getHref()"><B>getHref()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>Gets the value of the href property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#getHreflang()"><B>getHreflang()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>Gets the value of hreflang.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#getHreflang()"><B>getHreflang()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RuntimeContext.html#getHttpHeaders()"><B>getHttpHeaders()</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/RuntimeContext.html" title="interface in org.apache.wink.common">RuntimeContext</A>
<DD>Get the <CODE>HttpHeaders</CODE> context
<DT><A HREF="./org/apache/wink/server/handlers/MessageContext.html#getHttpMethod()"><B>getHttpMethod()</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/MessageContext.html" title="interface in org.apache.wink.server.handlers">MessageContext</A>
<DD>Get the http method of the request.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getIcon()"><B>getIcon()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of icon.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#getIcon()"><B>getIcon()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getId()"><B>getId()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Gets the value of id.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getId()"><B>getId()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of id.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#getId()"><B>getId()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getImage()"><B>getImage()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the image property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getImage()"><B>getImage()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the image property.
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getInitParameter(java.lang.String)"><B>getInitParameter(String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getInitParameterNames()"><B>getInitParameterNames()</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getInputEncoding()"><B>getInputEncoding()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the inputEncoding property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getInputEncoding()"><B>getInputEncoding()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Gets the value of the inputEncoding property.
<DT><A HREF="./org/apache/wink/common/model/multipart/BufferedInPart.html#getInputStream()"><B>getInputStream()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/BufferedInPart.html" title="class in org.apache.wink.common.model.multipart">BufferedInPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/InPart.html#getInputStream()"><B>getInputStream()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InPart.html" title="class in org.apache.wink.common.model.multipart">InPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RuntimeContext.html#getInputStream()"><B>getInputStream()</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/RuntimeContext.html" title="interface in org.apache.wink.common">RuntimeContext</A>
<DD>Get the input stream of the request
<DT><A HREF="./org/apache/wink/test/mock/MockHttpServletRequestWrapper.html#getInputStream()"><B>getInputStream()</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/MockHttpServletRequestWrapper.html" title="class in org.apache.wink.test.mock">MockHttpServletRequestWrapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/handlers/HandlerContext.html#getInputStreamAdapters()"><B>getInputStreamAdapters()</B></A> - 
Method in interface org.apache.wink.client.handlers.<A HREF="./org/apache/wink/client/handlers/HandlerContext.html" title="interface in org.apache.wink.client.handlers">HandlerContext</A>
<DD>Get an unmodifiable list of input stream adapters
<DT><A HREF="./org/apache/wink/common/WinkApplication.html#getInstances()"><B>getInstances()</B></A> - 
Method in class org.apache.wink.common.<A HREF="./org/apache/wink/common/WinkApplication.html" title="class in org.apache.wink.common">WinkApplication</A>
<DD>Returns instances of resources or providers.
<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html#getInstances()"><B>getInstances()</B></A> - 
Method in class org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html" title="class in org.apache.wink.server.utils">RegistrationUtils.InnerApplication</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/spring/Registrar.html#getInstances()"><B>getInstances()</B></A> - 
Method in class org.apache.wink.spring.<A HREF="./org/apache/wink/spring/Registrar.html" title="class in org.apache.wink.spring">Registrar</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getItems()"><B>getItems()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the item property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getItemsPerPage()"><B>getItemsPerPage()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of opensearch itemsPerPage.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#getItemsPerPage()"><B>getItemsPerPage()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/BufferedOutMultiPart.html#getIterator()"><B>getIterator()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/BufferedOutMultiPart.html" title="class in org.apache.wink.common.model.multipart">BufferedOutMultiPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html#getIterator()"><B>getIterator()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html" title="class in org.apache.wink.common.model.multipart">OutMultiPart</A>
<DD>An implementation of this method should return an iterator over the
 <A HREF="./org/apache/wink/common/model/multipart/OutPart.html" title="class in org.apache.wink.common.model.multipart"><CODE>OutPart</CODE></A> of the message, this iterator is used to serialized the
 message
<DT><A HREF="./org/apache/wink/webdav/model/Propertybehavior.html#getKeepalive()"><B>getKeepalive()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertybehavior.html" title="class in org.apache.wink.webdav.model">Propertybehavior</A>
<DD>Gets the value of the keepalive property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCategory.html#getLabel()"><B>getLabel()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom">AtomCategory</A>
<DD>Gets the value of label.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCategory.html#getLabel()"><B>getLabel()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCategory.html" title="class in org.apache.wink.common.model.synd">SyndCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html#getLang()"><B>getLang()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributes</A>
<DD>Gets the value of lang.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html#getLang()"><B>getLang()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributesSimpleContent</A>
<DD>Gets the value of lang.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html#getLang()"><B>getLang()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html" title="class in org.apache.wink.common.model.synd">SyndCommonAttributes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getLanguage()"><B>getLanguage()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the language property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getLanguage()"><B>getLanguage()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Gets the value of the language property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getLanguage()"><B>getLanguage()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the language property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getLastBuildDate()"><B>getLastBuildDate()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the lastBuildDate property.
<DT><A HREF="./org/apache/wink/webdav/model/Getlastmodified.html" title="class in org.apache.wink.webdav.model"><B>Getlastmodified</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>getlastmodified</code> Property per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Getlastmodified.html#Getlastmodified()"><B>Getlastmodified()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getlastmodified.html" title="class in org.apache.wink.webdav.model">Getlastmodified</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Getlastmodified.html#Getlastmodified(java.lang.String)"><B>Getlastmodified(String)</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getlastmodified.html" title="class in org.apache.wink.webdav.model">Getlastmodified</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Getlastmodified.html#Getlastmodified(java.util.Date)"><B>Getlastmodified(Date)</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getlastmodified.html" title="class in org.apache.wink.webdav.model">Getlastmodified</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getlastmodified"><B>getlastmodified</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#getLength()"><B>getLength()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>Gets the value of length.
<DT><A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html#getLength()"><B>getLength()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html" title="class in org.apache.wink.common.model.rss">RssEnclosure</A>
<DD>Gets the value of the length property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#getLength()"><B>getLength()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getLink()"><B>getLink()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the link property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#getLink()"><B>getLink()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>Gets the value of the link property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#getLink()"><B>getLink()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Gets the value of the link property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssTextInput.html#getLink()"><B>getLink()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss">RssTextInput</A>
<DD>Gets the value of the link property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#getLink(java.lang.String)"><B>getLink(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Source.html#getLink()"><B>getLink()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Source.html" title="class in org.apache.wink.webdav.model">Source</A>
<DD>Gets the value of the link property.
<DT><A HREF="./org/apache/wink/server/handlers/MessageContext.html#getLinkBuilders()"><B>getLinkBuilders()</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/MessageContext.html" title="interface in org.apache.wink.server.handlers">MessageContext</A>
<DD>Get the <A HREF="./org/apache/wink/server/utils/LinkBuilders.html" title="interface in org.apache.wink.server.utils"><CODE>LinkBuilders</CODE></A> context
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getLinks()"><B>getLinks()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Gets the value of link.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getLinks(java.lang.String, java.lang.String)"><B>getLinks(String, String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Get the list of links that match the relation and type regex patterns
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getLinks()"><B>getLinks()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of link.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#getLinks()"><B>getLinks()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getLinksByRelation(java.lang.String)"><B>getLinksByRelation(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Get the list of links that match the type regex pattern
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getLinksByType(java.lang.String)"><B>getLinksByType(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Get the list of links that match the relation regex pattern
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getLockdiscovery()"><B>getLockdiscovery()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Gets the value of the lockdiscovery property.
<DT><A HREF="./org/apache/wink/webdav/model/Supportedlock.html#getLockentry()"><B>getLockentry()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Supportedlock.html" title="class in org.apache.wink.webdav.model">Supportedlock</A>
<DD>Gets the value of the lockentry property.
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#getLockscope()"><B>getLockscope()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>Gets the value of the lockscope property.
<DT><A HREF="./org/apache/wink/webdav/model/Lockentry.html#getLockscope()"><B>getLockscope()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockentry.html" title="class in org.apache.wink.webdav.model">Lockentry</A>
<DD>Gets the value of the lockscope property.
<DT><A HREF="./org/apache/wink/webdav/model/Lockinfo.html#getLockscope()"><B>getLockscope()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockinfo.html" title="class in org.apache.wink.webdav.model">Lockinfo</A>
<DD>Gets the value of the lockscope property.
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#getLocktoken()"><B>getLocktoken()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>Gets the value of the locktoken property.
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#getLocktype()"><B>getLocktype()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>Gets the value of the locktype property.
<DT><A HREF="./org/apache/wink/webdav/model/Lockentry.html#getLocktype()"><B>getLocktype()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockentry.html" title="class in org.apache.wink.webdav.model">Lockentry</A>
<DD>Gets the value of the locktype property.
<DT><A HREF="./org/apache/wink/webdav/model/Lockinfo.html#getLocktype()"><B>getLocktype()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockinfo.html" title="class in org.apache.wink.webdav.model">Lockinfo</A>
<DD>Gets the value of the locktype property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getLogo()"><B>getLogo()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of logo.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#getLogo()"><B>getLogo()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getLongName()"><B>getLongName()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the longName property.
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getMajorVersion()"><B>getMajorVersion()</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getManagingEditor()"><B>getManagingEditor()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the managingEditor property.
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#getMarshaller()"><B>getMarshaller()</B></A> - 
Static method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppService.html#getMarshaller()"><B>getMarshaller()</B></A> - 
Static method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppService.html" title="class in org.apache.wink.common.model.app">AppService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getMarshaller()"><B>getMarshaller()</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getMarshaller()"><B>getMarshaller()</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getMarshaller()"><B>getMarshaller()</B></A> - 
Static method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/MediaTypeMapperFactory.html#getMediaTypeMappings()"><B>getMediaTypeMappings()</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/MediaTypeMapperFactory.html" title="class in org.apache.wink.server.handlers">MediaTypeMapperFactory</A>
<DD>Returns a list of media type mappings that will be called to map response
 media types to preferred media types.
<DT><A HREF="./org/apache/wink/client/ClientResponse.html#getMessage()"><B>getMessage()</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientResponse.html" title="interface in org.apache.wink.client">ClientResponse</A>
<DD>Get the response message
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#getMessage()"><B>getMessage()</B></A> - 
Method in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>Gets the status message.
<DT><A HREF="./org/apache/wink/client/ClientRequest.html#getMethod()"><B>getMethod()</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientRequest.html" title="interface in org.apache.wink.client">ClientRequest</A>
<DD>Get the http method
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getMimeType(java.lang.String)"><B>getMimeType(String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getMinorVersion()"><B>getMinorVersion()</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html#getName()"><B>getName()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom">AtomPerson</A>
<DD>Gets the value of name.
<DT><A HREF="./org/apache/wink/common/model/rss/RssTextInput.html#getName()"><B>getName()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss">RssTextInput</A>
<DD>Gets the value of the name property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndPerson.html#getName()"><B>getName()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndPerson.html" title="class in org.apache.wink.common.model.synd">SyndPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getNamedDispatcher(java.lang.String)"><B>getNamedDispatcher(String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propertybehavior.html#getOmit()"><B>getOmit()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertybehavior.html" title="class in org.apache.wink.webdav.model">Propertybehavior</A>
<DD>Gets the value of the omit property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html#getOpenSearchParameters()"><B>getOpenSearchParameters()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchUrl</A>
<DD>Gets the value of the openSearchParameters property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getOpenSearchQueries()"><B>getOpenSearchQueries()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the list of opensearch Query elements
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResource.html#getOptions(javax.ws.rs.core.UriInfo)"><B>getOptions(UriInfo)</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResource.html" title="class in org.apache.wink.webdav.server">WebDAVResource</A>
<DD>Provides a default response with two additional headers for WebDAV and MS
 compatibility.
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVRootResource.html#getOptions()"><B>getOptions()</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVRootResource.html" title="class in org.apache.wink.webdav.server">WebDAVRootResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVUtils.html#getOptions(javax.ws.rs.core.UriInfo)"><B>getOptions(UriInfo)</B></A> - 
Static method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVUtils.html" title="class in org.apache.wink.webdav.server">WebDAVUtils</A>
<DD>Provides a default response with two additional headers for WebDAV and MS
 compatibility.
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#getOrCreatePropstat(int, java.lang.String, org.apache.wink.webdav.model.Error)"><B>getOrCreatePropstat(int, String, Error)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>Get a Propstat instance contained within this response that has the
 provided criteria, or create a new Propstat instance with the provided
 information if no propstat already exists.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html#getOtherAttributes()"><B>getOtherAttributes()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributes</A>
<DD>Gets a map that contains attributes that aren't bound to any typed on
 this class.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html#getOtherAttributes()"><B>getOtherAttributes()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributesSimpleContent</A>
<DD>Gets a map that contains attributes that aren't bound to any typed on
 this class.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getOtherAttributes()"><B>getOtherAttributes()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets a map that contains attributes that aren't bound to any typed
 property on this class.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getOtherAttributes()"><B>getOtherAttributes()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Gets a map that contains attributes that aren't bound to any typed
 property on this class.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getOutputEncoding()"><B>getOutputEncoding()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the outputEncoding property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getOutputEncoding()"><B>getOutputEncoding()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Gets the value of the outputEncoding property.
<DT><A HREF="./org/apache/wink/common/RuntimeContext.html#getOutputStream()"><B>getOutputStream()</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/RuntimeContext.html" title="interface in org.apache.wink.common">RuntimeContext</A>
<DD>Get the output stream of the response
<DT><A HREF="./org/apache/wink/client/handlers/HandlerContext.html#getOutputStreamAdapters()"><B>getOutputStreamAdapters()</B></A> - 
Method in interface org.apache.wink.client.handlers.<A HREF="./org/apache/wink/client/handlers/HandlerContext.html" title="interface in org.apache.wink.client.handlers">HandlerContext</A>
<DD>Get an unmodifiable list of output stream adapters
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#getOwner()"><B>getOwner()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>Gets the value of the owner property.
<DT><A HREF="./org/apache/wink/webdav/model/Lockinfo.html#getOwner()"><B>getOwner()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockinfo.html" title="class in org.apache.wink.webdav.model">Lockinfo</A>
<DD>Gets the value of the owner property.
<DT><A HREF="./org/apache/wink/test/mock/SpringAwareTestCase.html#getPackagePath()"><B>getPackagePath()</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/SpringAwareTestCase.html" title="class in org.apache.wink.test.mock">SpringAwareTestCase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html#getParameter()"><B>getParameter()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchParameter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html#getParameterKey()"><B>getParameterKey()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchParameter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/AbstractDynamicResource.html#getParent()"><B>getParent()</B></A> - 
Method in class org.apache.wink.common.<A HREF="./org/apache/wink/common/AbstractDynamicResource.html" title="class in org.apache.wink.common">AbstractDynamicResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/DynamicResource.html#getParent()"><B>getParent()</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/DynamicResource.html" title="interface in org.apache.wink.common">DynamicResource</A>
<DD>
 A parent of this resource, so the resulting path is a composition of the
 parent's path and this one.
<DT><A HREF="./org/apache/wink/common/model/multipart/BufferedInMultiPart.html#getParts()"><B>getParts()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/BufferedInMultiPart.html" title="class in org.apache.wink.common.model.multipart">BufferedInMultiPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/AbstractDynamicResource.html#getPath()"><B>getPath()</B></A> - 
Method in class org.apache.wink.common.<A HREF="./org/apache/wink/common/AbstractDynamicResource.html" title="class in org.apache.wink.common">AbstractDynamicResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/DynamicResource.html#getPath()"><B>getPath()</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/DynamicResource.html" title="interface in org.apache.wink.common">DynamicResource</A>
<DD>Returns path.
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#getPath()"><B>getPath()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>Gets the value of the path property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#getPort()"><B>getPort()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>Gets the value of the port property.
<DT><A HREF="./org/apache/wink/common/WinkApplication.html#getPriority()"><B>getPriority()</B></A> - 
Method in class org.apache.wink.common.<A HREF="./org/apache/wink/common/WinkApplication.html" title="class in org.apache.wink.common">WinkApplication</A>
<DD>Returns the Application priority.
<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html#getPriority()"><B>getPriority()</B></A> - 
Method in class org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html" title="class in org.apache.wink.server.utils">RegistrationUtils.InnerApplication</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/spring/Registrar.html#getPriority()"><B>getPriority()</B></A> - 
Method in class org.apache.wink.spring.<A HREF="./org/apache/wink/spring/Registrar.html" title="class in org.apache.wink.spring">Registrar</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#getProp()"><B>getProp()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>Gets the value of the prop property.
<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html#getProp()"><B>getProp()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model">Propstat</A>
<DD>Gets the value of the prop property.
<DT><A HREF="./org/apache/wink/webdav/model/Remove.html#getProp()"><B>getProp()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Remove.html" title="class in org.apache.wink.webdav.model">Remove</A>
<DD>Gets the value of the prop property.
<DT><A HREF="./org/apache/wink/webdav/model/Set.html#getProp()"><B>getProp()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Set.html" title="class in org.apache.wink.webdav.model">Set</A>
<DD>Gets the value of the prop property.
<DT><A HREF="./org/apache/wink/common/model/XmlFormattingOptions.html#getProperties()"><B>getProperties()</B></A> - 
Method in class org.apache.wink.common.model.<A HREF="./org/apache/wink/common/model/XmlFormattingOptions.html" title="class in org.apache.wink.common.model">XmlFormattingOptions</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/MessageContext.html#getProperties()"><B>getProperties()</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/MessageContext.html" title="interface in org.apache.wink.server.handlers">MessageContext</A>
<DD>Get the initialization properties
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#getPropname()"><B>getPropname()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>Gets the value of the propname property.
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#getPropstat()"><B>getPropstat()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>Gets the value of the propstat property.
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#getPropstat(int, java.lang.String, org.apache.wink.webdav.model.Error)"><B>getPropstat(int, String, Error)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>Get a Propstat instance contained within this response that has the
 provided criteria.
<DT><A HREF="./org/apache/wink/webdav/model/Propertyupdate.html#getPropsToRemove()"><B>getPropsToRemove()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertyupdate.html" title="class in org.apache.wink.webdav.model">Propertyupdate</A>
<DD>Get a list of Prop objects to remove
<DT><A HREF="./org/apache/wink/webdav/model/Propertyupdate.html#getPropsToSet()"><B>getPropsToSet()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertyupdate.html" title="class in org.apache.wink.webdav.model">Propertyupdate</A>
<DD>Get a list of Prop objects to be set
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#getProtocol()"><B>getProtocol()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>Gets the value of the protocol property.
<DT><A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html#getProviders()"><B>getProviders()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html" title="class in org.apache.wink.common.model.multipart">InMultiPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/InPart.html#getProviders()"><B>getProviders()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InPart.html" title="class in org.apache.wink.common.model.multipart">InPart</A>
<DD>get the providers that are used by the @see InPart#getBody(Class, Type)
 method for deserialization of the part
<DT><A HREF="./org/apache/wink/common/RuntimeContext.html#getProviders()"><B>getProviders()</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/RuntimeContext.html" title="interface in org.apache.wink.common">RuntimeContext</A>
<DD>Get the <CODE>Providers</CODE> context
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#getProxyHost()"><B>getProxyHost()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Get the proxy host
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#getProxyPort()"><B>getProxyPort()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Get the proxy port
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getPubDate()"><B>getPubDate()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the pubDate property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#getPubDate()"><B>getPubDate()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Gets the value of the pubDate property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getPublished()"><B>getPublished()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Gets the value of published as a Date object
<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html#getPublished()"><B>getPublished()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd">SyndEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getPublishedAsTime()"><B>getPublishedAsTime()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Gets the value of published as a long value
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getQuery()"><B>getQuery()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the query property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getRating()"><B>getRating()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the rating property.
<DT><A HREF="./org/apache/wink/client/EntityType.html#getRawClass()"><B>getRawClass()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/EntityType.html" title="class in org.apache.wink.client">EntityType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#getReadTimeout()"><B>getReadTimeout()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Get the read timeout in milliseconds
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getRealPath(java.lang.String)"><B>getRealPath(String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#getRegisterProcedure()"><B>getRegisterProcedure()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>Gets the value of the registerProcedure property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#getRel()"><B>getRel()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>Gets the value of rel.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#getRel()"><B>getRel()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propertyupdate.html#getRemoveOrSet()"><B>getRemoveOrSet()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertyupdate.html" title="class in org.apache.wink.webdav.model">Propertyupdate</A>
<DD>Gets the value of the removeOrSet property.
<DT><A HREF="./org/apache/wink/client/ClientWebException.html#getRequest()"><B>getRequest()</B></A> - 
Method in exception org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientWebException.html" title="class in org.apache.wink.client">ClientWebException</A>
<DD>Get the <A HREF="./org/apache/wink/client/ClientRequest.html" title="interface in org.apache.wink.client"><CODE>ClientRequest</CODE></A> of the invocation
<DT><A HREF="./org/apache/wink/common/RuntimeContext.html#getRequest()"><B>getRequest()</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/RuntimeContext.html" title="interface in org.apache.wink.common">RuntimeContext</A>
<DD>Get the <CODE>Request</CODE> context
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#getRequestContent()"><B>getRequestContent()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#getRequestContentAsString()"><B>getRequestContentAsString()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getRequestDispatcher(java.lang.String)"><B>getRequestDispatcher(String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/HandlersFactory.html#getRequestHandlers()"><B>getRequestHandlers()</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/HandlersFactory.html" title="class in org.apache.wink.server.handlers">HandlersFactory</A>
<DD>Returns a list of user request handlers.
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#getRequestHeaders()"><B>getRequestHeaders()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#getRequestMethod()"><B>getRequestMethod()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#getRequestUrl()"><B>getRequestUrl()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getResource(java.lang.String)"><B>getResource(String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getResourceAsStream(java.lang.String)"><B>getResourceAsStream(String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/TestUtils.html#getResourceOfSamePackage(java.lang.String, java.lang.Class)"><B>getResourceOfSamePackage(String, Class&lt;?&gt;)</B></A> - 
Static method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/TestUtils.html" title="class in org.apache.wink.test.mock">TestUtils</A>
<DD>appends package to the name and returns it as stream.
<DT><A HREF="./org/apache/wink/test/mock/TestUtils.html#getResourceOfSamePackageAsBytes(java.lang.String, java.lang.Class)"><B>getResourceOfSamePackageAsBytes(String, Class&lt;?&gt;)</B></A> - 
Static method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/TestUtils.html" title="class in org.apache.wink.test.mock">TestUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getResourcePaths(java.lang.String)"><B>getResourcePaths(String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getResourcetype()"><B>getResourcetype()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Gets the value of the resourcetype property.
<DT><A HREF="./org/apache/wink/client/ClientWebException.html#getResponse()"><B>getResponse()</B></A> - 
Method in exception org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientWebException.html" title="class in org.apache.wink.client">ClientWebException</A>
<DD>Get the <A HREF="./org/apache/wink/client/ClientResponse.html" title="interface in org.apache.wink.client"><CODE>ClientResponse</CODE></A> of the invocation
<DT><A HREF="./org/apache/wink/webdav/model/Multistatus.html#getResponse()"><B>getResponse()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Multistatus.html" title="class in org.apache.wink.webdav.model">Multistatus</A>
<DD>Gets the value of the response property.
<DT><A HREF="./org/apache/wink/webdav/model/Multistatus.html#getResponseByHref(java.lang.String)"><B>getResponseByHref(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Multistatus.html" title="class in org.apache.wink.webdav.model">Multistatus</A>
<DD>Get a the first response available that matches the provided href
<DT><A HREF="./org/apache/wink/webdav/model/Multistatus.html#getResponsedescription()"><B>getResponsedescription()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Multistatus.html" title="class in org.apache.wink.webdav.model">Multistatus</A>
<DD>Gets the value of the responsedescription property.
<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html#getResponsedescription()"><B>getResponsedescription()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model">Propstat</A>
<DD>Gets the value of the responsedescription property.
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#getResponsedescription()"><B>getResponsedescription()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>Gets the value of the responsedescription property.
<DT><A HREF="./org/apache/wink/server/handlers/MessageContext.html#getResponseEntity()"><B>getResponseEntity()</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/MessageContext.html" title="interface in org.apache.wink.server.handlers">MessageContext</A>
<DD>Get the response entity.
<DT><A HREF="./org/apache/wink/server/handlers/HandlersFactory.html#getResponseHandlers()"><B>getResponseHandlers()</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/HandlersFactory.html" title="class in org.apache.wink.server.handlers">HandlersFactory</A>
<DD>Returns a list of user response handlers.
<DT><A HREF="./org/apache/wink/server/handlers/MessageContext.html#getResponseMediaType()"><B>getResponseMediaType()</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/MessageContext.html" title="interface in org.apache.wink.server.handlers">MessageContext</A>
<DD>Get the previously set response media type
<DT><A HREF="./org/apache/wink/webdav/model/Multistatus.html#getResponsesAsMapByHref()"><B>getResponsesAsMapByHref()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Multistatus.html" title="class in org.apache.wink.webdav.model">Multistatus</A>
<DD>Get a map of responses where the key is the response href
<DT><A HREF="./org/apache/wink/server/handlers/MessageContext.html#getResponseStatusCode()"><B>getResponseStatusCode()</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/MessageContext.html" title="interface in org.apache.wink.server.handlers">MessageContext</A>
<DD>Get the response status code that was previously set
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getRights()"><B>getRights()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of rights.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#getRights()"><B>getRights()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getRole()"><B>getRole()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Gets the value of the role property.
<DT><A HREF="./org/apache/wink/common/model/csv/CsvTable.html#getRows()"><B>getRows()</B></A> - 
Method in class org.apache.wink.common.model.csv.<A HREF="./org/apache/wink/common/model/csv/CsvTable.html" title="class in org.apache.wink.common.model.csv">CsvTable</A>
<DD>Get the live list of rows contained in this table.
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#getScheme()"><B>getScheme()</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>The app:categories element may specify a default scheme attribute for
 listed atom:Category elements that do not have their own scheme
 attribute.
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#getScheme()"><B>getScheme()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>Gets the value of the scheme property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCategory.html#getScheme()"><B>getScheme()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom">AtomCategory</A>
<DD>Gets the value of scheme.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCategory.html#getScheme()"><B>getScheme()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCategory.html" title="class in org.apache.wink.common.model.synd">SyndCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getSearchTerms()"><B>getSearchTerms()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Gets the value of the searchTerms property.
<DT><A HREF="./org/apache/wink/common/RuntimeContext.html#getSecurityContext()"><B>getSecurityContext()</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/RuntimeContext.html" title="interface in org.apache.wink.common">RuntimeContext</A>
<DD>Get the <CODE>SecurityContext</CODE> context
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getServerInfo()"><B>getServerInfo()</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#getServerPort()"><B>getServerPort()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getServlet(java.lang.String)"><B>getServlet(String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getServletContextName()"><B>getServletContextName()</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getServletNames()"><B>getServletNames()</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#getServlets()"><B>getServlets()</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Lockscope.html#getShared()"><B>getShared()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockscope.html" title="class in org.apache.wink.webdav.model">Lockscope</A>
<DD>Gets the value of the shared property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getShortName()"><B>getShortName()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the shortName property.
<DT><A HREF="./org/apache/wink/common/model/multipart/BufferedInMultiPart.html#getSize()"><B>getSize()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/BufferedInMultiPart.html" title="class in org.apache.wink.common.model.multipart">BufferedInMultiPart</A>
<DD>return the number of parts in the multipart message
<DT><A HREF="./org/apache/wink/providers/abdera/AbderaAtomEntryProvider.html#getSize(org.apache.abdera.model.Entry, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>getSize(Entry, Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.abdera.<A HREF="./org/apache/wink/providers/abdera/AbderaAtomEntryProvider.html" title="class in org.apache.wink.providers.abdera">AbderaAtomEntryProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/abdera/AbderaAtomFeedProvider.html#getSize(org.apache.abdera.model.Feed, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>getSize(Feed, Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.abdera.<A HREF="./org/apache/wink/providers/abdera/AbderaAtomFeedProvider.html" title="class in org.apache.wink.providers.abdera">AbderaAtomFeedProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#getSize(javax.xml.bind.JAXBElement, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>getSize(JAXBElement&lt;?&gt;, Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBElementProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html#getSize(java.lang.Object, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>getSize(Object, Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonArrayProvider.html#getSize(org.json.JSONArray, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>getSize(JSONArray, Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonArrayProvider.html" title="class in org.apache.wink.providers.json">JsonArrayProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonJAXBProvider.html#getSize(java.lang.Object, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>getSize(Object, Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonJAXBProvider.html" title="class in org.apache.wink.providers.json">JsonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonProvider.html#getSize(org.json.JSONObject, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>getSize(JSONObject, Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonProvider.html" title="class in org.apache.wink.providers.json">JsonProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getSkipDays()"><B>getSkipDays()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the skipDays property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getSkipHours()"><B>getSkipHours()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the skipHours property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#getSource()"><B>getSource()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Gets the value of the source property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html#getSrc()"><B>getSrc()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom">AtomContent</A>
<DD>Gets the value of src.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndContent.html#getSrc()"><B>getSrc()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndContent.html" title="class in org.apache.wink.common.model.synd">SyndContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Link.html#getSrc()"><B>getSrc()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Link.html" title="class in org.apache.wink.webdav.model">Link</A>
<DD>Gets the value of the src property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getStartIndex()"><B>getStartIndex()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of opensearch startIndex.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getStartIndex()"><B>getStartIndex()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Gets the value of the startIndex property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#getStartIndex()"><B>getStartIndex()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getStartPage()"><B>getStartPage()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Gets the value of the startPage property.
<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html#getStatus()"><B>getStatus()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model">Propstat</A>
<DD>Gets the value of the status property.
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#getStatus()"><B>getStatus()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>Gets the value of the status property.
<DT><A HREF="./org/apache/wink/client/ClientResponse.html#getStatusCode()"><B>getStatusCode()</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientResponse.html" title="interface in org.apache.wink.client">ClientResponse</A>
<DD>Get the response status code
<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html#getStatusCode()"><B>getStatusCode()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model">Propstat</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#getStatusLine()"><B>getStatusLine()</B></A> - 
Method in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>Gets the status line like <code>HTTP/1.1 404 Not Found</code>.
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html#getSubCollection(org.apache.wink.common.model.synd.SyndEntry)"><B>getSubCollection(SyndEntry)</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder.CollectionPropertyHandler</A>
<DD>Get the feed that this entry represents.
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html#getSubCollections(org.apache.wink.webdav.server.WebDAVResponseBuilder, org.apache.wink.common.model.synd.SyndFeed)"><B>getSubCollections(WebDAVResponseBuilder, SyndFeed)</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder.CollectionPropertyHandler</A>
<DD>Gets the list of sub-collection feeds for a given feed.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getSubtitle()"><B>getSubtitle()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of subtitle.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#getSubtitle()"><B>getSubtitle()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getSummary()"><B>getSummary()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Gets the value of summary.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html#getSummary()"><B>getSummary()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd">SyndEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#getSupportedlock()"><B>getSupportedlock()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Gets the value of the supportedlock property.
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVRootResource.html#getSyndFeed(java.lang.String)"><B>getSyndFeed(String)</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVRootResource.html" title="class in org.apache.wink.webdav.server">WebDAVRootResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getSyndicationRight()"><B>getSyndicationRight()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the syndicationRight property.
<DT><A HREF="./org/apache/wink/common/model/csv/MultiCsvTable.html#getTables()"><B>getTables()</B></A> - 
Method in class org.apache.wink.common.model.csv.<A HREF="./org/apache/wink/common/model/csv/MultiCsvTable.html" title="class in org.apache.wink.common.model.csv">MultiCsvTable</A>
<DD>Get the live list of tables contained in this multi-table csv
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getTags()"><B>getTags()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the tags property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html#getTemplate()"><B>getTemplate()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchUrl</A>
<DD>Gets the value of the template property.
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#getTemplateParameters()"><B>getTemplateParameters()</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Get Uri Template Variables
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCategory.html#getTerm()"><B>getTerm()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom">AtomCategory</A>
<DD>Gets the value of term.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCategory.html#getTerm()"><B>getTerm()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCategory.html" title="class in org.apache.wink.common.model.synd">SyndCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getTextInput()"><B>getTextInput()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the textInput property.
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#getTimeout()"><B>getTimeout()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>Gets the value of the timeout property.
<DT><A HREF="./org/apache/wink/common/model/app/AppCollection.html#getTitle()"><B>getTitle()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app">AppCollection</A>
<DD>Gets the value of title.
<DT><A HREF="./org/apache/wink/common/model/app/AppWorkspace.html#getTitle()"><B>getTitle()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppWorkspace.html" title="class in org.apache.wink.common.model.app">AppWorkspace</A>
<DD>Gets the value of title.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getTitle()"><B>getTitle()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Gets the value of title.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getTitle()"><B>getTitle()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of title.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#getTitle()"><B>getTitle()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>Gets the value of title.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getTitle()"><B>getTitle()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Gets the value of the title property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getTitle()"><B>getTitle()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the title property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#getTitle()"><B>getTitle()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>Gets the value of the title property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#getTitle()"><B>getTitle()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Gets the value of the title property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssTextInput.html#getTitle()"><B>getTitle()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss">RssTextInput</A>
<DD>Gets the value of the title property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#getTitle()"><B>getTitle()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#getTitle()"><B>getTitle()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getTotalResults()"><B>getTotalResults()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of opensearch totalResults.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#getTotalResults()"><B>getTotalResults()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Gets the value of the totalResults property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#getTotalResults()"><B>getTotalResults()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getTtl()"><B>getTtl()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the ttl property.
<DT><A HREF="./org/apache/wink/client/EntityType.html#getType()"><B>getType()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/EntityType.html" title="class in org.apache.wink.client">EntityType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html#getType()"><B>getType()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom">AtomContent</A>
<DD>Gets the value of type.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#getType()"><B>getType()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>Gets the value of type.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomText.html#getType()"><B>getType()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom">AtomText</A>
<DD>Gets the value of type.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html#getType()"><B>getType()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchImage</A>
<DD>Gets the value of the type property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html#getType()"><B>getType()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchUrl</A>
<DD>Gets the value of the type property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html#getType()"><B>getType()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html" title="class in org.apache.wink.common.model.rss">RssEnclosure</A>
<DD>Gets the value of the type property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndContent.html#getType()"><B>getType()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndContent.html" title="class in org.apache.wink.common.model.synd">SyndContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#getType()"><B>getType()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndText.html#getType()"><B>getType()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndText.html" title="class in org.apache.wink.common.model.synd">SyndText</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#getUnmarshaller()"><B>getUnmarshaller()</B></A> - 
Static method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppService.html#getUnmarshaller()"><B>getUnmarshaller()</B></A> - 
Static method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppService.html" title="class in org.apache.wink.common.model.app">AppService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getUnmarshaller()"><B>getUnmarshaller()</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getUnmarshaller()"><B>getUnmarshaller()</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getUnmarshaller()"><B>getUnmarshaller()</B></A> - 
Static method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getUpdated()"><B>getUpdated()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Gets the value of updated as a Date object
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getUpdated()"><B>getUpdated()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of updated as a Date object
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#getUpdated()"><B>getUpdated()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#getUpdatedAsTime()"><B>getUpdatedAsTime()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Gets the value of updated as a long value
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#getUpdatedAsTime()"><B>getUpdatedAsTime()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Gets the value of updated as a long value
<DT><A HREF="./org/apache/wink/client/ClientRequest.html#getURI()"><B>getURI()</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientRequest.html" title="interface in org.apache.wink.client">ClientRequest</A>
<DD>Get the uri of the request
<DT><A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html#getUri()"><B>getUri()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html" title="class in org.apache.wink.common.model.atom">AtomGenerator</A>
<DD>Gets the value of uri.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html#getUri()"><B>getUri()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom">AtomPerson</A>
<DD>Gets the value of uri.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html#getUri()"><B>getUri()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html" title="class in org.apache.wink.common.model.synd">SyndGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndPerson.html#getUri()"><B>getUri()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndPerson.html" title="class in org.apache.wink.common.model.synd">SyndPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/Resource.html#getUriBuilder()"><B>getUriBuilder()</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Get the <CODE>UriBuilder</CODE> associated with this resource.
<DT><A HREF="./org/apache/wink/common/RuntimeContext.html#getUriInfo()"><B>getUriInfo()</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/RuntimeContext.html" title="interface in org.apache.wink.common">RuntimeContext</A>
<DD>Get the <CODE>UriInfo</CODE> context
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#getUrl()"><B>getUrl()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Gets the value of the url property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html#getUrl()"><B>getUrl()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html" title="class in org.apache.wink.common.model.rss">RssEnclosure</A>
<DD>Gets the value of the url property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#getUrl()"><B>getUrl()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>Gets the value of the url property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssSource.html#getUrl()"><B>getUrl()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssSource.html" title="class in org.apache.wink.common.model.rss">RssSource</A>
<DD>Gets the value of the url property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html#getURLParameter()"><B>getURLParameter()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchParameter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributesSimpleContent</A>
<DD>Gets the value of value.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom">AtomContent</A>
<DD>
 Gets the content of the "atom:content" element as a String.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html#getValue(java.lang.Class)"><B>getValue(Class&lt;T&gt;)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom">AtomContent</A>
<DD>
 Gets the content of the "atom:content" element serialized to provided
 class.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html#getValue(java.lang.Class, java.lang.reflect.Type, javax.ws.rs.ext.Providers, java.lang.annotation.Annotation[], javax.ws.rs.core.MultivaluedMap, javax.ws.rs.core.MediaType)"><B>getValue(Class&lt;T&gt;, Type, Providers, Annotation[], MultivaluedMap&lt;String, String&gt;, MediaType)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom">AtomContent</A>
<DD>
 Gets the content of the "atom:content" element serialized to provided
 class according to provided parameters.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomText.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom">AtomText</A>
<DD>
 Gets the content of the "atom:text" element as a String.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomText.html#getValue(java.lang.Class)"><B>getValue(Class&lt;T&gt;)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom">AtomText</A>
<DD>
 Gets the content of the "atom:text" element serialized to provided class.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomText.html#getValue(java.lang.Class, java.lang.reflect.Type, javax.ws.rs.ext.Providers, java.lang.annotation.Annotation[], javax.ws.rs.core.MultivaluedMap, javax.ws.rs.core.MediaType)"><B>getValue(Class&lt;T&gt;, Type, Providers, Annotation[], MultivaluedMap&lt;String, String&gt;, MediaType)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom">AtomText</A>
<DD>
 Gets the content of the "atom:text" element serialized to provided class
 according to provided parameters.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchImage</A>
<DD>Gets the value of the value property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html" title="class in org.apache.wink.common.model.synd">SyndSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html#getValue(java.lang.Class)"><B>getValue(Class&lt;T&gt;)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html" title="class in org.apache.wink.common.model.synd">SyndSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html#getValue(java.lang.Class, java.lang.reflect.Type, javax.ws.rs.ext.Providers, java.lang.annotation.Annotation[], javax.ws.rs.core.MultivaluedMap, javax.ws.rs.core.MediaType)"><B>getValue(Class&lt;T&gt;, Type, Providers, Annotation[], MultivaluedMap&lt;String, String&gt;, MediaType)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html" title="class in org.apache.wink.common.model.synd">SyndSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Creationdate.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Creationdate.html" title="class in org.apache.wink.webdav.model">Creationdate</A>
<DD>Gets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Displayname.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Displayname.html" title="class in org.apache.wink.webdav.model">Displayname</A>
<DD>Gets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Getcontentlanguage.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontentlanguage.html" title="class in org.apache.wink.webdav.model">Getcontentlanguage</A>
<DD>Gets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Getcontentlength.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontentlength.html" title="class in org.apache.wink.webdav.model">Getcontentlength</A>
<DD>Gets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Getcontenttype.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontenttype.html" title="class in org.apache.wink.webdav.model">Getcontenttype</A>
<DD>Gets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Getetag.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getetag.html" title="class in org.apache.wink.webdav.model">Getetag</A>
<DD>Gets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Getlastmodified.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getlastmodified.html" title="class in org.apache.wink.webdav.model">Getlastmodified</A>
<DD>Gets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Creationdate.html#getValueAsDate()"><B>getValueAsDate()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Creationdate.html" title="class in org.apache.wink.webdav.model">Creationdate</A>
<DD>Gets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Getlastmodified.html#getValueAsDate()"><B>getValueAsDate()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getlastmodified.html" title="class in org.apache.wink.webdav.model">Getlastmodified</A>
<DD>Gets the value.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html#getVersion()"><B>getVersion()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html" title="class in org.apache.wink.common.model.atom">AtomGenerator</A>
<DD>Gets the value of version.
<DT><A HREF="./org/apache/wink/common/model/rss/RssFeed.html#getVersion()"><B>getVersion()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssFeed.html" title="class in org.apache.wink.common.model.rss">RssFeed</A>
<DD>Gets the value of the version property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html#getVersion()"><B>getVersion()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html" title="class in org.apache.wink.common.model.synd">SyndGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#getWebMaster()"><B>getWebMaster()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Gets the value of the webMaster property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html#getWidth()"><B>getWidth()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchImage</A>
<DD>Gets the value of the width property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#getWidth()"><B>getWidth()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>Gets the value of the width property.
<DT><A HREF="./org/apache/wink/common/model/app/AppService.html#getWorkspace()"><B>getWorkspace()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppService.html" title="class in org.apache.wink.common.model.app">AppService</A>
<DD>Gets the workspaces
<DT><A HREF="./org/apache/wink/common/model/app/AppService.html#getWorkspace(java.lang.String)"><B>getWorkspace(String)</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppService.html" title="class in org.apache.wink.common.model.app">AppService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/AbstractDynamicResource.html#getWorkspaceTitle()"><B>getWorkspaceTitle()</B></A> - 
Method in class org.apache.wink.common.<A HREF="./org/apache/wink/common/AbstractDynamicResource.html" title="class in org.apache.wink.common">AbstractDynamicResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/DynamicResource.html#getWorkspaceTitle()"><B>getWorkspaceTitle()</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/DynamicResource.html" title="interface in org.apache.wink.common">DynamicResource</A>
<DD>Returns the workspace title.
<DT><A HREF="./org/apache/wink/webdav/model/Locktype.html#getWrite()"><B>getWrite()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Locktype.html" title="class in org.apache.wink.webdav.model">Locktype</A>
<DD>Gets the value of the write property.
<DT><A HREF="./org/apache/wink/test/mock/TestUtils.html#getXML(java.lang.String, java.lang.Class)"><B>getXML(String, Class&lt;?&gt;)</B></A> - 
Static method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/TestUtils.html" title="class in org.apache.wink.test.mock">TestUtils</A>
<DD>returns xml from file.
<DT><A HREF="./org/apache/wink/test/mock/TestUtils.html#getXML(byte[])"><B>getXML(byte[])</B></A> - 
Static method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/TestUtils.html" title="class in org.apache.wink.test.mock">TestUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#GONE"><B>GONE</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#guid"><B>guid</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_H_"><!-- --></A><H2>
<B>H</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/client/handlers/ClientHandler.html#handle(org.apache.wink.client.ClientRequest, org.apache.wink.client.handlers.HandlerContext)"><B>handle(ClientRequest, HandlerContext)</B></A> - 
Method in interface org.apache.wink.client.handlers.<A HREF="./org/apache/wink/client/handlers/ClientHandler.html" title="interface in org.apache.wink.client.handlers">ClientHandler</A>
<DD>This method is invoked for every request invocation to allow the handler
 to perform custom actions during the invocation.
<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html#handle(T, org.apache.wink.server.handlers.MessageContext)"><B>handle(T, MessageContext)</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html" title="class in org.apache.wink.server.handlers">AbstractHandlersChain</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/RequestHandlersChain.html#handle(org.apache.wink.server.handlers.RequestHandler, org.apache.wink.server.handlers.MessageContext)"><B>handle(RequestHandler, MessageContext)</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/RequestHandlersChain.html" title="class in org.apache.wink.server.handlers">RequestHandlersChain</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/ResponseHandlersChain.html#handle(org.apache.wink.server.handlers.ResponseHandler, org.apache.wink.server.handlers.MessageContext)"><B>handle(ResponseHandler, MessageContext)</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/ResponseHandlersChain.html" title="class in org.apache.wink.server.handlers">ResponseHandlersChain</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/Handler.html" title="interface in org.apache.wink.server.handlers"><B>Handler</B></A> - Interface in <A HREF="./org/apache/wink/server/handlers/package-summary.html">org.apache.wink.server.handlers</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/client/handlers/HandlerContext.html" title="interface in org.apache.wink.client.handlers"><B>HandlerContext</B></A> - Interface in <A HREF="./org/apache/wink/client/handlers/package-summary.html">org.apache.wink.client.handlers</A><DD>The handler context is used by handlers to call the next handler on the
 chain.<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandler.html#handleRequest(org.apache.wink.server.handlers.MessageContext, org.apache.wink.server.handlers.HandlersChain)"><B>handleRequest(MessageContext, HandlersChain)</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/AbstractHandler.html" title="class in org.apache.wink.server.handlers">AbstractHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandler.html#handleRequest(org.apache.wink.server.handlers.MessageContext)"><B>handleRequest(MessageContext)</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/AbstractHandler.html" title="class in org.apache.wink.server.handlers">AbstractHandler</A>
<DD>Override this method to handle the request.
<DT><A HREF="./org/apache/wink/server/handlers/RequestHandler.html#handleRequest(org.apache.wink.server.handlers.MessageContext, org.apache.wink.server.handlers.HandlersChain)"><B>handleRequest(MessageContext, HandlersChain)</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/RequestHandler.html" title="interface in org.apache.wink.server.handlers">RequestHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandler.html#handleResponse(org.apache.wink.server.handlers.MessageContext, org.apache.wink.server.handlers.HandlersChain)"><B>handleResponse(MessageContext, HandlersChain)</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/AbstractHandler.html" title="class in org.apache.wink.server.handlers">AbstractHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandler.html#handleResponse(org.apache.wink.server.handlers.MessageContext)"><B>handleResponse(MessageContext)</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/AbstractHandler.html" title="class in org.apache.wink.server.handlers">AbstractHandler</A>
<DD>Override this method to handle the response.
<DT><A HREF="./org/apache/wink/server/handlers/ResponseHandler.html#handleResponse(org.apache.wink.server.handlers.MessageContext, org.apache.wink.server.handlers.HandlersChain)"><B>handleResponse(MessageContext, HandlersChain)</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/ResponseHandler.html" title="interface in org.apache.wink.server.handlers">ResponseHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#handlers(org.apache.wink.client.handlers.ClientHandler...)"><B>handlers(ClientHandler...)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Add client handlers
<DT><A HREF="./org/apache/wink/server/handlers/HandlersChain.html" title="interface in org.apache.wink.server.handlers"><B>HandlersChain</B></A> - Interface in <A HREF="./org/apache/wink/server/handlers/package-summary.html">org.apache.wink.server.handlers</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/server/handlers/HandlersFactory.html" title="class in org.apache.wink.server.handlers"><B>HandlersFactory</B></A> - Class in <A HREF="./org/apache/wink/server/handlers/package-summary.html">org.apache.wink.server.handlers</A><DD>
 HandlersFactory is responsible to provide the user handlers to the
 application.<DT><A HREF="./org/apache/wink/server/handlers/HandlersFactory.html#HandlersFactory()"><B>HandlersFactory()</B></A> - 
Constructor for class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/HandlersFactory.html" title="class in org.apache.wink.server.handlers">HandlersFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCategory.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCategory.html" title="class in org.apache.wink.common.model.synd">SyndCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html" title="class in org.apache.wink.common.model.synd">SyndCommonAttributes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndContent.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndContent.html" title="class in org.apache.wink.common.model.synd">SyndContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd">SyndEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html" title="class in org.apache.wink.common.model.synd">SyndGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndPerson.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndPerson.html" title="class in org.apache.wink.common.model.synd">SyndPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html" title="class in org.apache.wink.common.model.synd">SyndSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndText.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndText.html" title="class in org.apache.wink.common.model.synd">SyndText</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html#hasNext()"><B>hasNext()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html" title="class in org.apache.wink.common.model.multipart">InMultiPart</A>
<DD>Returns <tt>true</tt> if the iteration has more elements.
<DT><A HREF="./org/apache/wink/client/Resource.html#head()"><B>head()</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke the HEAD method
<DT><A HREF="./org/apache/wink/client/Resource.html#header(java.lang.String, java.lang.String...)"><B>header(String, String...)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Add a request header to be used in every invocation
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html#height"><B>height</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchImage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#height"><B>height</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssSkipHours.html#hour"><B>hour</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssSkipHours.html" title="class in org.apache.wink.common.model.rss">RssSkipHours</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#href"><B>href</B></A> - 
Variable in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppCollection.html#href"><B>href</B></A> - 
Variable in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app">AppCollection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#href"><B>href</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Locktoken.html#href"><B>href</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Locktoken.html" title="class in org.apache.wink.webdav.model">Locktoken</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#href"><B>href</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#hreflang"><B>hreflang</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#HTTP_VERSION_NOT_SUPPORTED"><B>HTTP_VERSION_NOT_SUPPORTED</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpHeadersEx.html" title="class in org.apache.wink.common.http"><B>HttpHeadersEx</B></A> - Class in <A HREF="./org/apache/wink/common/http/package-summary.html">org.apache.wink.common.http</A><DD>List of HTTP headers.<DT><A HREF="./org/apache/wink/common/http/HttpMethodEx.html" title="class in org.apache.wink.common.http"><B>HttpMethodEx</B></A> - Class in <A HREF="./org/apache/wink/common/http/package-summary.html">org.apache.wink.common.http</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/http/HttpMethodEx.html#HttpMethodEx()"><B>HttpMethodEx()</B></A> - 
Constructor for class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpMethodEx.html" title="class in org.apache.wink.common.http">HttpMethodEx</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http"><B>HttpStatus</B></A> - Class in <A HREF="./org/apache/wink/common/http/package-summary.html">org.apache.wink.common.http</A><DD>HTTP status codes and a helper methods.<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#HttpStatus(int, java.lang.String)"><B>HttpStatus(int, String)</B></A> - 
Constructor for class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD><B>Deprecated.</B>&nbsp;<I></I>&nbsp;
</DL>
<HR>
<A NAME="_I_"><!-- --></A><H2>
<B>I</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#icon"><B>icon</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#id"><B>id</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#id"><B>id</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVHeaders.html#IF"><B>IF</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVHeaders.html" title="class in org.apache.wink.webdav">WebDAVHeaders</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#image"><B>image</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#image"><B>image</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandler.html#init(java.util.Properties)"><B>init(Properties)</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/AbstractHandler.html" title="class in org.apache.wink.server.handlers">AbstractHandler</A>
<DD>Override this method if initialization functionality is required
<DT><A HREF="./org/apache/wink/server/handlers/Handler.html#init(java.util.Properties)"><B>init(Properties)</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/Handler.html" title="interface in org.apache.wink.server.handlers">Handler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html" title="class in org.apache.wink.common.model.multipart"><B>InMultiPart</B></A> - Class in <A HREF="./org/apache/wink/common/model/multipart/package-summary.html">org.apache.wink.common.model.multipart</A><DD>This class is used to represent inbound MultiPart messages, it implements
 an Iterator to iterate over the message's parts.<DT><A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html#InMultiPart(org.apache.wink.common.internal.providers.multipart.MultiPartParser)"><B>InMultiPart(MultiPartParser)</B></A> - 
Constructor for class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html" title="class in org.apache.wink.common.model.multipart">InMultiPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/InPart.html" title="class in org.apache.wink.common.model.multipart"><B>InPart</B></A> - Class in <A HREF="./org/apache/wink/common/model/multipart/package-summary.html">org.apache.wink.common.model.multipart</A><DD>This class is used to represent a single part in an inbound MultiPart
 messages,<DT><A HREF="./org/apache/wink/common/model/multipart/InPart.html#InPart()"><B>InPart()</B></A> - 
Constructor for class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InPart.html" title="class in org.apache.wink.common.model.multipart">InPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/InPart.html#InPart(javax.ws.rs.core.MultivaluedMap, javax.ws.rs.ext.Providers)"><B>InPart(MultivaluedMap&lt;String, String&gt;, Providers)</B></A> - 
Constructor for class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InPart.html" title="class in org.apache.wink.common.model.multipart">InPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#inputEncoding"><B>inputEncoding</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#inputEncoding"><B>inputEncoding</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/handlers/InputStreamAdapter.html" title="interface in org.apache.wink.client.handlers"><B>InputStreamAdapter</B></A> - Interface in <A HREF="./org/apache/wink/client/handlers/package-summary.html">org.apache.wink.client.handlers</A><DD>Interface for adapting the input stream<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#INSUFFICIENT_SPACE_ON_RESOURCE"><B>INSUFFICIENT_SPACE_ON_RESOURCE</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#INSUFFICIENT_STORAGE"><B>INSUFFICIENT_STORAGE</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#INTERNAL_SERVER_ERROR"><B>INTERNAL_SERVER_ERROR</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/Resource.html#invoke(java.lang.String, java.lang.Class, java.lang.Object)"><B>invoke(String, Class&lt;T&gt;, Object)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke a request to the uri associated with the resource, and with any
 headers and attributes set on the resource.
<DT><A HREF="./org/apache/wink/client/Resource.html#invoke(java.lang.String, org.apache.wink.client.EntityType, java.lang.Object)"><B>invoke(String, EntityType&lt;T&gt;, Object)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke a request to the uri associated with the resource, and with any
 headers and attributes set on the resource.
<DT><A HREF="./org/apache/wink/test/mock/SpringMockServletInvocationTest.html#invoke(org.springframework.mock.web.MockHttpServletRequest)"><B>invoke(MockHttpServletRequest)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/SpringMockServletInvocationTest.html" title="class in org.apache.wink.test.mock">SpringMockServletInvocationTest</A>
<DD>Passes the test to the servlet instance simulating AS behaviour.
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#isAcceptHeaderAutoSet()"><B>isAcceptHeaderAutoSet()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Returns whether client will automatically set an appropriate Accept
 header
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#isAllprop()"><B>isAllprop()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#isError()"><B>isError()</B></A> - 
Method in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>Is this an error status.
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#isFixed()"><B>isFixed()</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>If an app:categories element is marked as fixed, then the set of
 atom:Category elements is considered to be a closed set.
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#isFixedSet()"><B>isFixedSet()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#isFollowRedirects()"><B>isFollowRedirects()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Returns whether to client will automatically follow redirects
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#isInline()"><B>isInline()</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssGuid.html#isIsPermaLink()"><B>isIsPermaLink()</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssGuid.html" title="class in org.apache.wink.common.model.rss">RssGuid</A>
<DD>Gets the value of the isPermaLink property.
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#isLoadWinkApplications()"><B>isLoadWinkApplications()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html#isMandatory()"><B>isMandatory()</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchParameter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#isOutOfLine()"><B>isOutOfLine()</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Returns true if the href attribute is set
<DT><A HREF="./org/apache/wink/common/model/rss/RssGuid.html#isPermaLink"><B>isPermaLink</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssGuid.html" title="class in org.apache.wink.common.model.rss">RssGuid</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#isPropname()"><B>isPropname()</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/abdera/AbderaAtomEntryProvider.html#isReadable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>isReadable(Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.abdera.<A HREF="./org/apache/wink/providers/abdera/AbderaAtomEntryProvider.html" title="class in org.apache.wink.providers.abdera">AbderaAtomEntryProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/abdera/AbderaAtomFeedProvider.html#isReadable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>isReadable(Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.abdera.<A HREF="./org/apache/wink/providers/abdera/AbderaAtomFeedProvider.html" title="class in org.apache.wink.providers.abdera">AbderaAtomFeedProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#isReadable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>isReadable(Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBElementProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html#isReadable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>isReadable(Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonArrayProvider.html#isReadable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>isReadable(Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonArrayProvider.html" title="class in org.apache.wink.providers.json">JsonArrayProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonJAXBProvider.html#isReadable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>isReadable(Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonJAXBProvider.html" title="class in org.apache.wink.providers.json">JsonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonProvider.html#isReadable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>isReadable(Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonProvider.html" title="class in org.apache.wink.providers.json">JsonProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html#isSubCollection(org.apache.wink.common.model.synd.SyndEntry)"><B>isSubCollection(SyndEntry)</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder.CollectionPropertyHandler</A>
<DD>Specifies if an entry actually represents a feed.
<DT><A HREF="./org/apache/wink/providers/abdera/AbderaAtomEntryProvider.html#isWriteable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>isWriteable(Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.abdera.<A HREF="./org/apache/wink/providers/abdera/AbderaAtomEntryProvider.html" title="class in org.apache.wink.providers.abdera">AbderaAtomEntryProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/abdera/AbderaAtomFeedProvider.html#isWriteable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>isWriteable(Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.abdera.<A HREF="./org/apache/wink/providers/abdera/AbderaAtomFeedProvider.html" title="class in org.apache.wink.providers.abdera">AbderaAtomFeedProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#isWriteable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>isWriteable(Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBElementProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html#isWriteable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>isWriteable(Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonArrayProvider.html#isWriteable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>isWriteable(Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonArrayProvider.html" title="class in org.apache.wink.providers.json">JsonArrayProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonJAXBProvider.html#isWriteable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>isWriteable(Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonJAXBProvider.html" title="class in org.apache.wink.providers.json">JsonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonProvider.html#isWriteable(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)"><B>isWriteable(Class&lt;?&gt;, Type, Annotation[], MediaType)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonProvider.html" title="class in org.apache.wink.providers.json">JsonProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#item"><B>item</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#itemsPerPage"><B>itemsPerPage</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_J_"><!-- --></A><H2>
<B>J</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html" title="class in org.apache.wink.providers.jettison"><B>JettisonJAXBElementProvider</B></A> - Class in <A HREF="./org/apache/wink/providers/jettison/package-summary.html">org.apache.wink.providers.jettison</A><DD>A Jettison JAXBElement provider.<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#JettisonJAXBElementProvider()"><B>JettisonJAXBElementProvider()</B></A> - 
Constructor for class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBElementProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#JettisonJAXBElementProvider(boolean, org.codehaus.jettison.mapped.Configuration, org.codehaus.jettison.mapped.Configuration)"><B>JettisonJAXBElementProvider(boolean, Configuration, Configuration)</B></A> - 
Constructor for class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBElementProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html" title="class in org.apache.wink.providers.jettison"><B>JettisonJAXBProvider</B></A> - Class in <A HREF="./org/apache/wink/providers/jettison/package-summary.html">org.apache.wink.providers.jettison</A><DD>A Jettison JAXB provider.<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html#JettisonJAXBProvider()"><B>JettisonJAXBProvider()</B></A> - 
Constructor for class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html#JettisonJAXBProvider(boolean, org.codehaus.jettison.mapped.Configuration, org.codehaus.jettison.mapped.Configuration)"><B>JettisonJAXBProvider(boolean, Configuration, Configuration)</B></A> - 
Constructor for class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonArrayProvider.html" title="class in org.apache.wink.providers.json"><B>JsonArrayProvider</B></A> - Class in <A HREF="./org/apache/wink/providers/json/package-summary.html">org.apache.wink.providers.json</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/providers/json/JsonArrayProvider.html#JsonArrayProvider()"><B>JsonArrayProvider()</B></A> - 
Constructor for class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonArrayProvider.html" title="class in org.apache.wink.providers.json">JsonArrayProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonJAXBProvider.html" title="class in org.apache.wink.providers.json"><B>JsonJAXBProvider</B></A> - Class in <A HREF="./org/apache/wink/providers/json/package-summary.html">org.apache.wink.providers.json</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/providers/json/JsonJAXBProvider.html#JsonJAXBProvider()"><B>JsonJAXBProvider()</B></A> - 
Constructor for class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonJAXBProvider.html" title="class in org.apache.wink.providers.json">JsonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonProvider.html" title="class in org.apache.wink.providers.json"><B>JsonProvider</B></A> - Class in <A HREF="./org/apache/wink/providers/json/package-summary.html">org.apache.wink.providers.json</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/providers/json/JsonProvider.html#JsonProvider()"><B>JsonProvider()</B></A> - 
Constructor for class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonProvider.html" title="class in org.apache.wink.providers.json">JsonProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JSONUtils.html" title="class in org.apache.wink.providers.json"><B>JSONUtils</B></A> - Class in <A HREF="./org/apache/wink/providers/json/package-summary.html">org.apache.wink.providers.json</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/providers/json/JSONUtils.html#JSONUtils()"><B>JSONUtils()</B></A> - 
Constructor for class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JSONUtils.html" title="class in org.apache.wink.providers.json">JSONUtils</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_K_"><!-- --></A><H2>
<B>K</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/webdav/model/Keepalive.html" title="class in org.apache.wink.webdav.model"><B>Keepalive</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>keepalive</code> XML element per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Keepalive.html#Keepalive()"><B>Keepalive()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Keepalive.html" title="class in org.apache.wink.webdav.model">Keepalive</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propertybehavior.html#keepalive"><B>keepalive</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertybehavior.html" title="class in org.apache.wink.webdav.model">Propertybehavior</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_L_"><!-- --></A><H2>
<B>L</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCategory.html#label"><B>label</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom">AtomCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html#lang"><B>lang</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html#lang"><B>lang</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributesSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#language"><B>language</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#language"><B>language</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#language"><B>language</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#lastBuildDate"><B>lastBuildDate</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#length"><B>length</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html#length"><B>length</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html" title="class in org.apache.wink.common.model.rss">RssEnclosure</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#LENGTH_REQUIRED"><B>LENGTH_REQUIRED</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#link"><B>link</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#link"><B>link</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#link"><B>link</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#link"><B>link</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#link"><B>link</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssTextInput.html#link"><B>link</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss">RssTextInput</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Link.html" title="class in org.apache.wink.webdav.model"><B>Link</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>link</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Link.html#Link()"><B>Link()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Link.html" title="class in org.apache.wink.webdav.model">Link</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Source.html#link"><B>link</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Source.html" title="class in org.apache.wink.webdav.model">Source</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/LinkBuilders.html" title="interface in org.apache.wink.server.utils"><B>LinkBuilders</B></A> - Interface in <A HREF="./org/apache/wink/server/utils/package-summary.html">org.apache.wink.server.utils</A><DD>Provides access to <A HREF="./org/apache/wink/server/utils/SystemLinksBuilder.html" title="interface in org.apache.wink.server.utils"><CODE>SystemLinksBuilder</CODE></A> and to
 <A HREF="./org/apache/wink/server/utils/SingleLinkBuilder.html" title="interface in org.apache.wink.server.utils"><CODE>SingleLinkBuilder</CODE></A><DT><A HREF="./org/apache/wink/webdav/WebDAVHeaders.html#LOCK_TOKEN"><B>LOCK_TOKEN</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVHeaders.html" title="class in org.apache.wink.webdav">WebDAVHeaders</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Lockdiscovery.html" title="class in org.apache.wink.webdav.model"><B>Lockdiscovery</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>lockdiscovery</code> Property per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Lockdiscovery.html#Lockdiscovery()"><B>Lockdiscovery()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockdiscovery.html" title="class in org.apache.wink.webdav.model">Lockdiscovery</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#lockdiscovery"><B>lockdiscovery</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#LOCKED"><B>LOCKED</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Lockentry.html" title="class in org.apache.wink.webdav.model"><B>Lockentry</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>lockentry</code> XML element per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Lockentry.html#Lockentry()"><B>Lockentry()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockentry.html" title="class in org.apache.wink.webdav.model">Lockentry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Supportedlock.html#lockentry"><B>lockentry</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Supportedlock.html" title="class in org.apache.wink.webdav.model">Supportedlock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Lockinfo.html" title="class in org.apache.wink.webdav.model"><B>Lockinfo</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>lockinfo</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Lockinfo.html#Lockinfo()"><B>Lockinfo()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockinfo.html" title="class in org.apache.wink.webdav.model">Lockinfo</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#lockscope"><B>lockscope</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Lockentry.html#lockscope"><B>lockscope</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockentry.html" title="class in org.apache.wink.webdav.model">Lockentry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Lockinfo.html#lockscope"><B>lockscope</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockinfo.html" title="class in org.apache.wink.webdav.model">Lockinfo</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Lockscope.html" title="class in org.apache.wink.webdav.model"><B>Lockscope</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>lockscope</code> XML element per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Lockscope.html#Lockscope()"><B>Lockscope()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockscope.html" title="class in org.apache.wink.webdav.model">Lockscope</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#locktoken"><B>locktoken</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Locktoken.html" title="class in org.apache.wink.webdav.model"><B>Locktoken</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>locktoken</code> XML element per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Locktoken.html#Locktoken()"><B>Locktoken()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Locktoken.html" title="class in org.apache.wink.webdav.model">Locktoken</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#locktype"><B>locktype</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Lockentry.html#locktype"><B>locktype</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockentry.html" title="class in org.apache.wink.webdav.model">Lockentry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Lockinfo.html#locktype"><B>locktype</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockinfo.html" title="class in org.apache.wink.webdav.model">Lockinfo</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Locktype.html" title="class in org.apache.wink.webdav.model"><B>Locktype</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>locktype</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Locktype.html#Locktype()"><B>Locktype()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Locktype.html" title="class in org.apache.wink.webdav.model">Locktype</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#log(java.lang.Exception, java.lang.String)"><B>log(Exception, String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#log(java.lang.String, java.lang.Throwable)"><B>log(String, Throwable)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#log(java.lang.String)"><B>log(String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#logo"><B>logo</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#longName"><B>longName</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_M_"><!-- --></A><H2>
<B>M</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
Static method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/example/QADefectsClient.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
Static method in class org.apache.wink.example.<A HREF="./org/apache/wink/example/QADefectsClient.html" title="class in org.apache.wink.example">QADefectsClient</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/example/ReadRSSClient.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
Static method in class org.apache.wink.example.<A HREF="./org/apache/wink/example/ReadRSSClient.html" title="class in org.apache.wink.example">ReadRSSClient</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#managingEditor"><B>managingEditor</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#marshal(org.apache.wink.common.model.atom.AtomEntry, java.io.OutputStream)"><B>marshal(AtomEntry, OutputStream)</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#marshal(org.apache.wink.common.model.atom.AtomFeed, java.io.OutputStream)"><B>marshal(AtomFeed, OutputStream)</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Multistatus.html#marshal(org.apache.wink.webdav.model.Multistatus, java.io.OutputStream)"><B>marshal(Multistatus, OutputStream)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Multistatus.html" title="class in org.apache.wink.webdav.model">Multistatus</A>
<DD>Marshal a Multistatus object to the provided output stream
<DT><A HREF="./org/apache/wink/webdav/model/Multistatus.html#marshal(org.apache.wink.webdav.model.Multistatus, java.io.Writer)"><B>marshal(Multistatus, Writer)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Multistatus.html" title="class in org.apache.wink.webdav.model">Multistatus</A>
<DD>Marshal a Multistatus object to the provided writer
<DT><A HREF="./org/apache/wink/webdav/model/Propertyupdate.html#marshal(org.apache.wink.webdav.model.Propertyupdate, java.io.OutputStream)"><B>marshal(Propertyupdate, OutputStream)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertyupdate.html" title="class in org.apache.wink.webdav.model">Propertyupdate</A>
<DD>Marshal a Propertyupdate object to the provided output stream
<DT><A HREF="./org/apache/wink/webdav/model/Propertyupdate.html#marshal(org.apache.wink.webdav.model.Propertyupdate, java.io.Writer)"><B>marshal(Propertyupdate, Writer)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertyupdate.html" title="class in org.apache.wink.webdav.model">Propertyupdate</A>
<DD>Marshal a Propfind object to the provided writer
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#marshal(org.apache.wink.webdav.model.Propfind, java.io.OutputStream)"><B>marshal(Propfind, OutputStream)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>Marshal a Propfind object to the provided output stream
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#marshal(org.apache.wink.webdav.model.Propfind, java.io.Writer)"><B>marshal(Propfind, Writer)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>Marshal a Propfind object to the provided writer
<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#marshal(javax.xml.bind.Marshaller, java.lang.Object, java.io.Writer, java.lang.String)"><B>marshal(Marshaller, Object, Writer, String)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/MediaTypeMappingRecord.html#match(javax.ws.rs.core.HttpHeaders, javax.ws.rs.core.MediaType)"><B>match(HttpHeaders, MediaType)</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/MediaTypeMappingRecord.html" title="interface in org.apache.wink.server.handlers">MediaTypeMappingRecord</A>
<DD>Maps response media types to a different response media type if
 necessary.
<DT><A HREF="./org/apache/wink/server/handlers/MediaTypeMapperFactory.html" title="class in org.apache.wink.server.handlers"><B>MediaTypeMapperFactory</B></A> - Class in <A HREF="./org/apache/wink/server/handlers/package-summary.html">org.apache.wink.server.handlers</A><DD>
 MediaTypeMapperFactory is responsible to provide media type mappings from an
 application's response media type to a preferred media type.<DT><A HREF="./org/apache/wink/server/handlers/MediaTypeMapperFactory.html#MediaTypeMapperFactory()"><B>MediaTypeMapperFactory()</B></A> - 
Constructor for class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/MediaTypeMapperFactory.html" title="class in org.apache.wink.server.handlers">MediaTypeMapperFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/MediaTypeMappingRecord.html" title="interface in org.apache.wink.server.handlers"><B>MediaTypeMappingRecord</B></A> - Interface in <A HREF="./org/apache/wink/server/handlers/package-summary.html">org.apache.wink.server.handlers</A><DD>MediaTypeMappingRecords can map response media types to a different response
 media type if necessary.<DT><A HREF="./org/apache/wink/server/handlers/MessageContext.html" title="interface in org.apache.wink.server.handlers"><B>MessageContext</B></A> - Interface in <A HREF="./org/apache/wink/server/handlers/package-summary.html">org.apache.wink.server.handlers</A><DD>The MessageContext is used by Handlers to obtain and manipulate request
 specific information.<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#METHOD_FAILURE"><B>METHOD_FAILURE</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#METHOD_NOT_ALLOWED"><B>METHOD_NOT_ALLOWED</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client"><B>MockHttpServer</B></A> - Class in <A HREF="./org/apache/wink/client/package-summary.html">org.apache.wink.client</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#MockHttpServer(int)"><B>MockHttpServer(int)</B></A> - 
Constructor for class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#MockHttpServer(int, boolean)"><B>MockHttpServer(int, boolean)</B></A> - 
Constructor for class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/MockHttpServletRequestWrapper.html" title="class in org.apache.wink.test.mock"><B>MockHttpServletRequestWrapper</B></A> - Class in <A HREF="./org/apache/wink/test/mock/package-summary.html">org.apache.wink.test.mock</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/test/mock/MockHttpServletRequestWrapper.html#MockHttpServletRequestWrapper()"><B>MockHttpServletRequestWrapper()</B></A> - 
Constructor for class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/MockHttpServletRequestWrapper.html" title="class in org.apache.wink.test.mock">MockHttpServletRequestWrapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/MockRequestConstructor.html" title="class in org.apache.wink.test.mock"><B>MockRequestConstructor</B></A> - Class in <A HREF="./org/apache/wink/test/mock/package-summary.html">org.apache.wink.test.mock</A><DD>Constructs mock request for server testing<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#MOVED_PERMANENTLY"><B>MOVED_PERMANENTLY</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVHeaders.html#MS_AUTHOR_VIA"><B>MS_AUTHOR_VIA</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVHeaders.html" title="class in org.apache.wink.webdav">WebDAVHeaders</A>
<DD>Microsoft <a
 href="http://msdn.microsoft.com/en-us/library/cc250217.aspx">
 authorization header</a>
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVLockableResource.html#msCompatibilityLock(java.lang.String)"><B>msCompatibilityLock(String)</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVLockableResource.html" title="class in org.apache.wink.webdav.server">WebDAVLockableResource</A>
<DD>This method does not perform a real lock but returns a 'dummy' lock
 response for compatibility with MS Windows.
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVUtils.html#msCompatibilityLock(java.lang.String)"><B>msCompatibilityLock(String)</B></A> - 
Static method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVUtils.html" title="class in org.apache.wink.webdav.server">WebDAVUtils</A>
<DD>This method does not perform a real lock but returns a 'dummy' lock
 response for compatibility with MS Windows.
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVLockableResource.html#msCompatibilityUnlock()"><B>msCompatibilityUnlock()</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVLockableResource.html" title="class in org.apache.wink.webdav.server">WebDAVLockableResource</A>
<DD>This method does not perform a real unlock but returns a NO_CONTENT
 response for compatibility with MS Windows.
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVUtils.html#msCompatibilityUnlock()"><B>msCompatibilityUnlock()</B></A> - 
Static method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVUtils.html" title="class in org.apache.wink.webdav.server">WebDAVUtils</A>
<DD>This method does not perform a real unlock but returns a NO_CONTENT
 response for compatibility with MS Windows.
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#MULTI_STATUS"><B>MULTI_STATUS</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/csv/MultiCsvTable.html" title="class in org.apache.wink.common.model.csv"><B>MultiCsvTable</B></A> - Class in <A HREF="./org/apache/wink/common/model/csv/package-summary.html">org.apache.wink.common.model.csv</A><DD>Represents a multiple table CSV.<DT><A HREF="./org/apache/wink/common/model/csv/MultiCsvTable.html#MultiCsvTable()"><B>MultiCsvTable()</B></A> - 
Constructor for class org.apache.wink.common.model.csv.<A HREF="./org/apache/wink/common/model/csv/MultiCsvTable.html" title="class in org.apache.wink.common.model.csv">MultiCsvTable</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#MULTIPLE_CHOICES"><B>MULTIPLE_CHOICES</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Multistatus.html" title="class in org.apache.wink.webdav.model"><B>Multistatus</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>multistatus</code> XML element per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Multistatus.html#Multistatus()"><B>Multistatus()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Multistatus.html" title="class in org.apache.wink.webdav.model">Multistatus</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_N_"><!-- --></A><H2>
<B>N</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html#name"><B>name</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom">AtomPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssTextInput.html#name"><B>name</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss">RssTextInput</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RestConstants.html#NAMESPACE_APP"><B>NAMESPACE_APP</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RestConstants.html#NAMESPACE_ATOM"><B>NAMESPACE_ATOM</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVConstants.html#NAMESPACE_DAV"><B>NAMESPACE_DAV</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVConstants.html" title="class in org.apache.wink.webdav">WebDAVConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RestConstants.html#NAMESPACE_OPENSEARCH"><B>NAMESPACE_OPENSEARCH</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RestConstants.html#NAMESPACE_XHTML"><B>NAMESPACE_XHTML</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RestConstants.html#NAMESPACE_XML"><B>NAMESPACE_XML</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html#next()"><B>next()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html" title="class in org.apache.wink.common.model.multipart">InMultiPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#NO_CONTENT"><B>NO_CONTENT</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#NON_AUTHORITATIVE_INFORMATION"><B>NON_AUTHORITATIVE_INFORMATION</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#NOT_ACCEPTABLE"><B>NOT_ACCEPTABLE</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#NOT_FOUND"><B>NOT_FOUND</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#NOT_IMPLEMENTED"><B>NOT_IMPLEMENTED</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#NOT_MODIFIED"><B>NOT_MODIFIED</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_O_"><!-- --></A><H2>
<B>O</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/model/app/ObjectFactory.html" title="class in org.apache.wink.common.model.app"><B>ObjectFactory</B></A> - Class in <A HREF="./org/apache/wink/common/model/app/package-summary.html">org.apache.wink.common.model.app</A><DD>This object contains factory methods for each Java content interface and Java
 element interface generated in the org.apache.wink.common.model.app package.<DT><A HREF="./org/apache/wink/common/model/app/ObjectFactory.html#ObjectFactory()"><B>ObjectFactory()</B></A> - 
Constructor for class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/ObjectFactory.html" title="class in org.apache.wink.common.model.app">ObjectFactory</A>
<DD>Create a new ObjectFactory that can be used to create new instances of
 schema derived classes for package: org.apache.wink.common.model.app
<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom"><B>ObjectFactory</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>This object contains factory methods for each Java content interface and Java
 element interface generated in the org.apache.wink.common.model.atom package.<DT><A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html#ObjectFactory()"><B>ObjectFactory()</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/ObjectFactory.html" title="class in org.apache.wink.common.model.atom">ObjectFactory</A>
<DD>Create a new ObjectFactory that can be used to create new instances of
 schema derived classes for package: org.apache.wink.common.model.atom
<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch"><B>ObjectFactory</B></A> - Class in <A HREF="./org/apache/wink/common/model/opensearch/package-summary.html">org.apache.wink.common.model.opensearch</A><DD>This object contains factory methods for each Java content interface and Java
 element interface generated in the org.apache.wink.common.model.opensearch
 package.<DT><A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html#ObjectFactory()"><B>ObjectFactory()</B></A> - 
Constructor for class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/ObjectFactory.html" title="class in org.apache.wink.common.model.opensearch">ObjectFactory</A>
<DD>Create a new ObjectFactory that can be used to create new instances of
 schema derived classes for package:
 org.apache.wink.common.model.opensearch
<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss"><B>ObjectFactory</B></A> - Class in <A HREF="./org/apache/wink/common/model/rss/package-summary.html">org.apache.wink.common.model.rss</A><DD>This object contains factory methods for each Java content interface and Java
 element interface generated in the org.apache.wink.common.model.rss package.<DT><A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html#ObjectFactory()"><B>ObjectFactory()</B></A> - 
Constructor for class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/ObjectFactory.html" title="class in org.apache.wink.common.model.rss">ObjectFactory</A>
<DD>Create a new ObjectFactory that can be used to create new instances of
 schema derived classes for package: org.apache.wink.common.model.rss
<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model"><B>ObjectFactory</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>This object contains factory methods for each Java content interface and Java
 element interface generated in the org.apache.wink.webdav.model package.<DT><A HREF="./org/apache/wink/webdav/model/ObjectFactory.html#ObjectFactory()"><B>ObjectFactory()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/ObjectFactory.html" title="class in org.apache.wink.webdav.model">ObjectFactory</A>
<DD>Create a new ObjectFactory that can be used to create new instances of
 schema derived classes for package: org.apache.wink.webdav.model
<DT><A HREF="./org/apache/wink/providers/json/JSONUtils.html#objectForString(java.lang.String)"><B>objectForString(String)</B></A> - 
Static method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JSONUtils.html" title="class in org.apache.wink.providers.json">JSONUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#OK"><B>OK</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Omit.html" title="class in org.apache.wink.webdav.model"><B>Omit</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>omit</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Omit.html#Omit()"><B>Omit()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Omit.html" title="class in org.apache.wink.webdav.model">Omit</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propertybehavior.html#omit"><B>omit</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertybehavior.html" title="class in org.apache.wink.webdav.model">Propertybehavior</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RestConstants.html#OPENSEARCH_PREFIX"><B>OPENSEARCH_PREFIX</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch"><B>OpenSearchDescription</B></A> - Class in <A HREF="./org/apache/wink/common/model/opensearch/package-summary.html">org.apache.wink.common.model.opensearch</A><DD>The "OpenSearchDescription" element per OpenSearch specification<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#OpenSearchDescription()"><B>OpenSearchDescription()</B></A> - 
Constructor for class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#opensearchFactory"><B>opensearchFactory</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch"><B>OpenSearchImage</B></A> - Class in <A HREF="./org/apache/wink/common/model/opensearch/package-summary.html">org.apache.wink.common.model.opensearch</A><DD>The "Image" element per OpenSearch specification<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html#OpenSearchImage()"><B>OpenSearchImage()</B></A> - 
Constructor for class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchImage</A>
<DD>Default Constructor
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html" title="class in org.apache.wink.common.model.opensearch"><B>OpenSearchParameter</B></A> - Class in <A HREF="./org/apache/wink/common/model/opensearch/package-summary.html">org.apache.wink.common.model.opensearch</A><DD>Represents one search parameter in form of parameter_key={parameter}.<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html#OpenSearchParameter()"><B>OpenSearchParameter()</B></A> - 
Constructor for class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchParameter</A>
<DD>Default constructor
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html#OpenSearchParameter(java.lang.String, java.lang.String, boolean)"><B>OpenSearchParameter(String, String, boolean)</B></A> - 
Constructor for class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchParameter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch"><B>OpenSearchParameter.OpenSearchParams</B></A> - Enum in <A HREF="./org/apache/wink/common/model/opensearch/package-summary.html">org.apache.wink.common.model.opensearch</A><DD>OpenSearch 1.1 parameters<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#opensearchQuery"><B>opensearchQuery</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch"><B>OpenSearchQuery</B></A> - Class in <A HREF="./org/apache/wink/common/model/opensearch/package-summary.html">org.apache.wink.common.model.opensearch</A><DD>The "Query" element per OpenSearch specification<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#OpenSearchQuery()"><B>OpenSearchQuery()</B></A> - 
Constructor for class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.QueryRole.html" title="enum in org.apache.wink.common.model.opensearch"><B>OpenSearchQuery.QueryRole</B></A> - Enum in <A HREF="./org/apache/wink/common/model/opensearch/package-summary.html">org.apache.wink.common.model.opensearch</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch"><B>OpenSearchUrl</B></A> - Class in <A HREF="./org/apache/wink/common/model/opensearch/package-summary.html">org.apache.wink.common.model.opensearch</A><DD>The "Url" element per OpenSearch specification<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html#OpenSearchUrl()"><B>OpenSearchUrl()</B></A> - 
Constructor for class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchUrl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/Resource.html#options()"><B>options()</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke the OPTIONS method
<DT><A HREF="./org/apache/wink/common/http/HttpMethodEx.html#OPTIONS"><B>OPTIONS</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpMethodEx.html" title="class in org.apache.wink.common.http">HttpMethodEx</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/OPTIONS.html" title="annotation in org.apache.wink.common.http"><B>OPTIONS</B></A> - Annotation Type in <A HREF="./org/apache/wink/common/http/package-summary.html">org.apache.wink.common.http</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/client/package-summary.html"><B>org.apache.wink.client</B></A> - package org.apache.wink.client<DD>&nbsp;<DT><A HREF="./org/apache/wink/client/handlers/package-summary.html"><B>org.apache.wink.client.handlers</B></A> - package org.apache.wink.client.handlers<DD>&nbsp;<DT><A HREF="./org/apache/wink/common/package-summary.html"><B>org.apache.wink.common</B></A> - package org.apache.wink.common<DD>&nbsp;<DT><A HREF="./org/apache/wink/common/annotations/package-summary.html"><B>org.apache.wink.common.annotations</B></A> - package org.apache.wink.common.annotations<DD>&nbsp;<DT><A HREF="./org/apache/wink/common/categories/package-summary.html"><B>org.apache.wink.common.categories</B></A> - package org.apache.wink.common.categories<DD>&nbsp;<DT><A HREF="./org/apache/wink/common/http/package-summary.html"><B>org.apache.wink.common.http</B></A> - package org.apache.wink.common.http<DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/package-summary.html"><B>org.apache.wink.common.model</B></A> - package org.apache.wink.common.model<DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/app/package-summary.html"><B>org.apache.wink.common.model.app</B></A> - package org.apache.wink.common.model.app<DD>Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.<DT><A HREF="./org/apache/wink/common/model/atom/package-summary.html"><B>org.apache.wink.common.model.atom</B></A> - package org.apache.wink.common.model.atom<DD>Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.<DT><A HREF="./org/apache/wink/common/model/csv/package-summary.html"><B>org.apache.wink.common.model.csv</B></A> - package org.apache.wink.common.model.csv<DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/multipart/package-summary.html"><B>org.apache.wink.common.model.multipart</B></A> - package org.apache.wink.common.model.multipart<DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/opensearch/package-summary.html"><B>org.apache.wink.common.model.opensearch</B></A> - package org.apache.wink.common.model.opensearch<DD>Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.<DT><A HREF="./org/apache/wink/common/model/rss/package-summary.html"><B>org.apache.wink.common.model.rss</B></A> - package org.apache.wink.common.model.rss<DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/synd/package-summary.html"><B>org.apache.wink.common.model.synd</B></A> - package org.apache.wink.common.model.synd<DD>&nbsp;<DT><A HREF="./org/apache/wink/common/utils/package-summary.html"><B>org.apache.wink.common.utils</B></A> - package org.apache.wink.common.utils<DD>&nbsp;<DT><A HREF="./org/apache/wink/example/package-summary.html"><B>org.apache.wink.example</B></A> - package org.apache.wink.example<DD>&nbsp;<DT><A HREF="./org/apache/wink/providers/abdera/package-summary.html"><B>org.apache.wink.providers.abdera</B></A> - package org.apache.wink.providers.abdera<DD>&nbsp;<DT><A HREF="./org/apache/wink/providers/jettison/package-summary.html"><B>org.apache.wink.providers.jettison</B></A> - package org.apache.wink.providers.jettison<DD>&nbsp;<DT><A HREF="./org/apache/wink/providers/json/package-summary.html"><B>org.apache.wink.providers.json</B></A> - package org.apache.wink.providers.json<DD>&nbsp;<DT><A HREF="./org/apache/wink/server/handlers/package-summary.html"><B>org.apache.wink.server.handlers</B></A> - package org.apache.wink.server.handlers<DD>&nbsp;<DT><A HREF="./org/apache/wink/server/utils/package-summary.html"><B>org.apache.wink.server.utils</B></A> - package org.apache.wink.server.utils<DD>&nbsp;<DT><A HREF="./org/apache/wink/spring/package-summary.html"><B>org.apache.wink.spring</B></A> - package org.apache.wink.spring<DD>&nbsp;<DT><A HREF="./org/apache/wink/test/diff/package-summary.html"><B>org.apache.wink.test.diff</B></A> - package org.apache.wink.test.diff<DD>&nbsp;<DT><A HREF="./org/apache/wink/test/mock/package-summary.html"><B>org.apache.wink.test.mock</B></A> - package org.apache.wink.test.mock<DD>&nbsp;<DT><A HREF="./org/apache/wink/webdav/package-summary.html"><B>org.apache.wink.webdav</B></A> - package org.apache.wink.webdav<DD>&nbsp;<DT><A HREF="./org/apache/wink/webdav/model/package-summary.html"><B>org.apache.wink.webdav.model</B></A> - package org.apache.wink.webdav.model<DD>Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.<DT><A HREF="./org/apache/wink/webdav/server/package-summary.html"><B>org.apache.wink.webdav.server</B></A> - package org.apache.wink.webdav.server<DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html" title="class in org.apache.wink.common.model.multipart"><B>OutMultiPart</B></A> - Class in <A HREF="./org/apache/wink/common/model/multipart/package-summary.html">org.apache.wink.common.model.multipart</A><DD>An abstract class to generate a MultiPart response, the concept behind this
 class been abstract is that there might be simple implementation over a
 collection or more complex once like over a database cursor<DT><A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html#OutMultiPart()"><B>OutMultiPart()</B></A> - 
Constructor for class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html" title="class in org.apache.wink.common.model.multipart">OutMultiPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/OutPart.html" title="class in org.apache.wink.common.model.multipart"><B>OutPart</B></A> - Class in <A HREF="./org/apache/wink/common/model/multipart/package-summary.html">org.apache.wink.common.model.multipart</A><DD>This class is used to represent a part in an <A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html" title="class in org.apache.wink.common.model.multipart"><CODE>OutMultiPart</CODE></A> message,
 basically it holds the part headers and body<DT><A HREF="./org/apache/wink/common/model/multipart/OutPart.html#OutPart()"><B>OutPart()</B></A> - 
Constructor for class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutPart.html" title="class in org.apache.wink.common.model.multipart">OutPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#outputEncoding"><B>outputEncoding</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#outputEncoding"><B>outputEncoding</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/handlers/OutputStreamAdapter.html" title="interface in org.apache.wink.client.handlers"><B>OutputStreamAdapter</B></A> - Interface in <A HREF="./org/apache/wink/client/handlers/package-summary.html">org.apache.wink.client.handlers</A><DD>Interface for adapting the output stream<DT><A HREF="./org/apache/wink/webdav/WebDAVHeaders.html#OVERWRITE"><B>OVERWRITE</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVHeaders.html" title="class in org.apache.wink.webdav">WebDAVHeaders</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#owner"><B>owner</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Lockinfo.html#owner"><B>owner</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockinfo.html" title="class in org.apache.wink.webdav.model">Lockinfo</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Owner.html" title="class in org.apache.wink.webdav.model"><B>Owner</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>owner</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Owner.html#Owner()"><B>Owner()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Owner.html" title="class in org.apache.wink.webdav.model">Owner</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_P_"><!-- --></A><H2>
<B>P</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/test/mock/TestUtils.html#packageToPath(java.lang.String)"><B>packageToPath(String)</B></A> - 
Static method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/TestUtils.html" title="class in org.apache.wink.test.mock">TestUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/annotations/Parent.html" title="annotation in org.apache.wink.common.annotations"><B>Parent</B></A> - Annotation Type in <A HREF="./org/apache/wink/common/annotations/package-summary.html">org.apache.wink.common.annotations</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#PARTIAL_CONTENT"><B>PARTIAL_CONTENT</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#path"><B>path</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html#pathParam(java.lang.String, java.lang.String)"><B>pathParam(String, String)</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html" title="interface in org.apache.wink.server.utils">BaseLinksBuilder</A>
<DD>Set the value of a template path parameter to be used during the building
 of the links.
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#PAYMENT_REQUIRED"><B>PAYMENT_REQUIRED</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#port"><B>port</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/Resource.html#post(java.lang.Class, java.lang.Object)"><B>post(Class&lt;T&gt;, Object)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke the POST method
<DT><A HREF="./org/apache/wink/client/Resource.html#post(org.apache.wink.client.EntityType, java.lang.Object)"><B>post(EntityType&lt;T&gt;, Object)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke the POST method
<DT><A HREF="./org/apache/wink/client/Resource.html#post(java.lang.Object)"><B>post(Object)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke the POST method
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#PRECONDITION_FAILED"><B>PRECONDITION_FAILED</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/TestUtils.html#printPrettyXML(org.w3c.dom.Document)"><B>printPrettyXML(Document)</B></A> - 
Static method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/TestUtils.html" title="class in org.apache.wink.test.mock">TestUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#PROCESSING"><B>PROCESSING</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model"><B>Prop</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>prop</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#Prop()"><B>Prop()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#prop"><B>prop</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html#prop"><B>prop</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model">Propstat</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Remove.html#prop"><B>prop</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Remove.html" title="class in org.apache.wink.webdav.model">Remove</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Set.html#prop"><B>prop</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Set.html" title="class in org.apache.wink.webdav.model">Set</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVConstants.html#PROPERTIES_SET"><B>PROPERTIES_SET</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVConstants.html" title="class in org.apache.wink.webdav">WebDAVConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVConstants.html#PROPERTY_CREATIONDATE"><B>PROPERTY_CREATIONDATE</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVConstants.html" title="class in org.apache.wink.webdav">WebDAVConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVConstants.html#PROPERTY_DISPLAYNAME"><B>PROPERTY_DISPLAYNAME</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVConstants.html" title="class in org.apache.wink.webdav">WebDAVConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVConstants.html#PROPERTY_GETCONTENTLANGUAGE"><B>PROPERTY_GETCONTENTLANGUAGE</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVConstants.html" title="class in org.apache.wink.webdav">WebDAVConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVConstants.html#PROPERTY_GETCONTENTLENGTH"><B>PROPERTY_GETCONTENTLENGTH</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVConstants.html" title="class in org.apache.wink.webdav">WebDAVConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVConstants.html#PROPERTY_GETCONTENTTYPE"><B>PROPERTY_GETCONTENTTYPE</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVConstants.html" title="class in org.apache.wink.webdav">WebDAVConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVConstants.html#PROPERTY_GETETAG"><B>PROPERTY_GETETAG</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVConstants.html" title="class in org.apache.wink.webdav">WebDAVConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVConstants.html#PROPERTY_GETLASTMODIFIED"><B>PROPERTY_GETLASTMODIFIED</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVConstants.html" title="class in org.apache.wink.webdav">WebDAVConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVConstants.html#PROPERTY_LOCKDISCOVERY"><B>PROPERTY_LOCKDISCOVERY</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVConstants.html" title="class in org.apache.wink.webdav">WebDAVConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVConstants.html#PROPERTY_RESOURCETYPE"><B>PROPERTY_RESOURCETYPE</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVConstants.html" title="class in org.apache.wink.webdav">WebDAVConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVConstants.html#PROPERTY_SUPPORTEDLOCK"><B>PROPERTY_SUPPORTEDLOCK</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVConstants.html" title="class in org.apache.wink.webdav">WebDAVConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propertybehavior.html" title="class in org.apache.wink.webdav.model"><B>Propertybehavior</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>propertybehavior</code> XML element per the WebDAV specification
 [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Propertybehavior.html#Propertybehavior()"><B>Propertybehavior()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertybehavior.html" title="class in org.apache.wink.webdav.model">Propertybehavior</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propertyupdate.html" title="class in org.apache.wink.webdav.model"><B>Propertyupdate</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>propertyupdate</code> XML element per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Propertyupdate.html#Propertyupdate()"><B>Propertyupdate()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertyupdate.html" title="class in org.apache.wink.webdav.model">Propertyupdate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model"><B>Propfind</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>propfind</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#Propfind()"><B>Propfind()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.html#propfind(org.apache.wink.common.model.synd.SyndEntry, java.lang.String)"><B>propfind(SyndEntry, String)</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder</A>
<DD>Process the PROPFIND request for a given entry and create a response
 using the default implementation of <A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.PropertyHandler.html" title="class in org.apache.wink.webdav.server"><CODE>WebDAVResponseBuilder.PropertyHandler</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.html#propfind(org.apache.wink.common.model.synd.SyndEntry, java.lang.String, org.apache.wink.webdav.server.WebDAVResponseBuilder.PropertyHandler)"><B>propfind(SyndEntry, String, WebDAVResponseBuilder.PropertyHandler)</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder</A>
<DD>Process the PROPFIND request for given document resource and create a
 response.
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.html#propfind(org.apache.wink.common.model.synd.SyndFeed, java.lang.String, java.lang.String)"><B>propfind(SyndFeed, String, String)</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder</A>
<DD>Process the PROPFIND request for the given feed and create a response
 using the default implementation of <A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html" title="class in org.apache.wink.webdav.server"><CODE>WebDAVResponseBuilder.CollectionPropertyHandler</CODE></A>
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.html#propfind(org.apache.wink.common.model.synd.SyndFeed, java.lang.String, java.lang.String, org.apache.wink.webdav.server.WebDAVResponseBuilder.CollectionPropertyHandler)"><B>propfind(SyndFeed, String, String, WebDAVResponseBuilder.CollectionPropertyHandler)</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder</A>
<DD>Process the PROPFIND request for the given collection resource and create
 a response.
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVRootResource.html#propfind(javax.ws.rs.core.HttpHeaders, java.lang.String)"><B>propfind(HttpHeaders, String)</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVRootResource.html" title="class in org.apache.wink.webdav.server">WebDAVRootResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#propname"><B>propname</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propname.html" title="class in org.apache.wink.webdav.model"><B>Propname</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>propname</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Propname.html#Propname()"><B>Propname()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propname.html" title="class in org.apache.wink.webdav.model">Propname</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model"><B>Propstat</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>propstat</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html#Propstat()"><B>Propstat()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model">Propstat</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#propstat"><B>propstat</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#protocol"><B>protocol</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils"><B>ProviderUtils</B></A> - Class in <A HREF="./org/apache/wink/common/utils/package-summary.html">org.apache.wink.common.utils</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#ProviderUtils()"><B>ProviderUtils()</B></A> - 
Constructor for class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#PROXY_AUTHENTICATION_REQUIRED"><B>PROXY_AUTHENTICATION_REQUIRED</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#proxyHost(java.lang.String)"><B>proxyHost(String)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Set the proxy host
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#proxyPort(int)"><B>proxyPort(int)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Set the proxy port
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#pubDate"><B>pubDate</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#pubDate"><B>pubDate</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#published"><B>published</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/Resource.html#put(java.lang.Class, java.lang.Object)"><B>put(Class&lt;T&gt;, Object)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke the PUT method
<DT><A HREF="./org/apache/wink/client/Resource.html#put(org.apache.wink.client.EntityType, java.lang.Object)"><B>put(EntityType&lt;T&gt;, Object)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke the PUT method
<DT><A HREF="./org/apache/wink/client/Resource.html#put(java.lang.Object)"><B>put(Object)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Invoke the PUT method
</DL>
<HR>
<A NAME="_Q_"><!-- --></A><H2>
<B>Q</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/example/QADefectsClient.html" title="class in org.apache.wink.example"><B>QADefectsClient</B></A> - Class in <A HREF="./org/apache/wink/example/package-summary.html">org.apache.wink.example</A><DD>This is an example of consuming a service exposed in Atom<DT><A HREF="./org/apache/wink/example/QADefectsClient.html#QADefectsClient()"><B>QADefectsClient()</B></A> - 
Constructor for class org.apache.wink.example.<A HREF="./org/apache/wink/example/QADefectsClient.html" title="class in org.apache.wink.example">QADefectsClient</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#query"><B>query</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/Resource.html#queryParam(java.lang.String, java.lang.Object...)"><B>queryParam(String, Object...)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Add a query parameter to the uri
<DT><A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html#queryParam(java.lang.String, java.lang.String)"><B>queryParam(String, String)</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html" title="interface in org.apache.wink.server.utils">BaseLinksBuilder</A>
<DD>Set the value of a query parameter to be added to the generated links
<DT><A HREF="./org/apache/wink/client/Resource.html#queryParams(javax.ws.rs.core.MultivaluedMap)"><B>queryParams(MultivaluedMap&lt;String, String&gt;)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Add all the query parameters from the provided multivalued map.
</DL>
<HR>
<A NAME="_R_"><!-- --></A><H2>
<B>R</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#rating"><B>rating</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/abdera/AbderaAtomEntryProvider.html#readFrom(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.InputStream)"><B>readFrom(Class&lt;Entry&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, String&gt;, InputStream)</B></A> - 
Method in class org.apache.wink.providers.abdera.<A HREF="./org/apache/wink/providers/abdera/AbderaAtomEntryProvider.html" title="class in org.apache.wink.providers.abdera">AbderaAtomEntryProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/abdera/AbderaAtomFeedProvider.html#readFrom(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.InputStream)"><B>readFrom(Class&lt;Feed&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, String&gt;, InputStream)</B></A> - 
Method in class org.apache.wink.providers.abdera.<A HREF="./org/apache/wink/providers/abdera/AbderaAtomFeedProvider.html" title="class in org.apache.wink.providers.abdera">AbderaAtomFeedProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#readFrom(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.InputStream)"><B>readFrom(Class&lt;JAXBElement&lt;?&gt;&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, String&gt;, InputStream)</B></A> - 
Method in class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBElementProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html#readFrom(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.InputStream)"><B>readFrom(Class&lt;Object&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, String&gt;, InputStream)</B></A> - 
Method in class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonArrayProvider.html#readFrom(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.InputStream)"><B>readFrom(Class&lt;JSONArray&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, String&gt;, InputStream)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonArrayProvider.html" title="class in org.apache.wink.providers.json">JsonArrayProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonJAXBProvider.html#readFrom(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.InputStream)"><B>readFrom(Class&lt;Object&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, String&gt;, InputStream)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonJAXBProvider.html" title="class in org.apache.wink.providers.json">JsonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonProvider.html#readFrom(java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.InputStream)"><B>readFrom(Class&lt;JSONObject&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, String&gt;, InputStream)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonProvider.html" title="class in org.apache.wink.providers.json">JsonProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#readFromStreamAsBytes(java.io.InputStream)"><B>readFromStreamAsBytes(InputStream)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#readFromStreamAsString(java.io.InputStream, javax.ws.rs.core.MediaType)"><B>readFromStreamAsString(InputStream, MediaType)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#readFromString(javax.ws.rs.ext.Providers, java.lang.String, java.lang.Class, javax.ws.rs.core.MediaType)"><B>readFromString(Providers, String, Class&lt;T&gt;, MediaType)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#readFromString(javax.ws.rs.ext.Providers, java.lang.String, java.lang.Class, java.lang.reflect.Type, javax.ws.rs.core.MediaType)"><B>readFromString(Providers, String, Class&lt;T&gt;, Type, MediaType)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#readFromString(javax.ws.rs.ext.Providers, java.lang.String, java.lang.Class, java.lang.reflect.Type, javax.ws.rs.core.MultivaluedMap, javax.ws.rs.core.MediaType)"><B>readFromString(Providers, String, Class&lt;T&gt;, Type, MultivaluedMap&lt;String, String&gt;, MediaType)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/example/ReadRSSClient.html" title="class in org.apache.wink.example"><B>ReadRSSClient</B></A> - Class in <A HREF="./org/apache/wink/example/package-summary.html">org.apache.wink.example</A><DD>This is an example of consuming an RSS Feed<DT><A HREF="./org/apache/wink/example/ReadRSSClient.html#ReadRSSClient()"><B>ReadRSSClient()</B></A> - 
Constructor for class org.apache.wink.example.<A HREF="./org/apache/wink/example/ReadRSSClient.html" title="class in org.apache.wink.example">ReadRSSClient</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#readTimeout(int)"><B>readTimeout(int)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>Set the read timeout in milliseconds
<DT><A HREF="./org/apache/wink/client/BaseTest.html#RECEIVED_MESSAGE"><B>RECEIVED_MESSAGE</B></A> - 
Static variable in class org.apache.wink.client.<A HREF="./org/apache/wink/client/BaseTest.html" title="class in org.apache.wink.client">BaseTest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/spring/Registrar.html#register(org.apache.wink.server.internal.registry.ResourceRegistry, org.apache.wink.common.internal.registry.ProvidersRegistry)"><B>register(ResourceRegistry, ProvidersRegistry)</B></A> - 
Method in class org.apache.wink.spring.<A HREF="./org/apache/wink/spring/Registrar.html" title="class in org.apache.wink.spring">Registrar</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.html#registerApplication(javax.ws.rs.core.Application, javax.servlet.ServletContext)"><B>registerApplication(Application, ServletContext)</B></A> - 
Static method in class org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/RegistrationUtils.html" title="class in org.apache.wink.server.utils">RegistrationUtils</A>
<DD>Registers resources and providers provided by the Application.
<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.html#registerApplication(javax.ws.rs.core.Application, javax.servlet.ServletContext, java.lang.String)"><B>registerApplication(Application, ServletContext, String)</B></A> - 
Static method in class org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/RegistrationUtils.html" title="class in org.apache.wink.server.utils">RegistrationUtils</A>
<DD>Registers resources and providers provided by the Application.
<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.html#registerClasses(javax.servlet.ServletContext, java.lang.Class...)"><B>registerClasses(ServletContext, Class&lt;?&gt;...)</B></A> - 
Static method in class org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/RegistrationUtils.html" title="class in org.apache.wink.server.utils">RegistrationUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.html#registerClasses(javax.servlet.ServletContext, java.lang.String, java.lang.Class...)"><B>registerClasses(ServletContext, String, Class&lt;?&gt;...)</B></A> - 
Static method in class org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/RegistrationUtils.html" title="class in org.apache.wink.server.utils">RegistrationUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.html#registerInstances(javax.servlet.ServletContext, java.lang.Object...)"><B>registerInstances(ServletContext, Object...)</B></A> - 
Static method in class org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/RegistrationUtils.html" title="class in org.apache.wink.server.utils">RegistrationUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.html#registerInstances(javax.servlet.ServletContext, java.lang.String, java.lang.Object...)"><B>registerInstances(ServletContext, String, Object...)</B></A> - 
Static method in class org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/RegistrationUtils.html" title="class in org.apache.wink.server.utils">RegistrationUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#registerProcedure"><B>registerProcedure</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/spring/Registrar.html" title="class in org.apache.wink.spring"><B>Registrar</B></A> - Class in <A HREF="./org/apache/wink/spring/package-summary.html">org.apache.wink.spring</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/spring/Registrar.html#Registrar()"><B>Registrar()</B></A> - 
Constructor for class org.apache.wink.spring.<A HREF="./org/apache/wink/spring/Registrar.html" title="class in org.apache.wink.spring">Registrar</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.html" title="class in org.apache.wink.server.utils"><B>RegistrationUtils</B></A> - Class in <A HREF="./org/apache/wink/server/utils/package-summary.html">org.apache.wink.server.utils</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.html#RegistrationUtils()"><B>RegistrationUtils()</B></A> - 
Constructor for class org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/RegistrationUtils.html" title="class in org.apache.wink.server.utils">RegistrationUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html" title="class in org.apache.wink.server.utils"><B>RegistrationUtils.InnerApplication</B></A> - Class in <A HREF="./org/apache/wink/server/utils/package-summary.html">org.apache.wink.server.utils</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html#RegistrationUtils.InnerApplication(java.util.Set)"><B>RegistrationUtils.InnerApplication(Set&lt;Class&lt;?&gt;&gt;)</B></A> - 
Constructor for class org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html" title="class in org.apache.wink.server.utils">RegistrationUtils.InnerApplication</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html#RegistrationUtils.InnerApplication(java.lang.Class...)"><B>RegistrationUtils.InnerApplication(Class&lt;?&gt;...)</B></A> - 
Constructor for class org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html" title="class in org.apache.wink.server.utils">RegistrationUtils.InnerApplication</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html#RegistrationUtils.InnerApplication(java.lang.Object...)"><B>RegistrationUtils.InnerApplication(Object...)</B></A> - 
Constructor for class org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html" title="class in org.apache.wink.server.utils">RegistrationUtils.InnerApplication</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#rel"><B>rel</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/SingleLinkBuilder.html#rel(java.lang.String)"><B>rel(String)</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/SingleLinkBuilder.html" title="interface in org.apache.wink.server.utils">SingleLinkBuilder</A>
<DD>Set the rel attribute of the link
<DT><A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html#relativeTo(java.net.URI)"><B>relativeTo(URI)</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html" title="interface in org.apache.wink.server.utils">BaseLinksBuilder</A>
<DD>Set the uri that the generated links will be relative to, if the
 generation mode is relative uri's.
<DT><A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html#relativize(boolean)"><B>relativize(boolean)</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html" title="interface in org.apache.wink.server.utils">BaseLinksBuilder</A>
<DD>Set whether the links should be generated absolute or relative,
 overriding any configuration and request settings.
<DT><A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html#remove()"><B>remove()</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html" title="class in org.apache.wink.common.model.multipart">InMultiPart</A>
<DD>Not implemented
<DT><A HREF="./org/apache/wink/webdav/model/Remove.html" title="class in org.apache.wink.webdav.model"><B>Remove</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>remove</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Remove.html#Remove()"><B>Remove()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Remove.html" title="class in org.apache.wink.webdav.model">Remove</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#removeAny(java.lang.String, java.lang.String)"><B>removeAny(String, String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Remove the specified proprietary property
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#removeAny(javax.xml.namespace.QName)"><B>removeAny(QName)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Remove the specified proprietary property
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#removeAny(org.w3c.dom.Element)"><B>removeAny(Element)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Remove the specified proprietary property
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#removeAttribute(java.lang.String)"><B>removeAttribute(String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propertyupdate.html#removeOrSet"><B>removeOrSet</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertyupdate.html" title="class in org.apache.wink.webdav.model">Propertyupdate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#REQUEST_TIMEOUT"><B>REQUEST_TIMEOUT</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#REQUEST_TOO_LONG"><B>REQUEST_TOO_LONG</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#REQUEST_URI_TOO_LONG"><B>REQUEST_URI_TOO_LONG</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#REQUESTED_RANGE_NOT_SATISFIABLE"><B>REQUESTED_RANGE_NOT_SATISFIABLE</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/RequestHandler.html" title="interface in org.apache.wink.server.handlers"><B>RequestHandler</B></A> - Interface in <A HREF="./org/apache/wink/server/handlers/package-summary.html">org.apache.wink.server.handlers</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/server/handlers/RequestHandlersChain.html" title="class in org.apache.wink.server.handlers"><B>RequestHandlersChain</B></A> - Class in <A HREF="./org/apache/wink/server/handlers/package-summary.html">org.apache.wink.server.handlers</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/server/handlers/RequestHandlersChain.html#RequestHandlersChain()"><B>RequestHandlersChain()</B></A> - 
Constructor for class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/RequestHandlersChain.html" title="class in org.apache.wink.server.handlers">RequestHandlersChain</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#RESET_CONTENT"><B>RESET_CONTENT</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client"><B>Resource</B></A> - Interface in <A HREF="./org/apache/wink/client/package-summary.html">org.apache.wink.client</A><DD>Represents a web resource, enabling the invocation of different http methods<DT><A HREF="./org/apache/wink/client/RestClient.html#resource(java.net.URI)"><B>resource(URI)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/RestClient.html" title="class in org.apache.wink.client">RestClient</A>
<DD>Create a new <A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client"><CODE>Resource</CODE></A> instance
<DT><A HREF="./org/apache/wink/client/RestClient.html#resource(java.lang.String)"><B>resource(String)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/RestClient.html" title="class in org.apache.wink.client">RestClient</A>
<DD>Create a new <A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client"><CODE>Resource</CODE></A> instance
<DT><A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html#resource(java.lang.Class)"><B>resource(Class&lt;?&gt;)</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html" title="interface in org.apache.wink.server.utils">BaseLinksBuilder</A>
<DD>Set the resource class that the generated links should link to.
<DT><A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html#resource(java.lang.Object)"><B>resource(Object)</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html" title="interface in org.apache.wink.server.utils">BaseLinksBuilder</A>
<DD>Set the resource instance that the generated links should link to.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#resourcetype"><B>resourcetype</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Resourcetype.html" title="class in org.apache.wink.webdav.model"><B>Resourcetype</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>resourcetype</code> Property per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Resourcetype.html#Resourcetype()"><B>Resourcetype()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Resourcetype.html" title="class in org.apache.wink.webdav.model">Resourcetype</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Multistatus.html#response"><B>response</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Multistatus.html" title="class in org.apache.wink.webdav.model">Multistatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model"><B>Response</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>response</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Response.html#Response()"><B>Response()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#Response(java.lang.String)"><B>Response(String)</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Multistatus.html#responsedescription"><B>responsedescription</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Multistatus.html" title="class in org.apache.wink.webdav.model">Multistatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html#responsedescription"><B>responsedescription</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model">Propstat</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#responsedescription"><B>responsedescription</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/ResponseHandler.html" title="interface in org.apache.wink.server.handlers"><B>ResponseHandler</B></A> - Interface in <A HREF="./org/apache/wink/server/handlers/package-summary.html">org.apache.wink.server.handlers</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/server/handlers/ResponseHandlersChain.html" title="class in org.apache.wink.server.handlers"><B>ResponseHandlersChain</B></A> - Class in <A HREF="./org/apache/wink/server/handlers/package-summary.html">org.apache.wink.server.handlers</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/server/handlers/ResponseHandlersChain.html#ResponseHandlersChain()"><B>ResponseHandlersChain()</B></A> - 
Constructor for class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/ResponseHandlersChain.html" title="class in org.apache.wink.server.handlers">ResponseHandlersChain</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RestConstants.html#REST_PARAM_ABSOLUTE_URLS"><B>REST_PARAM_ABSOLUTE_URLS</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>Links in response should be absolute.
<DT><A HREF="./org/apache/wink/common/RestConstants.html#REST_PARAM_AUTHOR"><B>REST_PARAM_AUTHOR</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>Filter by author parameter.
<DT><A HREF="./org/apache/wink/common/RestConstants.html#REST_PARAM_CATEGORY"><B>REST_PARAM_CATEGORY</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>Specify filtering by category.
<DT><A HREF="./org/apache/wink/common/RestConstants.html#REST_PARAM_ENTRY_ID"><B>REST_PARAM_ENTRY_ID</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>Filter by entry-id.
<DT><A HREF="./org/apache/wink/common/RestConstants.html#REST_PARAM_JSON_CALLBACK"><B>REST_PARAM_JSON_CALLBACK</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>JSON will be encloses as parameter to the value - method name.
<DT><A HREF="./org/apache/wink/common/RestConstants.html#REST_PARAM_MEDIA_TYPE"><B>REST_PARAM_MEDIA_TYPE</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>Overrides Accept-Header with one type.
<DT><A HREF="./org/apache/wink/common/RestConstants.html#REST_PARAM_ORDER_BY"><B>REST_PARAM_ORDER_BY</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>Specified collection ordering.
<DT><A HREF="./org/apache/wink/common/RestConstants.html#REST_PARAM_PAGING_SIZE"><B>REST_PARAM_PAGING_SIZE</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>Number of elements per page.
<DT><A HREF="./org/apache/wink/common/RestConstants.html#REST_PARAM_PAGING_SIZE_UNLIMITED"><B>REST_PARAM_PAGING_SIZE_UNLIMITED</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>Special value of page-size.
<DT><A HREF="./org/apache/wink/common/RestConstants.html#REST_PARAM_PAGING_START"><B>REST_PARAM_PAGING_START</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>The first item to include in the result page.
<DT><A HREF="./org/apache/wink/common/RestConstants.html#REST_PARAM_QUERY"><B>REST_PARAM_QUERY</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>Filter by custom query.
<DT><A HREF="./org/apache/wink/common/RestConstants.html#REST_PARAM_RELATIVE_URLS"><B>REST_PARAM_RELATIVE_URLS</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>Links in response should be relative.
<DT><A HREF="./org/apache/wink/client/RestClient.html" title="class in org.apache.wink.client"><B>RestClient</B></A> - Class in <A HREF="./org/apache/wink/client/package-summary.html">org.apache.wink.client</A><DD>The RestClient is the entry point for all rest service operations.<DT><A HREF="./org/apache/wink/client/RestClient.html#RestClient()"><B>RestClient()</B></A> - 
Constructor for class org.apache.wink.client.<A HREF="./org/apache/wink/client/RestClient.html" title="class in org.apache.wink.client">RestClient</A>
<DD>Construct a new RestClient using the default client configuration
<DT><A HREF="./org/apache/wink/client/RestClient.html#RestClient(org.apache.wink.client.ClientConfig)"><B>RestClient(ClientConfig)</B></A> - 
Constructor for class org.apache.wink.client.<A HREF="./org/apache/wink/client/RestClient.html" title="class in org.apache.wink.client">RestClient</A>
<DD>Construct a new RestClient using the supplied configuration
<DT><A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common"><B>RestConstants</B></A> - Class in <A HREF="./org/apache/wink/common/package-summary.html">org.apache.wink.common</A><DD>Constants to be used in REST and REST client components.<DT><A HREF="./org/apache/wink/common/RestException.html" title="class in org.apache.wink.common"><B>RestException</B></A> - Exception in <A HREF="./org/apache/wink/common/package-summary.html">org.apache.wink.common</A><DD>REST general exception.<DT><A HREF="./org/apache/wink/common/RestException.html#RestException()"><B>RestException()</B></A> - 
Constructor for exception org.apache.wink.common.<A HREF="./org/apache/wink/common/RestException.html" title="class in org.apache.wink.common">RestException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RestException.html#RestException(java.lang.String, java.lang.Throwable)"><B>RestException(String, Throwable)</B></A> - 
Constructor for exception org.apache.wink.common.<A HREF="./org/apache/wink/common/RestException.html" title="class in org.apache.wink.common">RestException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RestException.html#RestException(java.lang.String)"><B>RestException(String)</B></A> - 
Constructor for exception org.apache.wink.common.<A HREF="./org/apache/wink/common/RestException.html" title="class in org.apache.wink.common">RestException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RestException.html#RestException(java.lang.Throwable)"><B>RestException(Throwable)</B></A> - 
Constructor for exception org.apache.wink.common.<A HREF="./org/apache/wink/common/RestException.html" title="class in org.apache.wink.common">RestException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#rights"><B>rights</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#role"><B>role</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssCategory.html" title="class in org.apache.wink.common.model.rss"><B>RssCategory</B></A> - Class in <A HREF="./org/apache/wink/common/model/rss/package-summary.html">org.apache.wink.common.model.rss</A><DD>
 Java class for "category" element of <a
 href="http://www.rssboard.org/rss-specification">RSS 2.0 Specification</a>.<DT><A HREF="./org/apache/wink/common/model/rss/RssCategory.html#RssCategory()"><B>RssCategory()</B></A> - 
Constructor for class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCategory.html" title="class in org.apache.wink.common.model.rss">RssCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss"><B>RssChannel</B></A> - Class in <A HREF="./org/apache/wink/common/model/rss/package-summary.html">org.apache.wink.common.model.rss</A><DD>
 Java class for "channel" element of <a
 href="http://www.rssboard.org/rss-specification">RSS 2.0 Specification</a>.<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#RssChannel()"><B>RssChannel()</B></A> - 
Constructor for class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss"><B>RssCloud</B></A> - Class in <A HREF="./org/apache/wink/common/model/rss/package-summary.html">org.apache.wink.common.model.rss</A><DD>
 Java class for "cloud" element of <a
 href="http://www.rssboard.org/rss-specification">RSS 2.0 Specification</a>.<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#RssCloud()"><B>RssCloud()</B></A> - 
Constructor for class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html" title="class in org.apache.wink.common.model.rss"><B>RssEnclosure</B></A> - Class in <A HREF="./org/apache/wink/common/model/rss/package-summary.html">org.apache.wink.common.model.rss</A><DD>
 Java class for "enclosure" element of <a
 href="http://www.rssboard.org/rss-specification">RSS 2.0 Specification</a>.<DT><A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html#RssEnclosure()"><B>RssEnclosure()</B></A> - 
Constructor for class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html" title="class in org.apache.wink.common.model.rss">RssEnclosure</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssFeed.html" title="class in org.apache.wink.common.model.rss"><B>RssFeed</B></A> - Class in <A HREF="./org/apache/wink/common/model/rss/package-summary.html">org.apache.wink.common.model.rss</A><DD>
 Java class for "rss" element of <a
 href="http://www.rssboard.org/rss-specification">RSS 2.0 Specification</a>.<DT><A HREF="./org/apache/wink/common/model/rss/RssFeed.html#RssFeed()"><B>RssFeed()</B></A> - 
Constructor for class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssFeed.html" title="class in org.apache.wink.common.model.rss">RssFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssGuid.html" title="class in org.apache.wink.common.model.rss"><B>RssGuid</B></A> - Class in <A HREF="./org/apache/wink/common/model/rss/package-summary.html">org.apache.wink.common.model.rss</A><DD>
 Java class for "guid" element of <a
 href="http://www.rssboard.org/rss-specification">RSS 2.0 Specification</a>.<DT><A HREF="./org/apache/wink/common/model/rss/RssGuid.html#RssGuid()"><B>RssGuid()</B></A> - 
Constructor for class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssGuid.html" title="class in org.apache.wink.common.model.rss">RssGuid</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss"><B>RssImage</B></A> - Class in <A HREF="./org/apache/wink/common/model/rss/package-summary.html">org.apache.wink.common.model.rss</A><DD>
 Java class for "image" element of <a
 href="http://www.rssboard.org/rss-specification">RSS 2.0 Specification</a>.<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#RssImage()"><B>RssImage()</B></A> - 
Constructor for class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss"><B>RssItem</B></A> - Class in <A HREF="./org/apache/wink/common/model/rss/package-summary.html">org.apache.wink.common.model.rss</A><DD>
 Java class for "item" element of <a
 href="http://www.rssboard.org/rss-specification">RSS 2.0 Specification</a>.<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#RssItem()"><B>RssItem()</B></A> - 
Constructor for class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssSkipDays.html" title="class in org.apache.wink.common.model.rss"><B>RssSkipDays</B></A> - Class in <A HREF="./org/apache/wink/common/model/rss/package-summary.html">org.apache.wink.common.model.rss</A><DD>
 Java class for "skipDays" element of <a
 href="http://www.rssboard.org/rss-specification">RSS 2.0 Specification</a>.<DT><A HREF="./org/apache/wink/common/model/rss/RssSkipDays.html#RssSkipDays()"><B>RssSkipDays()</B></A> - 
Constructor for class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssSkipDays.html" title="class in org.apache.wink.common.model.rss">RssSkipDays</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssSkipHours.html" title="class in org.apache.wink.common.model.rss"><B>RssSkipHours</B></A> - Class in <A HREF="./org/apache/wink/common/model/rss/package-summary.html">org.apache.wink.common.model.rss</A><DD>
 Java class for "skipHours" element of <a
 href="http://www.rssboard.org/rss-specification">RSS 2.0 Specification</a>.<DT><A HREF="./org/apache/wink/common/model/rss/RssSkipHours.html#RssSkipHours()"><B>RssSkipHours()</B></A> - 
Constructor for class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssSkipHours.html" title="class in org.apache.wink.common.model.rss">RssSkipHours</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssSource.html" title="class in org.apache.wink.common.model.rss"><B>RssSource</B></A> - Class in <A HREF="./org/apache/wink/common/model/rss/package-summary.html">org.apache.wink.common.model.rss</A><DD>
 Java class for "source" element of <a
 href="http://www.rssboard.org/rss-specification">RSS 2.0 Specification</a>.<DT><A HREF="./org/apache/wink/common/model/rss/RssSource.html#RssSource()"><B>RssSource()</B></A> - 
Constructor for class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssSource.html" title="class in org.apache.wink.common.model.rss">RssSource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss"><B>RssTextInput</B></A> - Class in <A HREF="./org/apache/wink/common/model/rss/package-summary.html">org.apache.wink.common.model.rss</A><DD>
 Java class for "textInput" element of <a
 href="http://www.rssboard.org/rss-specification">RSS 2.0 Specification</a>.<DT><A HREF="./org/apache/wink/common/model/rss/RssTextInput.html#RssTextInput()"><B>RssTextInput()</B></A> - 
Constructor for class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss">RssTextInput</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#run()"><B>run()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html#run(org.apache.wink.server.handlers.MessageContext)"><B>run(MessageContext)</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html" title="class in org.apache.wink.server.handlers">AbstractHandlersChain</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/RuntimeContext.html" title="interface in org.apache.wink.common"><B>RuntimeContext</B></A> - Interface in <A HREF="./org/apache/wink/common/package-summary.html">org.apache.wink.common</A><DD>&nbsp;</DL>
<HR>
<A NAME="_S_"><!-- --></A><H2>
<B>S</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#scheme"><B>scheme</B></A> - 
Variable in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCategory.html#scheme"><B>scheme</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom">AtomCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/annotations/Scope.html" title="annotation in org.apache.wink.common.annotations"><B>Scope</B></A> - Annotation Type in <A HREF="./org/apache/wink/common/annotations/package-summary.html">org.apache.wink.common.annotations</A><DD>Declares Scope of the annotation<DT><A HREF="./org/apache/wink/common/annotations/Scope.ScopeType.html" title="enum in org.apache.wink.common.annotations"><B>Scope.ScopeType</B></A> - Enum in <A HREF="./org/apache/wink/common/annotations/package-summary.html">org.apache.wink.common.annotations</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#searchTerms"><B>searchTerms</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#SEE_OTHER"><B>SEE_OTHER</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/BaseTest.html#SENT_MESSAGE"><B>SENT_MESSAGE</B></A> - 
Static variable in class org.apache.wink.client.<A HREF="./org/apache/wink/client/BaseTest.html" title="class in org.apache.wink.client">BaseTest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html#SEP"><B>SEP</B></A> - 
Static variable in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html" title="class in org.apache.wink.common.model.multipart">InMultiPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html#SEP"><B>SEP</B></A> - 
Static variable in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html" title="class in org.apache.wink.common.model.multipart">OutMultiPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/BaseTest.html#server"><B>server</B></A> - 
Variable in class org.apache.wink.client.<A HREF="./org/apache/wink/client/BaseTest.html" title="class in org.apache.wink.client">BaseTest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/BaseTest.html#serverPort"><B>serverPort</B></A> - 
Variable in class org.apache.wink.client.<A HREF="./org/apache/wink/client/BaseTest.html" title="class in org.apache.wink.client">BaseTest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#SERVICE_UNAVAILABLE"><B>SERVICE_UNAVAILABLE</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/BaseTest.html#SERVICE_URL"><B>SERVICE_URL</B></A> - 
Static variable in class org.apache.wink.client.<A HREF="./org/apache/wink/client/BaseTest.html" title="class in org.apache.wink.client">BaseTest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/BaseTest.html#serviceURL"><B>serviceURL</B></A> - 
Variable in class org.apache.wink.client.<A HREF="./org/apache/wink/client/BaseTest.html" title="class in org.apache.wink.client">BaseTest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/SpringAwareTestCase.html#servletContext"><B>servletContext</B></A> - 
Variable in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/SpringAwareTestCase.html" title="class in org.apache.wink.test.mock">SpringAwareTestCase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock"><B>ServletContextMock</B></A> - Class in <A HREF="./org/apache/wink/test/mock/package-summary.html">org.apache.wink.test.mock</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#ServletContextMock(javax.servlet.ServletContext)"><B>ServletContextMock(ServletContext)</B></A> - 
Constructor for class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Set.html" title="class in org.apache.wink.webdav.model"><B>Set</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>set</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Set.html#Set()"><B>Set()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Set.html" title="class in org.apache.wink.webdav.model">Set</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#setAdultContent(java.lang.String)"><B>setAdultContent(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Sets the value of the adultContent property.
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#setAllprop(org.apache.wink.webdav.model.Allprop)"><B>setAllprop(Allprop)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>Sets the value of the allprop property.
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.PropertyHandler.html#setAllPropertyNames(org.apache.wink.webdav.server.WebDAVResponseBuilder, org.apache.wink.webdav.model.Prop, org.apache.wink.common.model.synd.SyndBase)"><B>setAllPropertyNames(WebDAVResponseBuilder, Prop, SyndBase)</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.PropertyHandler.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder.PropertyHandler</A>
<DD>Set the Prop instance with empty (no values) properties.
<DT><A HREF="./org/apache/wink/webdav/model/Error.html#setAny(java.lang.Object)"><B>setAny(Object)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Error.html" title="class in org.apache.wink.webdav.model">Error</A>
<DD>Sets the value of the any property.
<DT><A HREF="./org/apache/wink/common/RuntimeContext.html#setAttribute(java.lang.Class, T)"><B>setAttribute(Class&lt;T&gt;, T)</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/RuntimeContext.html" title="interface in org.apache.wink.common">RuntimeContext</A>
<DD>Convenience method for setting an attribute whose key that is the fully
 qualified name of a class
<DT><A HREF="./org/apache/wink/test/mock/ServletContextMock.html#setAttribute(java.lang.String, java.lang.Object)"><B>setAttribute(String, Object)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/ServletContextMock.html" title="class in org.apache.wink.test.mock">ServletContextMock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#setAttribution(java.lang.String)"><B>setAttribution(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Sets the value of the attribution property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#setAuthor(java.lang.String)"><B>setAuthor(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Sets the value of the author property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html#setBase(java.lang.String)"><B>setBase(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributes</A>
<DD>Sets the value of base.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html#setBase(java.lang.String)"><B>setBase(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributesSimpleContent</A>
<DD>Sets the value of base.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html#setBase(java.lang.String)"><B>setBase(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html" title="class in org.apache.wink.common.model.synd">SyndCommonAttributes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html#setBaseUri(java.lang.String)"><B>setBaseUri(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchUrl</A>
<DD>Set Search base URI
<DT><A HREF="./org/apache/wink/common/AbstractDynamicResource.html#setBeanName(java.lang.String)"><B>setBeanName(String)</B></A> - 
Method in class org.apache.wink.common.<A HREF="./org/apache/wink/common/AbstractDynamicResource.html" title="class in org.apache.wink.common">AbstractDynamicResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/DynamicResource.html#setBeanName(java.lang.String)"><B>setBeanName(String)</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/DynamicResource.html" title="interface in org.apache.wink.common">DynamicResource</A>
<DD>sets bean name.
<DT><A HREF="./org/apache/wink/common/model/multipart/OutPart.html#setBody(java.lang.Object)"><B>setBody(Object)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutPart.html" title="class in org.apache.wink.common.model.multipart">OutPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html#setBoundary(java.lang.String)"><B>setBoundary(String)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html" title="class in org.apache.wink.common.model.multipart">OutMultiPart</A>
<DD>set the boundary to be used to separate between the different parts
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#setCategories(java.util.List)"><B>setCategories(List&lt;AtomCategory&gt;)</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Set a list of categories
<DT><A HREF="./org/apache/wink/common/model/rss/RssFeed.html#setChannel(org.apache.wink.common.model.rss.RssChannel)"><B>setChannel(RssChannel)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssFeed.html" title="class in org.apache.wink.common.model.rss">RssFeed</A>
<DD>Sets the value of the channel property.
<DT><A HREF="./org/apache/wink/spring/Registrar.html#setClasses(java.util.Set)"><B>setClasses(Set&lt;Class&lt;?&gt;&gt;)</B></A> - 
Method in class org.apache.wink.spring.<A HREF="./org/apache/wink/spring/Registrar.html" title="class in org.apache.wink.spring">Registrar</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setCloud(org.apache.wink.common.model.rss.RssCloud)"><B>setCloud(RssCloud)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the cloud property.
<DT><A HREF="./org/apache/wink/webdav/model/Resourcetype.html#setCollection(org.apache.wink.webdav.model.Collection)"><B>setCollection(Collection)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Resourcetype.html" title="class in org.apache.wink.webdav.model">Resourcetype</A>
<DD>Sets the value of the collection property.
<DT><A HREF="./org/apache/wink/common/AbstractDynamicResource.html#setCollectionTitle(java.lang.String)"><B>setCollectionTitle(String)</B></A> - 
Method in class org.apache.wink.common.<A HREF="./org/apache/wink/common/AbstractDynamicResource.html" title="class in org.apache.wink.common">AbstractDynamicResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#setComments(java.lang.String)"><B>setComments(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Sets the value of the comments property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#setContact(java.lang.String)"><B>setContact(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Sets the value of the contact property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#setContent(org.apache.wink.common.model.atom.AtomContent)"><B>setContent(AtomContent)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Sets the content.
<DT><A HREF="./org/apache/wink/common/model/rss/RssCategory.html#setContent(java.lang.String)"><B>setContent(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCategory.html" title="class in org.apache.wink.common.model.rss">RssCategory</A>
<DD>Sets the value of the content property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssGuid.html#setContent(java.lang.String)"><B>setContent(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssGuid.html" title="class in org.apache.wink.common.model.rss">RssGuid</A>
<DD>Sets the value of the content property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssSource.html#setContent(java.lang.String)"><B>setContent(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssSource.html" title="class in org.apache.wink.common.model.rss">RssSource</A>
<DD>Sets the value of the content property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html#setContent(org.apache.wink.common.model.synd.SyndContent)"><B>setContent(SyndContent)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd">SyndEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/MockHttpServletRequestWrapper.html#setContent(byte[])"><B>setContent(byte[])</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/MockHttpServletRequestWrapper.html" title="class in org.apache.wink.test.mock">MockHttpServletRequestWrapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/OutPart.html#setContentType(java.lang.String)"><B>setContentType(String)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutPart.html" title="class in org.apache.wink.common.model.multipart">OutPart</A>
<DD>Add the content type header
<DT><A HREF="./org/apache/wink/test/mock/MockHttpServletRequestWrapper.html#setContentType(java.lang.String)"><B>setContentType(String)</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/MockHttpServletRequestWrapper.html" title="class in org.apache.wink.test.mock">MockHttpServletRequestWrapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setCopyright(java.lang.String)"><B>setCopyright(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the copyright property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#setCount(java.math.BigInteger)"><B>setCount(BigInteger)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Sets the value of the count property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setCreationdate(org.apache.wink.webdav.model.Creationdate)"><B>setCreationdate(Creationdate)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Sets the value of the creationdate property.
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#setDelayResponse(int)"><B>setDelayResponse(int)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#setDepth(java.lang.String)"><B>setDepth(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>Sets the value of the depth property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#setDescription(java.lang.String)"><B>setDescription(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Sets the value of the description property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setDescription(java.lang.String)"><B>setDescription(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the description property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#setDescription(java.lang.String)"><B>setDescription(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>Sets the value of the description property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#setDescription(java.lang.String)"><B>setDescription(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Sets the value of the description property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssTextInput.html#setDescription(java.lang.String)"><B>setDescription(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss">RssTextInput</A>
<DD>Sets the value of the description property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#setDeveloper(java.lang.String)"><B>setDeveloper(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Sets the value of the developer property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setDisplayname(org.apache.wink.webdav.model.Displayname)"><B>setDisplayname(Displayname)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Sets the value of the displayname property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setDocs(java.lang.String)"><B>setDocs(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the docs property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssCategory.html#setDomain(java.lang.String)"><B>setDomain(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCategory.html" title="class in org.apache.wink.common.model.rss">RssCategory</A>
<DD>Sets the value of the domain property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#setDomain(java.lang.String)"><B>setDomain(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>Sets the value of the domain property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html#setEmail(java.lang.String)"><B>setEmail(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom">AtomPerson</A>
<DD>Sets the value of email.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndPerson.html#setEmail(java.lang.String)"><B>setEmail(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndPerson.html" title="class in org.apache.wink.common.model.synd">SyndPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#setEnclosure(org.apache.wink.common.model.rss.RssEnclosure)"><B>setEnclosure(RssEnclosure)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Sets the value of the enclosure property.
<DT><A HREF="./org/apache/wink/client/ClientRequest.html#setEntity(java.lang.Object)"><B>setEntity(Object)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientRequest.html" title="interface in org.apache.wink.client">ClientRequest</A>
<DD>Set the request entity to send with the request.
<DT><A HREF="./org/apache/wink/client/ClientResponse.html#setEntity(java.lang.Object)"><B>setEntity(Object)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientResponse.html" title="interface in org.apache.wink.client">ClientResponse</A>
<DD>Set the response entity
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html#setEntryPropertyHandler(org.apache.wink.webdav.server.WebDAVResponseBuilder.PropertyHandler)"><B>setEntryPropertyHandler(WebDAVResponseBuilder.PropertyHandler)</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder.CollectionPropertyHandler</A>
<DD>Set the PropertyHandler that is used to set properties for the
 entries in the collection
<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html#setError(org.apache.wink.webdav.model.Error)"><B>setError(Error)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model">Propstat</A>
<DD>Sets the value of the error property.
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#setError(org.apache.wink.webdav.model.Error)"><B>setError(Error)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>Sets the value of the error property.
<DT><A HREF="./org/apache/wink/webdav/model/Lockscope.html#setExclusive(org.apache.wink.webdav.model.Exclusive)"><B>setExclusive(Exclusive)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockscope.html" title="class in org.apache.wink.webdav.model">Lockscope</A>
<DD>Sets the value of the exclusive property.
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#setFixed(boolean)"><B>setFixed(boolean)</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Sets whether or not this is a fixed listing of categories.
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#setFixed(org.apache.wink.common.model.app.AppYesNo)"><B>setFixed(AppYesNo)</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>Sets the value of the fixed property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#setGenerator(org.apache.wink.common.model.atom.AtomGenerator)"><B>setGenerator(AtomGenerator)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Sets the value of generator.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setGenerator(java.lang.String)"><B>setGenerator(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the generator property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#setGenerator(org.apache.wink.common.model.synd.SyndGenerator)"><B>setGenerator(SyndGenerator)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setGetcontentlanguage(org.apache.wink.webdav.model.Getcontentlanguage)"><B>setGetcontentlanguage(Getcontentlanguage)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Sets the value of the getcontentlanguage property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setGetcontentlength(org.apache.wink.webdav.model.Getcontentlength)"><B>setGetcontentlength(Getcontentlength)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Sets the value of the getcontentlength property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setGetcontenttype(org.apache.wink.webdav.model.Getcontenttype)"><B>setGetcontenttype(Getcontenttype)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Sets the value of the getcontenttype property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setGetetag(org.apache.wink.webdav.model.Getetag)"><B>setGetetag(Getetag)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Sets the value of the getetag property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setGetlastmodified(org.apache.wink.webdav.model.Getlastmodified)"><B>setGetlastmodified(Getlastmodified)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Sets the value of the getlastmodified property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#setGuid(org.apache.wink.common.model.rss.RssGuid)"><B>setGuid(RssGuid)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Sets the value of the guid property.
<DT><A HREF="./org/apache/wink/common/model/multipart/InPart.html#setHeaders(javax.ws.rs.core.MultivaluedMap)"><B>setHeaders(MultivaluedMap&lt;String, String&gt;)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InPart.html" title="class in org.apache.wink.common.model.multipart">InPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/OutPart.html#setHeaders(javax.ws.rs.core.MultivaluedMap)"><B>setHeaders(MultivaluedMap&lt;String, String&gt;)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutPart.html" title="class in org.apache.wink.common.model.multipart">OutPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html#setHeight(java.math.BigInteger)"><B>setHeight(BigInteger)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchImage</A>
<DD>Sets the value of the height property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#setHeight(java.lang.Integer)"><B>setHeight(Integer)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>Sets the value of the height property.
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#setHref(java.lang.String)"><B>setHref(String)</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Sets the value of the href attribute.
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#setHref(java.lang.Class, javax.ws.rs.core.MultivaluedMap)"><B>setHref(Class&lt;?&gt;, MultivaluedMap&lt;String, String&gt;)</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Set Resource class that will generate Categories Document
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#setHref(java.lang.Object, javax.ws.rs.core.MultivaluedMap)"><B>setHref(Object, MultivaluedMap&lt;String, String&gt;)</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Set Resource that will generate Categories Document
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#setHref(java.lang.String)"><B>setHref(String)</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>Sets the value of the href property.
<DT><A HREF="./org/apache/wink/common/model/app/AppCollection.html#setHref(java.lang.String)"><B>setHref(String)</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app">AppCollection</A>
<DD>Sets the value of href.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#setHref(java.lang.String)"><B>setHref(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>Sets the value of href.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#setHref(java.lang.String)"><B>setHref(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#setHreflang(java.lang.String)"><B>setHreflang(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>Sets the value of hreflang.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#setHreflang(java.lang.String)"><B>setHreflang(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/MessageContext.html#setHttpMethod(java.lang.String)"><B>setHttpMethod(String)</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/MessageContext.html" title="interface in org.apache.wink.server.handlers">MessageContext</A>
<DD>Set the http method of the request.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#setIcon(java.lang.String)"><B>setIcon(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Sets the value of icon.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#setIcon(java.lang.String)"><B>setIcon(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#setId(java.lang.String)"><B>setId(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Sets the value of id.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#setId(java.lang.String)"><B>setId(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Sets the value of id.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#setId(java.lang.String)"><B>setId(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setImage(org.apache.wink.common.model.rss.RssImage)"><B>setImage(RssImage)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the image property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#setInputEncoding(java.lang.String)"><B>setInputEncoding(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Sets the value of the inputEncoding property.
<DT><A HREF="./org/apache/wink/common/model/multipart/InPart.html#setInputStream(java.io.InputStream)"><B>setInputStream(InputStream)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InPart.html" title="class in org.apache.wink.common.model.multipart">InPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/spring/Registrar.html#setInstances(java.util.Set)"><B>setInstances(Set&lt;Object&gt;)</B></A> - 
Method in class org.apache.wink.spring.<A HREF="./org/apache/wink/spring/Registrar.html" title="class in org.apache.wink.spring">Registrar</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssGuid.html#setIsPermaLink(java.lang.Boolean)"><B>setIsPermaLink(Boolean)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssGuid.html" title="class in org.apache.wink.common.model.rss">RssGuid</A>
<DD>Sets the value of the isPermaLink property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#setItemsPerPage(long)"><B>setItemsPerPage(long)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Sets the value of opensearch itemsPerPage.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#setItemsPerPage(long)"><B>setItemsPerPage(long)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propertybehavior.html#setKeepalive(org.apache.wink.webdav.model.Keepalive)"><B>setKeepalive(Keepalive)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertybehavior.html" title="class in org.apache.wink.webdav.model">Propertybehavior</A>
<DD>Sets the value of the keepalive property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCategory.html#setLabel(java.lang.String)"><B>setLabel(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom">AtomCategory</A>
<DD>Sets the value of label.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCategory.html#setLabel(java.lang.String)"><B>setLabel(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCategory.html" title="class in org.apache.wink.common.model.synd">SyndCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html#setLang(java.lang.String)"><B>setLang(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributes</A>
<DD>Sets the value of lang.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html#setLang(java.lang.String)"><B>setLang(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributesSimpleContent</A>
<DD>Sets the value of lang.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html#setLang(java.lang.String)"><B>setLang(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html" title="class in org.apache.wink.common.model.synd">SyndCommonAttributes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#setLanguage(java.lang.String)"><B>setLanguage(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Sets the value of the language property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setLanguage(java.lang.String)"><B>setLanguage(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the language property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setLastBuildDate(java.lang.String)"><B>setLastBuildDate(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the lastBuildDate property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#setLength(java.lang.String)"><B>setLength(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>Sets the value of length.
<DT><A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html#setLength(java.lang.String)"><B>setLength(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html" title="class in org.apache.wink.common.model.rss">RssEnclosure</A>
<DD>Sets the value of the length property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#setLength(java.lang.String)"><B>setLength(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setLink(java.lang.String)"><B>setLink(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the link property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#setLink(java.lang.String)"><B>setLink(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>Sets the value of the link property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#setLink(java.lang.String)"><B>setLink(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Sets the value of the link property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssTextInput.html#setLink(java.lang.String)"><B>setLink(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss">RssTextInput</A>
<DD>Sets the value of the link property.
<DT><A HREF="./org/apache/wink/client/ClientConfig.html#setLoadWinkApplications(boolean)"><B>setLoadWinkApplications(boolean)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/OutPart.html#setLocationHeader(java.lang.String)"><B>setLocationHeader(String)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutPart.html" title="class in org.apache.wink.common.model.multipart">OutPart</A>
<DD>set the location header
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setLockdiscovery(org.apache.wink.webdav.model.Lockdiscovery)"><B>setLockdiscovery(Lockdiscovery)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Sets the value of the lockdiscovery property.
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#setLockscope(org.apache.wink.webdav.model.Lockscope)"><B>setLockscope(Lockscope)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>Sets the value of the lockscope property.
<DT><A HREF="./org/apache/wink/webdav/model/Lockentry.html#setLockscope(org.apache.wink.webdav.model.Lockscope)"><B>setLockscope(Lockscope)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockentry.html" title="class in org.apache.wink.webdav.model">Lockentry</A>
<DD>Sets the value of the lockscope property.
<DT><A HREF="./org/apache/wink/webdav/model/Lockinfo.html#setLockscope(org.apache.wink.webdav.model.Lockscope)"><B>setLockscope(Lockscope)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockinfo.html" title="class in org.apache.wink.webdav.model">Lockinfo</A>
<DD>Sets the value of the lockscope property.
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#setLocktoken(org.apache.wink.webdav.model.Locktoken)"><B>setLocktoken(Locktoken)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>Sets the value of the locktoken property.
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#setLocktype(org.apache.wink.webdav.model.Locktype)"><B>setLocktype(Locktype)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>Sets the value of the locktype property.
<DT><A HREF="./org/apache/wink/webdav/model/Lockentry.html#setLocktype(org.apache.wink.webdav.model.Locktype)"><B>setLocktype(Locktype)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockentry.html" title="class in org.apache.wink.webdav.model">Lockentry</A>
<DD>Sets the value of the locktype property.
<DT><A HREF="./org/apache/wink/webdav/model/Lockinfo.html#setLocktype(org.apache.wink.webdav.model.Locktype)"><B>setLocktype(Locktype)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockinfo.html" title="class in org.apache.wink.webdav.model">Lockinfo</A>
<DD>Sets the value of the locktype property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#setLogo(java.lang.String)"><B>setLogo(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Sets the value of logo.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#setLogo(java.lang.String)"><B>setLogo(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#setLongName(java.lang.String)"><B>setLongName(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Sets the value of the longName property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setManagingEditor(java.lang.String)"><B>setManagingEditor(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the managingEditor property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html#setMandatory(boolean)"><B>setMandatory(boolean)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchParameter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientResponse.html#setMessage(java.lang.String)"><B>setMessage(String)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientResponse.html" title="interface in org.apache.wink.client">ClientResponse</A>
<DD>Set the response message
<DT><A HREF="./org/apache/wink/client/ClientRequest.html#setMethod(java.lang.String)"><B>setMethod(String)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientRequest.html" title="interface in org.apache.wink.client">ClientRequest</A>
<DD>Set the http method
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#setMockResponseCode(int)"><B>setMockResponseCode(int)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#setMockResponseContent(java.lang.String)"><B>setMockResponseContent(String)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#setMockResponseContent(byte[])"><B>setMockResponseContent(byte[])</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#setMockResponseContentEchoRequest(boolean)"><B>setMockResponseContentEchoRequest(boolean)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#setMockResponseContentType(java.lang.String)"><B>setMockResponseContentType(String)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#setMockResponseHeader(java.lang.String, java.lang.String)"><B>setMockResponseHeader(String, String)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#setMockResponseHeaders(java.util.Map)"><B>setMockResponseHeaders(Map&lt;String, String&gt;)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom">AtomPerson</A>
<DD>Sets the value of name.
<DT><A HREF="./org/apache/wink/common/model/rss/RssTextInput.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss">RssTextInput</A>
<DD>Sets the value of the name property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndPerson.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndPerson.html" title="class in org.apache.wink.common.model.synd">SyndPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propertybehavior.html#setOmit(org.apache.wink.webdav.model.Omit)"><B>setOmit(Omit)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertybehavior.html" title="class in org.apache.wink.webdav.model">Propertybehavior</A>
<DD>Sets the value of the omit property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#setOpenSearchQueries(java.util.List)"><B>setOpenSearchQueries(List&lt;OpenSearchQuery&gt;)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Sets the list of opensearch Query elements
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#setOutputEncoding(java.lang.String)"><B>setOutputEncoding(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Sets the value of the outputEncoding property.
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#setOwner(org.apache.wink.webdav.model.Owner)"><B>setOwner(Owner)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>Sets the value of the owner property.
<DT><A HREF="./org/apache/wink/webdav/model/Lockinfo.html#setOwner(org.apache.wink.webdav.model.Owner)"><B>setOwner(Owner)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockinfo.html" title="class in org.apache.wink.webdav.model">Lockinfo</A>
<DD>Sets the value of the owner property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html#setParameter(java.lang.String)"><B>setParameter(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchParameter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html#setParameterKey(java.lang.String)"><B>setParameterKey(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchParameter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/AbstractDynamicResource.html#setParent(java.lang.Object)"><B>setParent(Object)</B></A> - 
Method in class org.apache.wink.common.<A HREF="./org/apache/wink/common/AbstractDynamicResource.html" title="class in org.apache.wink.common">AbstractDynamicResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/DynamicResource.html#setParent(java.lang.Object)"><B>setParent(Object)</B></A> - 
Method in interface org.apache.wink.common.<A HREF="./org/apache/wink/common/DynamicResource.html" title="interface in org.apache.wink.common">DynamicResource</A>
<DD>
 Sets parents.
<DT><A HREF="./org/apache/wink/common/AbstractDynamicResource.html#setPath(java.lang.String)"><B>setPath(String)</B></A> - 
Method in class org.apache.wink.common.<A HREF="./org/apache/wink/common/AbstractDynamicResource.html" title="class in org.apache.wink.common">AbstractDynamicResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#setPath(java.lang.String)"><B>setPath(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>Sets the value of the path property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#setPort(int)"><B>setPort(int)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>Sets the value of the port property.
<DT><A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html#setPriority(double)"><B>setPriority(double)</B></A> - 
Method in class org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/RegistrationUtils.InnerApplication.html" title="class in org.apache.wink.server.utils">RegistrationUtils.InnerApplication</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/spring/Registrar.html#setPriority(double)"><B>setPriority(double)</B></A> - 
Method in class org.apache.wink.spring.<A HREF="./org/apache/wink/spring/Registrar.html" title="class in org.apache.wink.spring">Registrar</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#setProp(org.apache.wink.webdav.model.Prop)"><B>setProp(Prop)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>Sets the value of the prop property.
<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html#setProp(org.apache.wink.webdav.model.Prop)"><B>setProp(Prop)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model">Propstat</A>
<DD>Sets the value of the prop property.
<DT><A HREF="./org/apache/wink/webdav/model/Remove.html#setProp(org.apache.wink.webdav.model.Prop)"><B>setProp(Prop)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Remove.html" title="class in org.apache.wink.webdav.model">Remove</A>
<DD>Sets the value of the prop property.
<DT><A HREF="./org/apache/wink/webdav/model/Set.html#setProp(org.apache.wink.webdav.model.Prop)"><B>setProp(Prop)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Set.html" title="class in org.apache.wink.webdav.model">Set</A>
<DD>Sets the value of the prop property.
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setProperty(javax.xml.namespace.QName)"><B>setProperty(QName)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Set a proprietary property, and return the Element representing it
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setProperty(javax.xml.namespace.QName, java.lang.String)"><B>setProperty(QName, String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Set a proprietary property, and return the Element representing it
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setProperty(javax.xml.namespace.QName, org.w3c.dom.Element)"><B>setProperty(QName, Element)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Set a proprietary property, and return the Element representing it
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setProperty(java.lang.String, java.lang.String)"><B>setProperty(String, String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Set a proprietary property, and return the Element representing it
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setProperty(java.lang.String, java.lang.String, java.lang.String)"><B>setProperty(String, String, String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Set a proprietary property, and return the Element representing it
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setProperty(java.lang.String, java.lang.String, org.w3c.dom.Element)"><B>setProperty(String, String, Element)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Set a proprietary property, and return the Element representing it
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#setProperty(java.lang.Object, int)"><B>setProperty(Object, int)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>Add the provided property to the correct propstat element with the
 specified Http status.
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#setProperty(java.lang.Object, int, java.lang.String, org.apache.wink.webdav.model.Error)"><B>setProperty(Object, int, String, Error)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>Sets the provided property to the correct propstat element.
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#setPropertyNotFound(java.lang.Object)"><B>setPropertyNotFound(Object)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>Add the provided property to the correct propstat element with an Http
 status of NOT FOUND.
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#setPropertyOk(java.lang.Object)"><B>setPropertyOk(Object)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>Add the provided property to the correct propstat element with an Http
 status of OK.
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.PropertyHandler.html#setPropertyValue(org.apache.wink.webdav.server.WebDAVResponseBuilder, org.apache.wink.webdav.model.Response, java.lang.Object, org.apache.wink.common.model.synd.SyndBase)"><B>setPropertyValue(WebDAVResponseBuilder, Response, Object, SyndBase)</B></A> - 
Method in class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.PropertyHandler.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder.PropertyHandler</A>
<DD>Set the value of a provided property, and set the property on the
 response object with the correct status.
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#setPropname(org.apache.wink.webdav.model.Propname)"><B>setPropname(Propname)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>Sets the value of the propname property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#setProtocol(java.lang.String)"><B>setProtocol(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>Sets the value of the protocol property.
<DT><A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html#setProviders(javax.ws.rs.ext.Providers)"><B>setProviders(Providers)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InMultiPart.html" title="class in org.apache.wink.common.model.multipart">InMultiPart</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/InPart.html#setProviders(javax.ws.rs.ext.Providers)"><B>setProviders(Providers)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/InPart.html" title="class in org.apache.wink.common.model.multipart">InPart</A>
<DD>set the providers to be used by the @see InPart#getBody(Class, Type)
 method for deserialization of the part
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setPubDate(java.lang.String)"><B>setPubDate(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the pubDate property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#setPubDate(java.lang.String)"><B>setPubDate(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Sets the value of the pubDate property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#setPublished(javax.xml.datatype.XMLGregorianCalendar)"><B>setPublished(XMLGregorianCalendar)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Sets the value of published.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#setPublished(long)"><B>setPublished(long)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Sets the value of published.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#setPublished(java.util.Date)"><B>setPublished(Date)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Sets the value of published.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html#setPublished(java.util.Date)"><B>setPublished(Date)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd">SyndEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setRating(java.lang.String)"><B>setRating(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the rating property.
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#setReadTimeout(int)"><B>setReadTimeout(int)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssCloud.html#setRegisterProcedure(java.lang.String)"><B>setRegisterProcedure(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssCloud.html" title="class in org.apache.wink.common.model.rss">RssCloud</A>
<DD>Sets the value of the registerProcedure property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#setRel(java.lang.String)"><B>setRel(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>Sets the value of rel.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#setRel(java.lang.String)"><B>setRel(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setResourcetype(org.apache.wink.webdav.model.Resourcetype)"><B>setResourcetype(Resourcetype)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Sets the value of the resourcetype property.
<DT><A HREF="./org/apache/wink/webdav/model/Multistatus.html#setResponsedescription(java.lang.String)"><B>setResponsedescription(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Multistatus.html" title="class in org.apache.wink.webdav.model">Multistatus</A>
<DD>Sets the value of the responsedescription property.
<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html#setResponsedescription(java.lang.String)"><B>setResponsedescription(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model">Propstat</A>
<DD>Sets the value of the responsedescription property.
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#setResponsedescription(java.lang.String)"><B>setResponsedescription(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>Sets the value of the responsedescription property.
<DT><A HREF="./org/apache/wink/server/handlers/MessageContext.html#setResponseEntity(java.lang.Object)"><B>setResponseEntity(Object)</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/MessageContext.html" title="interface in org.apache.wink.server.handlers">MessageContext</A>
<DD>Set the response entity.
<DT><A HREF="./org/apache/wink/server/handlers/MessageContext.html#setResponseMediaType(javax.ws.rs.core.MediaType)"><B>setResponseMediaType(MediaType)</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/MessageContext.html" title="interface in org.apache.wink.server.handlers">MessageContext</A>
<DD>Set the response media type
<DT><A HREF="./org/apache/wink/server/handlers/MessageContext.html#setResponseStatusCode(int)"><B>setResponseStatusCode(int)</B></A> - 
Method in interface org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/MessageContext.html" title="interface in org.apache.wink.server.handlers">MessageContext</A>
<DD>Set the response status code
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#setRights(org.apache.wink.common.model.atom.AtomText)"><B>setRights(AtomText)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Sets the value of rights.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#setRights(org.apache.wink.common.model.synd.SyndText)"><B>setRights(SyndText)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#setRole(java.lang.String)"><B>setRole(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Sets the value of the role property.
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#setScheme(java.lang.String)"><B>setScheme(String)</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Sets the default scheme for this listing of categories
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#setScheme(java.lang.String)"><B>setScheme(String)</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>Sets the value of the scheme property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCategory.html#setScheme(java.lang.String)"><B>setScheme(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom">AtomCategory</A>
<DD>Sets the value of scheme.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCategory.html#setScheme(java.lang.String)"><B>setScheme(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCategory.html" title="class in org.apache.wink.common.model.synd">SyndCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#setSearchTerms(java.lang.String)"><B>setSearchTerms(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Sets the value of the searchTerms property.
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#setServerPort(int)"><B>setServerPort(int)</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Lockscope.html#setShared(org.apache.wink.webdav.model.Shared)"><B>setShared(Shared)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockscope.html" title="class in org.apache.wink.webdav.model">Lockscope</A>
<DD>Sets the value of the shared property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#setShortName(java.lang.String)"><B>setShortName(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Sets the value of the shortName property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setSkipDays(org.apache.wink.common.model.rss.RssSkipDays)"><B>setSkipDays(RssSkipDays)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the skipDays property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setSkipHours(org.apache.wink.common.model.rss.RssSkipHours)"><B>setSkipHours(RssSkipHours)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the skipHours property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#setSource(org.apache.wink.common.model.rss.RssSource)"><B>setSource(RssSource)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Sets the value of the source property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html#setSrc(java.lang.String)"><B>setSrc(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom">AtomContent</A>
<DD>Sets the value of src.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndContent.html#setSrc(java.lang.String)"><B>setSrc(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndContent.html" title="class in org.apache.wink.common.model.synd">SyndContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#setStartIndex(long)"><B>setStartIndex(long)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Sets the value of opensearch startIndex.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#setStartIndex(java.math.BigInteger)"><B>setStartIndex(BigInteger)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Sets the value of the startIndex property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#setStartIndex(long)"><B>setStartIndex(long)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#setStartPage(java.math.BigInteger)"><B>setStartPage(BigInteger)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Sets the value of the startPage property.
<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html#setStatus(java.lang.String)"><B>setStatus(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model">Propstat</A>
<DD>Sets the value of the status property.
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#setStatus(java.lang.String)"><B>setStatus(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>Sets the value of the status property.
<DT><A HREF="./org/apache/wink/client/ClientResponse.html#setStatusCode(int)"><B>setStatusCode(int)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientResponse.html" title="interface in org.apache.wink.client">ClientResponse</A>
<DD>Set the response status code
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#setSubtitle(org.apache.wink.common.model.atom.AtomText)"><B>setSubtitle(AtomText)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Sets the value of subtitle.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#setSubtitle(org.apache.wink.common.model.synd.SyndText)"><B>setSubtitle(SyndText)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#setSummary(org.apache.wink.common.model.atom.AtomText)"><B>setSummary(AtomText)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Sets the value of summary.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html#setSummary(org.apache.wink.common.model.synd.SyndText)"><B>setSummary(SyndText)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd">SyndEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#setSupportedlock(org.apache.wink.webdav.model.Supportedlock)"><B>setSupportedlock(Supportedlock)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>Sets the value of the supportedlock property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#setSyndicationRight(java.lang.String)"><B>setSyndicationRight(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Sets the value of the syndicationRight property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#setTags(java.lang.String)"><B>setTags(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>Sets the value of the tags property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html#setTemplate(java.lang.String)"><B>setTemplate(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchUrl</A>
<DD>Sets the value of the template property.
<DT><A HREF="./org/apache/wink/common/categories/Categories.html#setTemplateParameters(javax.ws.rs.core.MultivaluedMap)"><B>setTemplateParameters(MultivaluedMap&lt;String, String&gt;)</B></A> - 
Method in class org.apache.wink.common.categories.<A HREF="./org/apache/wink/common/categories/Categories.html" title="class in org.apache.wink.common.categories">Categories</A>
<DD>Set Uri Template Variables
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCategory.html#setTerm(java.lang.String)"><B>setTerm(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom">AtomCategory</A>
<DD>Sets the value of term.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCategory.html#setTerm(java.lang.String)"><B>setTerm(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCategory.html" title="class in org.apache.wink.common.model.synd">SyndCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setTextInput(org.apache.wink.common.model.rss.RssTextInput)"><B>setTextInput(RssTextInput)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the textInput property.
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#setTimeout(java.lang.String)"><B>setTimeout(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>Sets the value of the timeout property.
<DT><A HREF="./org/apache/wink/common/model/app/AppCollection.html#setTitle(org.apache.wink.common.model.atom.AtomText)"><B>setTitle(AtomText)</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app">AppCollection</A>
<DD>Sets the value of title.
<DT><A HREF="./org/apache/wink/common/model/app/AppWorkspace.html#setTitle(org.apache.wink.common.model.atom.AtomText)"><B>setTitle(AtomText)</B></A> - 
Method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppWorkspace.html" title="class in org.apache.wink.common.model.app">AppWorkspace</A>
<DD>Sets the value of title.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#setTitle(org.apache.wink.common.model.atom.AtomText)"><B>setTitle(AtomText)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Sets the value of title.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#setTitle(org.apache.wink.common.model.atom.AtomText)"><B>setTitle(AtomText)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Sets the value of title.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#setTitle(java.lang.String)"><B>setTitle(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>Sets the value of title.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#setTitle(java.lang.String)"><B>setTitle(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Sets the value of the title property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setTitle(java.lang.String)"><B>setTitle(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the title property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#setTitle(java.lang.String)"><B>setTitle(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>Sets the value of the title property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#setTitle(java.lang.String)"><B>setTitle(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>Sets the value of the title property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssTextInput.html#setTitle(java.lang.String)"><B>setTitle(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss">RssTextInput</A>
<DD>Sets the value of the title property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#setTitle(org.apache.wink.common.model.synd.SyndText)"><B>setTitle(SyndText)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#setTitle(java.lang.String)"><B>setTitle(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#setTotalResults(long)"><B>setTotalResults(long)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Sets the value of opensearch totalResults.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#setTotalResults(java.math.BigInteger)"><B>setTotalResults(BigInteger)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>Sets the value of the totalResults property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#setTotalResults(long)"><B>setTotalResults(long)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setTtl(java.lang.Integer)"><B>setTtl(Integer)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the ttl property.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html#setType(java.lang.String)"><B>setType(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom">AtomContent</A>
<DD>Sets the value of type.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#setType(java.lang.String)"><B>setType(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>Sets the value of type.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomText.html#setType(org.apache.wink.common.model.atom.AtomTextType)"><B>setType(AtomTextType)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom">AtomText</A>
<DD>Sets the value of type.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html#setType(java.lang.String)"><B>setType(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchImage</A>
<DD>Sets the value of the type property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html#setType(java.lang.String)"><B>setType(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchUrl</A>
<DD>Sets the value of the type property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html#setType(java.lang.String)"><B>setType(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html" title="class in org.apache.wink.common.model.rss">RssEnclosure</A>
<DD>Sets the value of the type property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndContent.html#setType(java.lang.String)"><B>setType(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndContent.html" title="class in org.apache.wink.common.model.synd">SyndContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#setType(java.lang.String)"><B>setType(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndText.html#setType(org.apache.wink.common.model.synd.SyndTextType)"><B>setType(SyndTextType)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndText.html" title="class in org.apache.wink.common.model.synd">SyndText</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/BaseTest.html#setUp()"><B>setUp()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/BaseTest.html" title="class in org.apache.wink.client">BaseTest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/SpringAwareTestCase.html#setUp()"><B>setUp()</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/SpringAwareTestCase.html" title="class in org.apache.wink.test.mock">SpringAwareTestCase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/SpringMockServletInvocationTest.html#setUp()"><B>setUp()</B></A> - 
Method in class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/SpringMockServletInvocationTest.html" title="class in org.apache.wink.test.mock">SpringMockServletInvocationTest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#setUpdated(javax.xml.datatype.XMLGregorianCalendar)"><B>setUpdated(XMLGregorianCalendar)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Sets the value of updated.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#setUpdated(long)"><B>setUpdated(long)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Sets the value of updated.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#setUpdated(java.util.Date)"><B>setUpdated(Date)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Sets the value of updated.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#setUpdated(javax.xml.datatype.XMLGregorianCalendar)"><B>setUpdated(XMLGregorianCalendar)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Sets the value of updated.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#setUpdated(long)"><B>setUpdated(long)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Sets the value of updated.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#setUpdated(java.util.Date)"><B>setUpdated(Date)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Sets the value of updated.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#setUpdated(java.util.Date)"><B>setUpdated(Date)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/ClientRequest.html#setURI(java.net.URI)"><B>setURI(URI)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/ClientRequest.html" title="interface in org.apache.wink.client">ClientRequest</A>
<DD>Set the uri of the request
<DT><A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html#setUri(java.lang.String)"><B>setUri(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html" title="class in org.apache.wink.common.model.atom">AtomGenerator</A>
<DD>Sets the value of uri.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html#setUri(java.lang.String)"><B>setUri(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom">AtomPerson</A>
<DD>Sets the value of uri.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html#setUri(java.lang.String)"><B>setUri(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html" title="class in org.apache.wink.common.model.synd">SyndGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndPerson.html#setUri(java.lang.String)"><B>setUri(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndPerson.html" title="class in org.apache.wink.common.model.synd">SyndPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html#setUrl(java.lang.String)"><B>setUrl(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html" title="class in org.apache.wink.common.model.rss">RssEnclosure</A>
<DD>Sets the value of the url property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#setUrl(java.lang.String)"><B>setUrl(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>Sets the value of the url property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssSource.html#setUrl(java.lang.String)"><B>setUrl(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssSource.html" title="class in org.apache.wink.common.model.rss">RssSource</A>
<DD>Sets the value of the url property.
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#setUseAsReader(boolean)"><B>setUseAsReader(boolean)</B></A> - 
Method in class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBElementProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html#setUseAsReader(boolean)"><B>setUseAsReader(boolean)</B></A> - 
Method in class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#setUseAsWriter(boolean)"><B>setUseAsWriter(boolean)</B></A> - 
Method in class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBElementProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html#setUseAsWriter(boolean)"><B>setUseAsWriter(boolean)</B></A> - 
Method in class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributesSimpleContent</A>
<DD>Sets the value of value.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html#setValue(java.lang.Object)"><B>setValue(Object)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom">AtomContent</A>
<DD>Sets the content of the "atom:content" element as a String.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomText.html#setValue(java.lang.Object)"><B>setValue(Object)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom">AtomText</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchImage</A>
<DD>Sets the value of the value property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html#setValue(java.lang.Object)"><B>setValue(Object)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html" title="class in org.apache.wink.common.model.synd">SyndSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Creationdate.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Creationdate.html" title="class in org.apache.wink.webdav.model">Creationdate</A>
<DD>Sets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Creationdate.html#setValue(java.util.Date)"><B>setValue(Date)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Creationdate.html" title="class in org.apache.wink.webdav.model">Creationdate</A>
<DD>Sets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Displayname.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Displayname.html" title="class in org.apache.wink.webdav.model">Displayname</A>
<DD>Sets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Getcontentlanguage.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontentlanguage.html" title="class in org.apache.wink.webdav.model">Getcontentlanguage</A>
<DD>Sets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Getcontentlength.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontentlength.html" title="class in org.apache.wink.webdav.model">Getcontentlength</A>
<DD>Sets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Getcontenttype.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getcontenttype.html" title="class in org.apache.wink.webdav.model">Getcontenttype</A>
<DD>Sets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Getetag.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getetag.html" title="class in org.apache.wink.webdav.model">Getetag</A>
<DD>Sets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Getlastmodified.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getlastmodified.html" title="class in org.apache.wink.webdav.model">Getlastmodified</A>
<DD>Sets the value.
<DT><A HREF="./org/apache/wink/webdav/model/Getlastmodified.html#setValue(java.util.Date)"><B>setValue(Date)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Getlastmodified.html" title="class in org.apache.wink.webdav.model">Getlastmodified</A>
<DD>Sets the value.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html#setVersion(java.lang.String)"><B>setVersion(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html" title="class in org.apache.wink.common.model.atom">AtomGenerator</A>
<DD>Sets the value of version.
<DT><A HREF="./org/apache/wink/common/model/rss/RssFeed.html#setVersion(java.lang.String)"><B>setVersion(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssFeed.html" title="class in org.apache.wink.common.model.rss">RssFeed</A>
<DD>Sets the value of the version property.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html#setVersion(java.lang.String)"><B>setVersion(String)</B></A> - 
Method in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html" title="class in org.apache.wink.common.model.synd">SyndGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#setWebMaster(java.lang.String)"><B>setWebMaster(String)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>Sets the value of the webMaster property.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html#setWidth(java.math.BigInteger)"><B>setWidth(BigInteger)</B></A> - 
Method in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchImage</A>
<DD>Sets the value of the width property.
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#setWidth(java.lang.Integer)"><B>setWidth(Integer)</B></A> - 
Method in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>Sets the value of the width property.
<DT><A HREF="./org/apache/wink/common/AbstractDynamicResource.html#setWorkspaceTitle(java.lang.String)"><B>setWorkspaceTitle(String)</B></A> - 
Method in class org.apache.wink.common.<A HREF="./org/apache/wink/common/AbstractDynamicResource.html" title="class in org.apache.wink.common">AbstractDynamicResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Locktype.html#setWrite(org.apache.wink.webdav.model.Write)"><B>setWrite(Write)</B></A> - 
Method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Locktype.html" title="class in org.apache.wink.webdav.model">Locktype</A>
<DD>Sets the value of the write property.
<DT><A HREF="./org/apache/wink/webdav/model/Lockscope.html#shared"><B>shared</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Lockscope.html" title="class in org.apache.wink.webdav.model">Lockscope</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Shared.html" title="class in org.apache.wink.webdav.model"><B>Shared</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>shared</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Shared.html#Shared()"><B>Shared()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Shared.html" title="class in org.apache.wink.webdav.model">Shared</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#shortName"><B>shortName</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/SingleLinkBuilder.html" title="interface in org.apache.wink.server.utils"><B>SingleLinkBuilder</B></A> - Interface in <A HREF="./org/apache/wink/server/utils/package-summary.html">org.apache.wink.server.utils</A><DD>A builder for generating a single link to a resource.<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#skipDays"><B>skipDays</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#skipHours"><B>skipHours</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/diff/DifferenceListenerIgnoreUpdateOrCompareTimes.html#skippedComparison(org.w3c.dom.Node, org.w3c.dom.Node)"><B>skippedComparison(Node, Node)</B></A> - 
Method in class org.apache.wink.test.diff.<A HREF="./org/apache/wink/test/diff/DifferenceListenerIgnoreUpdateOrCompareTimes.html" title="class in org.apache.wink.test.diff">DifferenceListenerIgnoreUpdateOrCompareTimes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/diff/DifferenceListenerIgnoreWhitespace.html#skippedComparison(org.w3c.dom.Node, org.w3c.dom.Node)"><B>skippedComparison(Node, Node)</B></A> - 
Method in class org.apache.wink.test.diff.<A HREF="./org/apache/wink/test/diff/DifferenceListenerIgnoreWhitespace.html" title="class in org.apache.wink.test.diff">DifferenceListenerIgnoreWhitespace</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpHeadersEx.html#SLUG"><B>SLUG</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpHeadersEx.html" title="class in org.apache.wink.common.http">HttpHeadersEx</A>
<DD>Non RFC 2616 - Atom Publishing Protocol
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#source"><B>source</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Source.html" title="class in org.apache.wink.webdav.model"><B>Source</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>source</code> Property per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Source.html#Source()"><B>Source()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Source.html" title="class in org.apache.wink.webdav.model">Source</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/SpringAwareTestCase.html" title="class in org.apache.wink.test.mock"><B>SpringAwareTestCase</B></A> - Class in <A HREF="./org/apache/wink/test/mock/package-summary.html">org.apache.wink.test.mock</A><DD>Loads Spring Context for the unit tests<DT><A HREF="./org/apache/wink/test/mock/SpringAwareTestCase.html#SpringAwareTestCase()"><B>SpringAwareTestCase()</B></A> - 
Constructor for class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/SpringAwareTestCase.html" title="class in org.apache.wink.test.mock">SpringAwareTestCase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/SpringMockServletInvocationTest.html" title="class in org.apache.wink.test.mock"><B>SpringMockServletInvocationTest</B></A> - Class in <A HREF="./org/apache/wink/test/mock/package-summary.html">org.apache.wink.test.mock</A><DD>Base class for tests using mock servlet invocation (= invoking directly
 servlet's method with Spring mock request/response).<DT><A HREF="./org/apache/wink/test/mock/SpringMockServletInvocationTest.html#SpringMockServletInvocationTest()"><B>SpringMockServletInvocationTest()</B></A> - 
Constructor for class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/SpringMockServletInvocationTest.html" title="class in org.apache.wink.test.mock">SpringMockServletInvocationTest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html#src"><B>src</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom">AtomContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Link.html#src"><B>src</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Link.html" title="class in org.apache.wink.webdav.model">Link</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#startIndex"><B>startIndex</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#startIndex"><B>startIndex</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#startPage"><B>startPage</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#startServer()"><B>startServer()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Propstat.html#status"><B>status</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propstat.html" title="class in org.apache.wink.webdav.model">Propstat</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Response.html#status"><B>status</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Response.html" title="class in org.apache.wink.webdav.model">Response</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/MockHttpServer.html#stopServer()"><B>stopServer()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/MockHttpServer.html" title="class in org.apache.wink.client">MockHttpServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html#subResource(java.lang.String)"><B>subResource(String)</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/BaseLinksBuilder.html" title="interface in org.apache.wink.server.utils">BaseLinksBuilder</A>
<DD>Set the sub-resource path that the generated links should link to,
 relative to the resource set in the builder.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#subtitle"><B>subtitle</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#summary"><B>summary</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Prop.html#supportedlock"><B>supportedlock</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Prop.html" title="class in org.apache.wink.webdav.model">Prop</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Supportedlock.html" title="class in org.apache.wink.webdav.model"><B>Supportedlock</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>supportedlock</code> Property per the WebDAV specification [RFC
 4918]<DT><A HREF="./org/apache/wink/webdav/model/Supportedlock.html#Supportedlock()"><B>Supportedlock()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Supportedlock.html" title="class in org.apache.wink.webdav.model">Supportedlock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#SWITCHING_PROTOCOLS"><B>SWITCHING_PROTOCOLS</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd"><B>SyndBase</B></A> - Class in <A HREF="./org/apache/wink/common/model/synd/package-summary.html">org.apache.wink.common.model.synd</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#SyndBase()"><B>SyndBase()</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#SyndBase(java.lang.String, org.apache.wink.common.model.synd.SyndText, java.util.Date)"><B>SyndBase(String, SyndText, Date)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndBase.html#SyndBase(org.apache.wink.common.model.synd.SyndBase)"><B>SyndBase(SyndBase)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndBase.html" title="class in org.apache.wink.common.model.synd">SyndBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCategory.html" title="class in org.apache.wink.common.model.synd"><B>SyndCategory</B></A> - Class in <A HREF="./org/apache/wink/common/model/synd/package-summary.html">org.apache.wink.common.model.synd</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/synd/SyndCategory.html#SyndCategory()"><B>SyndCategory()</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCategory.html" title="class in org.apache.wink.common.model.synd">SyndCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCategory.html#SyndCategory(java.lang.String)"><B>SyndCategory(String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCategory.html" title="class in org.apache.wink.common.model.synd">SyndCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCategory.html#SyndCategory(java.lang.String, java.lang.String, java.lang.String)"><B>SyndCategory(String, String, String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCategory.html" title="class in org.apache.wink.common.model.synd">SyndCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCategory.html#SyndCategory(org.apache.wink.common.model.synd.SyndCategory)"><B>SyndCategory(SyndCategory)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCategory.html" title="class in org.apache.wink.common.model.synd">SyndCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html" title="class in org.apache.wink.common.model.synd"><B>SyndCommonAttributes</B></A> - Class in <A HREF="./org/apache/wink/common/model/synd/package-summary.html">org.apache.wink.common.model.synd</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html#SyndCommonAttributes()"><B>SyndCommonAttributes()</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html" title="class in org.apache.wink.common.model.synd">SyndCommonAttributes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html#SyndCommonAttributes(org.apache.wink.common.model.synd.SyndCommonAttributes)"><B>SyndCommonAttributes(SyndCommonAttributes)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndCommonAttributes.html" title="class in org.apache.wink.common.model.synd">SyndCommonAttributes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndContent.html" title="class in org.apache.wink.common.model.synd"><B>SyndContent</B></A> - Class in <A HREF="./org/apache/wink/common/model/synd/package-summary.html">org.apache.wink.common.model.synd</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/synd/SyndContent.html#SyndContent()"><B>SyndContent()</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndContent.html" title="class in org.apache.wink.common.model.synd">SyndContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndContent.html#SyndContent(java.lang.Object)"><B>SyndContent(Object)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndContent.html" title="class in org.apache.wink.common.model.synd">SyndContent</A>
<DD>Creates a new SyndContent with the specified value and 'text' type
 attribute.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndContent.html#SyndContent(java.lang.Object, java.lang.String, boolean)"><B>SyndContent(Object, String, boolean)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndContent.html" title="class in org.apache.wink.common.model.synd">SyndContent</A>
<DD>Creates a new SyndContent with the specified value or src, and type
 attribute.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndContent.html#SyndContent(java.lang.Object, java.lang.String)"><B>SyndContent(Object, String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndContent.html" title="class in org.apache.wink.common.model.synd">SyndContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndContent.html#SyndContent(org.apache.wink.common.model.synd.SyndContent)"><B>SyndContent(SyndContent)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndContent.html" title="class in org.apache.wink.common.model.synd">SyndContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd"><B>SyndEntry</B></A> - Class in <A HREF="./org/apache/wink/common/model/synd/package-summary.html">org.apache.wink.common.model.synd</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html#SyndEntry()"><B>SyndEntry()</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd">SyndEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html#SyndEntry(java.lang.String, java.lang.String)"><B>SyndEntry(String, String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd">SyndEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html#SyndEntry(org.apache.wink.common.model.synd.SyndText, java.lang.String)"><B>SyndEntry(SyndText, String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd">SyndEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html#SyndEntry(java.lang.String, java.lang.String, java.util.Date)"><B>SyndEntry(String, String, Date)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd">SyndEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html#SyndEntry(org.apache.wink.common.model.synd.SyndText, java.lang.String, java.util.Date)"><B>SyndEntry(SyndText, String, Date)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd">SyndEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndEntry.html#SyndEntry(org.apache.wink.common.model.synd.SyndEntry)"><B>SyndEntry(SyndEntry)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndEntry.html" title="class in org.apache.wink.common.model.synd">SyndEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd"><B>SyndFeed</B></A> - Class in <A HREF="./org/apache/wink/common/model/synd/package-summary.html">org.apache.wink.common.model.synd</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#SyndFeed()"><B>SyndFeed()</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#SyndFeed(java.lang.String, java.lang.String)"><B>SyndFeed(String, String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#SyndFeed(org.apache.wink.common.model.synd.SyndText, java.lang.String)"><B>SyndFeed(SyndText, String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#SyndFeed(java.lang.String, java.lang.String, java.util.Date)"><B>SyndFeed(String, String, Date)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#SyndFeed(org.apache.wink.common.model.synd.SyndText, java.lang.String, java.util.Date)"><B>SyndFeed(SyndText, String, Date)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndFeed.html#SyndFeed(org.apache.wink.common.model.synd.SyndFeed)"><B>SyndFeed(SyndFeed)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndFeed.html" title="class in org.apache.wink.common.model.synd">SyndFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html" title="class in org.apache.wink.common.model.synd"><B>SyndGenerator</B></A> - Class in <A HREF="./org/apache/wink/common/model/synd/package-summary.html">org.apache.wink.common.model.synd</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html#SyndGenerator()"><B>SyndGenerator()</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html" title="class in org.apache.wink.common.model.synd">SyndGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html#SyndGenerator(java.lang.String)"><B>SyndGenerator(String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html" title="class in org.apache.wink.common.model.synd">SyndGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html#SyndGenerator(java.lang.String, java.lang.String, java.lang.String)"><B>SyndGenerator(String, String, String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html" title="class in org.apache.wink.common.model.synd">SyndGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html#SyndGenerator(org.apache.wink.common.model.synd.SyndGenerator)"><B>SyndGenerator(SyndGenerator)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndGenerator.html" title="class in org.apache.wink.common.model.synd">SyndGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#syndicationRight"><B>syndicationRight</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd"><B>SyndLink</B></A> - Class in <A HREF="./org/apache/wink/common/model/synd/package-summary.html">org.apache.wink.common.model.synd</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#SyndLink()"><B>SyndLink()</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#SyndLink(java.lang.String, java.lang.String, java.lang.String)"><B>SyndLink(String, String, String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#SyndLink(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>SyndLink(String, String, String, String, String, String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndLink.html#SyndLink(org.apache.wink.common.model.synd.SyndLink)"><B>SyndLink(SyndLink)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndLink.html" title="class in org.apache.wink.common.model.synd">SyndLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndPerson.html" title="class in org.apache.wink.common.model.synd"><B>SyndPerson</B></A> - Class in <A HREF="./org/apache/wink/common/model/synd/package-summary.html">org.apache.wink.common.model.synd</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/synd/SyndPerson.html#SyndPerson()"><B>SyndPerson()</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndPerson.html" title="class in org.apache.wink.common.model.synd">SyndPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndPerson.html#SyndPerson(java.lang.String)"><B>SyndPerson(String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndPerson.html" title="class in org.apache.wink.common.model.synd">SyndPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndPerson.html#SyndPerson(java.lang.String, java.lang.String, java.lang.String)"><B>SyndPerson(String, String, String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndPerson.html" title="class in org.apache.wink.common.model.synd">SyndPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndPerson.html#SyndPerson(org.apache.wink.common.model.synd.SyndPerson)"><B>SyndPerson(SyndPerson)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndPerson.html" title="class in org.apache.wink.common.model.synd">SyndPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html" title="class in org.apache.wink.common.model.synd"><B>SyndSimpleContent</B></A> - Class in <A HREF="./org/apache/wink/common/model/synd/package-summary.html">org.apache.wink.common.model.synd</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html#SyndSimpleContent()"><B>SyndSimpleContent()</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html" title="class in org.apache.wink.common.model.synd">SyndSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html#SyndSimpleContent(java.lang.Object)"><B>SyndSimpleContent(Object)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html" title="class in org.apache.wink.common.model.synd">SyndSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html#SyndSimpleContent(java.lang.Object, java.lang.String)"><B>SyndSimpleContent(Object, String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html" title="class in org.apache.wink.common.model.synd">SyndSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html#SyndSimpleContent(org.apache.wink.common.model.synd.SyndSimpleContent)"><B>SyndSimpleContent(SyndSimpleContent)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html" title="class in org.apache.wink.common.model.synd">SyndSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndText.html" title="class in org.apache.wink.common.model.synd"><B>SyndText</B></A> - Class in <A HREF="./org/apache/wink/common/model/synd/package-summary.html">org.apache.wink.common.model.synd</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/synd/SyndText.html#SyndText()"><B>SyndText()</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndText.html" title="class in org.apache.wink.common.model.synd">SyndText</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndText.html#SyndText(java.lang.String)"><B>SyndText(String)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndText.html" title="class in org.apache.wink.common.model.synd">SyndText</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndText.html#SyndText(java.lang.String, org.apache.wink.common.model.synd.SyndTextType)"><B>SyndText(String, SyndTextType)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndText.html" title="class in org.apache.wink.common.model.synd">SyndText</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndText.html#SyndText(org.apache.wink.common.model.synd.SyndText)"><B>SyndText(SyndText)</B></A> - 
Constructor for class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndText.html" title="class in org.apache.wink.common.model.synd">SyndText</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndTextType.html" title="enum in org.apache.wink.common.model.synd"><B>SyndTextType</B></A> - Enum in <A HREF="./org/apache/wink/common/model/synd/package-summary.html">org.apache.wink.common.model.synd</A><DD>An enum for specifying the type of a Text construct<DT><A HREF="./org/apache/wink/common/WinkApplication.html#SYSTEM_PRIORITY"><B>SYSTEM_PRIORITY</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/WinkApplication.html" title="class in org.apache.wink.common">WinkApplication</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/SystemLinksBuilder.html" title="interface in org.apache.wink.server.utils"><B>SystemLinksBuilder</B></A> - Interface in <A HREF="./org/apache/wink/server/utils/package-summary.html">org.apache.wink.server.utils</A><DD>A builder for generating the system links of a resource.<DT><A HREF="./org/apache/wink/server/utils/SystemLinksBuilder.LinkType.html" title="enum in org.apache.wink.server.utils"><B>SystemLinksBuilder.LinkType</B></A> - Enum in <A HREF="./org/apache/wink/server/utils/package-summary.html">org.apache.wink.server.utils</A><DD>Types of system links</DL>
<HR>
<A NAME="_T_"><!-- --></A><H2>
<B>T</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#tags"><B>tags</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/BaseTest.html#tearDown()"><B>tearDown()</B></A> - 
Method in class org.apache.wink.client.<A HREF="./org/apache/wink/client/BaseTest.html" title="class in org.apache.wink.client">BaseTest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html#template"><B>template</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchUrl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#TEMPORARY_REDIRECT"><B>TEMPORARY_REDIRECT</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCategory.html#term"><B>term</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom">AtomCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/test/mock/TestUtils.html" title="class in org.apache.wink.test.mock"><B>TestUtils</B></A> - Class in <A HREF="./org/apache/wink/test/mock/package-summary.html">org.apache.wink.test.mock</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/test/mock/TestUtils.html#TestUtils()"><B>TestUtils()</B></A> - 
Constructor for class org.apache.wink.test.mock.<A HREF="./org/apache/wink/test/mock/TestUtils.html" title="class in org.apache.wink.test.mock">TestUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#textInput"><B>textInput</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Activelock.html#timeout"><B>timeout</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Activelock.html" title="class in org.apache.wink.webdav.model">Activelock</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVHeaders.html#TIMEOUT"><B>TIMEOUT</B></A> - 
Static variable in class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVHeaders.html" title="class in org.apache.wink.webdav">WebDAVHeaders</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppCollection.html#title"><B>title</B></A> - 
Variable in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCollection.html" title="class in org.apache.wink.common.model.app">AppCollection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppWorkspace.html#title"><B>title</B></A> - 
Variable in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppWorkspace.html" title="class in org.apache.wink.common.model.app">AppWorkspace</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#title"><B>title</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#title"><B>title</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#title"><B>title</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#title"><B>title</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#title"><B>title</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#title"><B>title</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssItem.html#title"><B>title</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssItem.html" title="class in org.apache.wink.common.model.rss">RssItem</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssTextInput.html#title"><B>title</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssTextInput.html" title="class in org.apache.wink.common.model.rss">RssTextInput</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppYesNo.html#toString()"><B>toString()</B></A> - 
Method in enum org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppYesNo.html" title="enum in org.apache.wink.common.model.app">AppYesNo</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.wink.server.handlers.<A HREF="./org/apache/wink/server/handlers/AbstractHandlersChain.html" title="class in org.apache.wink.server.handlers">AbstractHandlersChain</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCategory.html#toSynd(org.apache.wink.common.model.synd.SyndCategory)"><B>toSynd(SyndCategory)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCategory.html" title="class in org.apache.wink.common.model.atom">AtomCategory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html#toSynd(org.apache.wink.common.model.synd.SyndCommonAttributes)"><B>toSynd(SyndCommonAttributes)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributes.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributes</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html#toSynd(org.apache.wink.common.model.synd.SyndSimpleContent)"><B>toSynd(SyndSimpleContent)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributesSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html#toSynd(org.apache.wink.common.model.synd.SyndContent)"><B>toSynd(SyndContent)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom">AtomContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#toSynd(org.apache.wink.common.model.synd.SyndEntry)"><B>toSynd(SyndEntry)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#toSynd(org.apache.wink.common.model.synd.SyndFeed)"><B>toSynd(SyndFeed)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html#toSynd(org.apache.wink.common.model.synd.SyndGenerator)"><B>toSynd(SyndGenerator)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html" title="class in org.apache.wink.common.model.atom">AtomGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#toSynd(org.apache.wink.common.model.synd.SyndLink)"><B>toSynd(SyndLink)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html#toSynd(org.apache.wink.common.model.synd.SyndPerson)"><B>toSynd(SyndPerson)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom">AtomPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomText.html#toSynd(org.apache.wink.common.model.synd.SyndText)"><B>toSynd(SyndText)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom">AtomText</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#totalResults"><B>totalResults</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html#totalResults"><B>totalResults</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchQuery</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpMethodEx.html#TRACE"><B>TRACE</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpMethodEx.html" title="class in org.apache.wink.common.http">HttpMethodEx</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#ttl"><B>ttl</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomContent.html#type"><B>type</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomContent.html" title="class in org.apache.wink.common.model.atom">AtomContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomLink.html#type"><B>type</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomLink.html" title="class in org.apache.wink.common.model.atom">AtomLink</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomText.html#type"><B>type</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomText.html" title="class in org.apache.wink.common.model.atom">AtomText</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html#type"><B>type</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchImage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html#type"><B>type</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchUrl.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchUrl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html#type"><B>type</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html" title="class in org.apache.wink.common.model.rss">RssEnclosure</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html#type"><B>type</B></A> - 
Variable in class org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndSimpleContent.html" title="class in org.apache.wink.common.model.synd">SyndSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/server/utils/SingleLinkBuilder.html#type(javax.ws.rs.core.MediaType)"><B>type(MediaType)</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/SingleLinkBuilder.html" title="interface in org.apache.wink.server.utils">SingleLinkBuilder</A>
<DD>Set the type attribute of the link
<DT><A HREF="./org/apache/wink/server/utils/SystemLinksBuilder.html#types(org.apache.wink.server.utils.SystemLinksBuilder.LinkType...)"><B>types(SystemLinksBuilder.LinkType...)</B></A> - 
Method in interface org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/SystemLinksBuilder.html" title="interface in org.apache.wink.server.utils">SystemLinksBuilder</A>
<DD>Set the types of system links to generate.
</DL>
<HR>
<A NAME="_U_"><!-- --></A><H2>
<B>U</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#UNAUTHORIZED"><B>UNAUTHORIZED</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/app/AppCategories.html#unmarshal(java.io.Reader)"><B>unmarshal(Reader)</B></A> - 
Static method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppCategories.html" title="class in org.apache.wink.common.model.app">AppCategories</A>
<DD>Convenience method for creating an AppCategories from xml
<DT><A HREF="./org/apache/wink/common/model/app/AppService.html#unmarshal(java.io.Reader)"><B>unmarshal(Reader)</B></A> - 
Static method in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppService.html" title="class in org.apache.wink.common.model.app">AppService</A>
<DD>Convenience method for creating an AppService from xml
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#unmarshal(java.io.Reader)"><B>unmarshal(Reader)</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>Convenience method for creating an AtomEntry from xml
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#unmarshal(java.io.Reader)"><B>unmarshal(Reader)</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>Convenience method for creating an AtomFeed from xml
<DT><A HREF="./org/apache/wink/webdav/model/Multistatus.html#unmarshal(java.io.InputStream)"><B>unmarshal(InputStream)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Multistatus.html" title="class in org.apache.wink.webdav.model">Multistatus</A>
<DD>Unmarshal a Multistatus object from the provided input stream
<DT><A HREF="./org/apache/wink/webdav/model/Multistatus.html#unmarshal(java.io.Reader)"><B>unmarshal(Reader)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Multistatus.html" title="class in org.apache.wink.webdav.model">Multistatus</A>
<DD>Unmarshal a Multistatus object from the provided reader
<DT><A HREF="./org/apache/wink/webdav/model/Propertyupdate.html#unmarshal(java.io.InputStream)"><B>unmarshal(InputStream)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertyupdate.html" title="class in org.apache.wink.webdav.model">Propertyupdate</A>
<DD>Unmarshal a Propertyupdate object from the provided input stream
<DT><A HREF="./org/apache/wink/webdav/model/Propertyupdate.html#unmarshal(java.io.Reader)"><B>unmarshal(Reader)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propertyupdate.html" title="class in org.apache.wink.webdav.model">Propertyupdate</A>
<DD>Unmarshal a Propertyupdate object from the provided reader
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#unmarshal(java.io.InputStream)"><B>unmarshal(InputStream)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>Unmarshal a Propfind object from the provided input stream
<DT><A HREF="./org/apache/wink/webdav/model/Propfind.html#unmarshal(java.io.Reader)"><B>unmarshal(Reader)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Propfind.html" title="class in org.apache.wink.webdav.model">Propfind</A>
<DD>Unmarshal a Propfind object from the provided reader
<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#unmarshal(javax.xml.bind.Unmarshaller, java.io.Reader, java.lang.Class, java.lang.String)"><B>unmarshal(Unmarshaller, Reader, Class&lt;T&gt;, String)</B></A> - 
Static method in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#UNPROCESSABLE_ENTITY"><B>UNPROCESSABLE_ENTITY</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#UNSUPPORTED_MEDIA_TYPE"><B>UNSUPPORTED_MEDIA_TYPE</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomEntry.html#updated"><B>updated</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomEntry.html" title="class in org.apache.wink.common.model.atom">AtomEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomFeed.html#updated"><B>updated</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomFeed.html" title="class in org.apache.wink.common.model.atom">AtomFeed</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/client/Resource.html#uri(java.net.URI)"><B>uri(URI)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Set the uri of this resource and create a new UriBuilder
<DT><A HREF="./org/apache/wink/client/Resource.html#uri(java.lang.String)"><B>uri(String)</B></A> - 
Method in interface org.apache.wink.client.<A HREF="./org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client">Resource</A>
<DD>Set the uri of this resource and create a new UriBuilder
<DT><A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html#uri"><B>uri</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html" title="class in org.apache.wink.common.model.atom">AtomGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomPerson.html#uri"><B>uri</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomPerson.html" title="class in org.apache.wink.common.model.atom">AtomPerson</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html#url"><B>url</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchDescription.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchDescription</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html#url"><B>url</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssEnclosure.html" title="class in org.apache.wink.common.model.rss">RssEnclosure</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#url"><B>url</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssSource.html#url"><B>url</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssSource.html" title="class in org.apache.wink.common.model.rss">RssSource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#USE_PROXY"><B>USE_PROXY</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_V_"><!-- --></A><H2>
<B>V</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/model/app/AppYesNo.html#value()"><B>value()</B></A> - 
Method in enum org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppYesNo.html" title="enum in org.apache.wink.common.model.app">AppYesNo</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html#value"><B>value</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomCommonAttributesSimpleContent.html" title="class in org.apache.wink.common.model.atom">AtomCommonAttributesSimpleContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html#value"><B>value</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchImage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/annotations/Scope.ScopeType.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
Static method in enum org.apache.wink.common.annotations.<A HREF="./org/apache/wink/common/annotations/Scope.ScopeType.html" title="enum in org.apache.wink.common.annotations">Scope.ScopeType</A>
<DD>Returns the enum constant of this type with the specified name.
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#valueOf(int)"><B>valueOf(int)</B></A> - 
Static method in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>Gets HttpStatus for given status code.
<DT><A HREF="./org/apache/wink/common/model/app/AppYesNo.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
Static method in enum org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppYesNo.html" title="enum in org.apache.wink.common.model.app">AppYesNo</A>
<DD>Returns the enum constant of this type with the specified name.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomTextType.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
Static method in enum org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomTextType.html" title="enum in org.apache.wink.common.model.atom">AtomTextType</A>
<DD>Returns the enum constant of this type with the specified name.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
Static method in enum org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A>
<DD>Returns the enum constant of this type with the specified name.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.QueryRole.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
Static method in enum org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.QueryRole.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchQuery.QueryRole</A>
<DD>Returns the enum constant of this type with the specified name.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndTextType.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
Static method in enum org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndTextType.html" title="enum in org.apache.wink.common.model.synd">SyndTextType</A>
<DD>Returns the enum constant of this type with the specified name.
<DT><A HREF="./org/apache/wink/server/utils/SystemLinksBuilder.LinkType.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
Static method in enum org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/SystemLinksBuilder.LinkType.html" title="enum in org.apache.wink.server.utils">SystemLinksBuilder.LinkType</A>
<DD>Returns the enum constant of this type with the specified name.
<DT><A HREF="./org/apache/wink/webdav/WebDAVMethod.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
Static method in enum org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVMethod.html" title="enum in org.apache.wink.webdav">WebDAVMethod</A>
<DD>Returns the enum constant of this type with the specified name.
<DT><A HREF="./org/apache/wink/common/http/HttpStatus.html#valueOfStatusLine(java.lang.String)"><B>valueOfStatusLine(String)</B></A> - 
Static method in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpStatus.html" title="class in org.apache.wink.common.http">HttpStatus</A>
<DD>Gets HttpStatus for given status line.
<DT><A HREF="./org/apache/wink/common/annotations/Scope.ScopeType.html#values()"><B>values()</B></A> - 
Static method in enum org.apache.wink.common.annotations.<A HREF="./org/apache/wink/common/annotations/Scope.ScopeType.html" title="enum in org.apache.wink.common.annotations">Scope.ScopeType</A>
<DD>Returns an array containing the constants of this enum type, in
the order they are declared.
<DT><A HREF="./org/apache/wink/common/model/app/AppYesNo.html#values()"><B>values()</B></A> - 
Static method in enum org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppYesNo.html" title="enum in org.apache.wink.common.model.app">AppYesNo</A>
<DD>Returns an array containing the constants of this enum type, in
the order they are declared.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomTextType.html#values()"><B>values()</B></A> - 
Static method in enum org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomTextType.html" title="enum in org.apache.wink.common.model.atom">AtomTextType</A>
<DD>Returns an array containing the constants of this enum type, in
the order they are declared.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html#values()"><B>values()</B></A> - 
Static method in enum org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchParameter.OpenSearchParams.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchParameter.OpenSearchParams</A>
<DD>Returns an array containing the constants of this enum type, in
the order they are declared.
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.QueryRole.html#values()"><B>values()</B></A> - 
Static method in enum org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchQuery.QueryRole.html" title="enum in org.apache.wink.common.model.opensearch">OpenSearchQuery.QueryRole</A>
<DD>Returns an array containing the constants of this enum type, in
the order they are declared.
<DT><A HREF="./org/apache/wink/common/model/synd/SyndTextType.html#values()"><B>values()</B></A> - 
Static method in enum org.apache.wink.common.model.synd.<A HREF="./org/apache/wink/common/model/synd/SyndTextType.html" title="enum in org.apache.wink.common.model.synd">SyndTextType</A>
<DD>Returns an array containing the constants of this enum type, in
the order they are declared.
<DT><A HREF="./org/apache/wink/server/utils/SystemLinksBuilder.LinkType.html#values()"><B>values()</B></A> - 
Static method in enum org.apache.wink.server.utils.<A HREF="./org/apache/wink/server/utils/SystemLinksBuilder.LinkType.html" title="enum in org.apache.wink.server.utils">SystemLinksBuilder.LinkType</A>
<DD>Returns an array containing the constants of this enum type, in
the order they are declared.
<DT><A HREF="./org/apache/wink/webdav/WebDAVMethod.html#values()"><B>values()</B></A> - 
Static method in enum org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVMethod.html" title="enum in org.apache.wink.webdav">WebDAVMethod</A>
<DD>Returns an array containing the constants of this enum type, in
the order they are declared.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html#version"><B>version</B></A> - 
Variable in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomGenerator.html" title="class in org.apache.wink.common.model.atom">AtomGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssFeed.html#version"><B>version</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssFeed.html" title="class in org.apache.wink.common.model.rss">RssFeed</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_W_"><!-- --></A><H2>
<B>W</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/webdav/WebDAVConstants.html" title="class in org.apache.wink.webdav"><B>WebDAVConstants</B></A> - Class in <A HREF="./org/apache/wink/webdav/package-summary.html">org.apache.wink.webdav</A><DD>WebDAV properties.<DT><A HREF="./org/apache/wink/webdav/WebDAVHeaders.html" title="class in org.apache.wink.webdav"><B>WebDAVHeaders</B></A> - Class in <A HREF="./org/apache/wink/webdav/package-summary.html">org.apache.wink.webdav</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/webdav/WebDAVHeaders.html#WebDAVHeaders()"><B>WebDAVHeaders()</B></A> - 
Constructor for class org.apache.wink.webdav.<A HREF="./org/apache/wink/webdav/WebDAVHeaders.html" title="class in org.apache.wink.webdav">WebDAVHeaders</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVLockableResource.html" title="class in org.apache.wink.webdav.server"><B>WebDAVLockableResource</B></A> - Class in <A HREF="./org/apache/wink/webdav/server/package-summary.html">org.apache.wink.webdav.server</A><DD>Base resource for WebDAV-enabled Lockable resources.<DT><A HREF="./org/apache/wink/webdav/server/WebDAVLockableResource.html#WebDAVLockableResource()"><B>WebDAVLockableResource()</B></A> - 
Constructor for class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVLockableResource.html" title="class in org.apache.wink.webdav.server">WebDAVLockableResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/WebDAVMethod.html" title="enum in org.apache.wink.webdav"><B>WebDAVMethod</B></A> - Enum in <A HREF="./org/apache/wink/webdav/package-summary.html">org.apache.wink.webdav</A><DD>WebDAV HTTP methods.<DT><A HREF="./org/apache/wink/webdav/WebDAVMethod.COPY.html" title="annotation in org.apache.wink.webdav"><B>WebDAVMethod.COPY</B></A> - Annotation Type in <A HREF="./org/apache/wink/webdav/package-summary.html">org.apache.wink.webdav</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/webdav/WebDAVMethod.LOCK.html" title="annotation in org.apache.wink.webdav"><B>WebDAVMethod.LOCK</B></A> - Annotation Type in <A HREF="./org/apache/wink/webdav/package-summary.html">org.apache.wink.webdav</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/webdav/WebDAVMethod.MKCOL.html" title="annotation in org.apache.wink.webdav"><B>WebDAVMethod.MKCOL</B></A> - Annotation Type in <A HREF="./org/apache/wink/webdav/package-summary.html">org.apache.wink.webdav</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/webdav/WebDAVMethod.MOVE.html" title="annotation in org.apache.wink.webdav"><B>WebDAVMethod.MOVE</B></A> - Annotation Type in <A HREF="./org/apache/wink/webdav/package-summary.html">org.apache.wink.webdav</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/webdav/WebDAVMethod.PROPFIND.html" title="annotation in org.apache.wink.webdav"><B>WebDAVMethod.PROPFIND</B></A> - Annotation Type in <A HREF="./org/apache/wink/webdav/package-summary.html">org.apache.wink.webdav</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/webdav/WebDAVMethod.PROPPATCH.html" title="annotation in org.apache.wink.webdav"><B>WebDAVMethod.PROPPATCH</B></A> - Annotation Type in <A HREF="./org/apache/wink/webdav/package-summary.html">org.apache.wink.webdav</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/webdav/WebDAVMethod.UNLOCK.html" title="annotation in org.apache.wink.webdav"><B>WebDAVMethod.UNLOCK</B></A> - Annotation Type in <A HREF="./org/apache/wink/webdav/package-summary.html">org.apache.wink.webdav</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model"><B>WebDAVModelHelper</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html#WebDAVModelHelper()"><B>WebDAVModelHelper()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/WebDAVModelHelper.html" title="class in org.apache.wink.webdav.model">WebDAVModelHelper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResource.html" title="class in org.apache.wink.webdav.server"><B>WebDAVResource</B></A> - Class in <A HREF="./org/apache/wink/webdav/server/package-summary.html">org.apache.wink.webdav.server</A><DD>Base Resource for WebDAV-enabled resources.<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResource.html#WebDAVResource()"><B>WebDAVResource()</B></A> - 
Constructor for class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResource.html" title="class in org.apache.wink.webdav.server">WebDAVResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.html" title="class in org.apache.wink.webdav.server"><B>WebDAVResponseBuilder</B></A> - Class in <A HREF="./org/apache/wink/webdav/server/package-summary.html">org.apache.wink.webdav.server</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html" title="class in org.apache.wink.webdav.server"><B>WebDAVResponseBuilder.CollectionPropertyHandler</B></A> - Class in <A HREF="./org/apache/wink/webdav/server/package-summary.html">org.apache.wink.webdav.server</A><DD>Extends the <A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.PropertyHandler.html" title="class in org.apache.wink.webdav.server"><CODE>WebDAVResponseBuilder.PropertyHandler</CODE></A> to provide additional data for the
 creation of multistatus responses for collections (feeds).<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html#WebDAVResponseBuilder.CollectionPropertyHandler()"><B>WebDAVResponseBuilder.CollectionPropertyHandler()</B></A> - 
Constructor for class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder.CollectionPropertyHandler</A>
<DD>Constructs a CollectionPropertyProvider that is also the property
 handler for the entries
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html#WebDAVResponseBuilder.CollectionPropertyHandler(org.apache.wink.webdav.server.WebDAVResponseBuilder.PropertyHandler)"><B>WebDAVResponseBuilder.CollectionPropertyHandler(WebDAVResponseBuilder.PropertyHandler)</B></A> - 
Constructor for class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.CollectionPropertyHandler.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder.CollectionPropertyHandler</A>
<DD>Constructor accepting another <A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.PropertyHandler.html" title="class in org.apache.wink.webdav.server"><CODE>WebDAVResponseBuilder.PropertyHandler</CODE></A> to provide
 properties for the entries in the collection.
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.PropertyHandler.html" title="class in org.apache.wink.webdav.server"><B>WebDAVResponseBuilder.PropertyHandler</B></A> - Class in <A HREF="./org/apache/wink/webdav/server/package-summary.html">org.apache.wink.webdav.server</A><DD>Used during the creation of a WebDAV multistatus response to get the
 properties and their values.<DT><A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.PropertyHandler.html#WebDAVResponseBuilder.PropertyHandler()"><B>WebDAVResponseBuilder.PropertyHandler()</B></A> - 
Constructor for class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVResponseBuilder.PropertyHandler.html" title="class in org.apache.wink.webdav.server">WebDAVResponseBuilder.PropertyHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVRootResource.html" title="class in org.apache.wink.webdav.server"><B>WebDAVRootResource</B></A> - Class in <A HREF="./org/apache/wink/webdav/server/package-summary.html">org.apache.wink.webdav.server</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/webdav/server/WebDAVRootResource.html#WebDAVRootResource()"><B>WebDAVRootResource()</B></A> - 
Constructor for class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVRootResource.html" title="class in org.apache.wink.webdav.server">WebDAVRootResource</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/server/WebDAVUtils.html" title="class in org.apache.wink.webdav.server"><B>WebDAVUtils</B></A> - Class in <A HREF="./org/apache/wink/webdav/server/package-summary.html">org.apache.wink.webdav.server</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/webdav/server/WebDAVUtils.html#WebDAVUtils()"><B>WebDAVUtils()</B></A> - 
Constructor for class org.apache.wink.webdav.server.<A HREF="./org/apache/wink/webdav/server/WebDAVUtils.html" title="class in org.apache.wink.webdav.server">WebDAVUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssChannel.html#webMaster"><B>webMaster</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssChannel.html" title="class in org.apache.wink.common.model.rss">RssChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html#width"><B>width</B></A> - 
Variable in class org.apache.wink.common.model.opensearch.<A HREF="./org/apache/wink/common/model/opensearch/OpenSearchImage.html" title="class in org.apache.wink.common.model.opensearch">OpenSearchImage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/rss/RssImage.html#width"><B>width</B></A> - 
Variable in class org.apache.wink.common.model.rss.<A HREF="./org/apache/wink/common/model/rss/RssImage.html" title="class in org.apache.wink.common.model.rss">RssImage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/WinkApplication.html" title="class in org.apache.wink.common"><B>WinkApplication</B></A> - Class in <A HREF="./org/apache/wink/common/package-summary.html">org.apache.wink.common</A><DD>Enhances javax.ws.rs.core.Application with <tt>getPriority</tt> and
 <tt>getInstances</tt> methods.<DT><A HREF="./org/apache/wink/common/WinkApplication.html#WinkApplication()"><B>WinkApplication()</B></A> - 
Constructor for class org.apache.wink.common.<A HREF="./org/apache/wink/common/WinkApplication.html" title="class in org.apache.wink.common">WinkApplication</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/annotations/Workspace.html" title="annotation in org.apache.wink.common.annotations"><B>Workspace</B></A> - Annotation Type in <A HREF="./org/apache/wink/common/annotations/package-summary.html">org.apache.wink.common.annotations</A><DD>Allows automatic contruction of APP service document.<DT><A HREF="./org/apache/wink/common/model/app/AppService.html#workspace"><B>workspace</B></A> - 
Variable in class org.apache.wink.common.model.app.<A HREF="./org/apache/wink/common/model/app/AppService.html" title="class in org.apache.wink.common.model.app">AppService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html#write(java.io.OutputStream, javax.ws.rs.ext.Providers)"><B>write(OutputStream, Providers)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutMultiPart.html" title="class in org.apache.wink.common.model.multipart">OutMultiPart</A>
<DD>This method write the multiPart message to the os stream, it make a usage
 of the providers for the serialization of the parts
<DT><A HREF="./org/apache/wink/webdav/model/Locktype.html#write"><B>write</B></A> - 
Variable in class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Locktype.html" title="class in org.apache.wink.webdav.model">Locktype</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/webdav/model/Write.html" title="class in org.apache.wink.webdav.model"><B>Write</B></A> - Class in <A HREF="./org/apache/wink/webdav/model/package-summary.html">org.apache.wink.webdav.model</A><DD>The <code>write</code> XML element per the WebDAV specification [RFC 4918]<DT><A HREF="./org/apache/wink/webdav/model/Write.html#Write()"><B>Write()</B></A> - 
Constructor for class org.apache.wink.webdav.model.<A HREF="./org/apache/wink/webdav/model/Write.html" title="class in org.apache.wink.webdav.model">Write</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/multipart/OutPart.html#writeBody(java.io.OutputStream, javax.ws.rs.ext.Providers)"><B>writeBody(OutputStream, Providers)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutPart.html" title="class in org.apache.wink.common.model.multipart">OutPart</A>
<DD>write the part body to the os stream, the providers might be used to
 serialize the body
<DT><A HREF="./org/apache/wink/common/model/multipart/OutPart.html#writePart(java.io.OutputStream, javax.ws.rs.ext.Providers)"><B>writePart(OutputStream, Providers)</B></A> - 
Method in class org.apache.wink.common.model.multipart.<A HREF="./org/apache/wink/common/model/multipart/OutPart.html" title="class in org.apache.wink.common.model.multipart">OutPart</A>
<DD>write the entire part to the os stream, the providers might be used to serialize the body
<DT><A HREF="./org/apache/wink/providers/abdera/AbderaAtomEntryProvider.html#writeTo(org.apache.abdera.model.Entry, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.OutputStream)"><B>writeTo(Entry, Class&lt;?&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, Object&gt;, OutputStream)</B></A> - 
Method in class org.apache.wink.providers.abdera.<A HREF="./org/apache/wink/providers/abdera/AbderaAtomEntryProvider.html" title="class in org.apache.wink.providers.abdera">AbderaAtomEntryProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/abdera/AbderaAtomFeedProvider.html#writeTo(org.apache.abdera.model.Feed, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.OutputStream)"><B>writeTo(Feed, Class&lt;?&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, Object&gt;, OutputStream)</B></A> - 
Method in class org.apache.wink.providers.abdera.<A HREF="./org/apache/wink/providers/abdera/AbderaAtomFeedProvider.html" title="class in org.apache.wink.providers.abdera">AbderaAtomFeedProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html#writeTo(javax.xml.bind.JAXBElement, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.OutputStream)"><B>writeTo(JAXBElement&lt;?&gt;, Class&lt;?&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, Object&gt;, OutputStream)</B></A> - 
Method in class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBElementProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBElementProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html#writeTo(java.lang.Object, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.OutputStream)"><B>writeTo(Object, Class&lt;?&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, Object&gt;, OutputStream)</B></A> - 
Method in class org.apache.wink.providers.jettison.<A HREF="./org/apache/wink/providers/jettison/JettisonJAXBProvider.html" title="class in org.apache.wink.providers.jettison">JettisonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonArrayProvider.html#writeTo(org.json.JSONArray, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.OutputStream)"><B>writeTo(JSONArray, Class&lt;?&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, Object&gt;, OutputStream)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonArrayProvider.html" title="class in org.apache.wink.providers.json">JsonArrayProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonJAXBProvider.html#writeTo(java.lang.Object, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.OutputStream)"><B>writeTo(Object, Class&lt;?&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, Object&gt;, OutputStream)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonJAXBProvider.html" title="class in org.apache.wink.providers.json">JsonJAXBProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/providers/json/JsonProvider.html#writeTo(org.json.JSONObject, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.OutputStream)"><B>writeTo(JSONObject, Class&lt;?&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, Object&gt;, OutputStream)</B></A> - 
Method in class org.apache.wink.providers.json.<A HREF="./org/apache/wink/providers/json/JsonProvider.html" title="class in org.apache.wink.providers.json">JsonProvider</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#writeToStream(java.lang.String, java.io.OutputStream, javax.ws.rs.core.MediaType)"><B>writeToStream(String, OutputStream, MediaType)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#writeToString(javax.ws.rs.ext.Providers, java.lang.Object, javax.ws.rs.core.MediaType)"><B>writeToString(Providers, Object, MediaType)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#writeToString(javax.ws.rs.ext.Providers, java.lang.Object, java.lang.Class, javax.ws.rs.core.MediaType)"><B>writeToString(Providers, Object, Class&lt;?&gt;, MediaType)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#writeToString(javax.ws.rs.ext.Providers, java.lang.Object, java.lang.Class, java.lang.reflect.Type, javax.ws.rs.core.MediaType)"><B>writeToString(Providers, Object, Class&lt;?&gt;, Type, MediaType)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/utils/ProviderUtils.html#writeToString(javax.ws.rs.ext.Providers, java.lang.Object, java.lang.Class, java.lang.reflect.Type, javax.ws.rs.core.MultivaluedMap, javax.ws.rs.core.MediaType)"><B>writeToString(Providers, Object, Class&lt;?&gt;, Type, MultivaluedMap&lt;String, Object&gt;, MediaType)</B></A> - 
Static method in class org.apache.wink.common.utils.<A HREF="./org/apache/wink/common/utils/ProviderUtils.html" title="class in org.apache.wink.common.utils">ProviderUtils</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_X_"><!-- --></A><H2>
<B>X</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/http/HttpHeadersEx.html#X_HTTP_METHOD_OVERRIDE"><B>X_HTTP_METHOD_OVERRIDE</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpHeadersEx.html" title="class in org.apache.wink.common.http">HttpHeadersEx</A>
<DD>Non RFC 2616 - Google Doc convention
<DT><A HREF="./org/apache/wink/common/http/HttpHeadersEx.html#X_METHOD_OVERRIDE"><B>X_METHOD_OVERRIDE</B></A> - 
Static variable in class org.apache.wink.common.http.<A HREF="./org/apache/wink/common/http/HttpHeadersEx.html" title="class in org.apache.wink.common.http">HttpHeadersEx</A>
<DD>Non RFC 2616 - Some client implementing Google Doc
<DT><A HREF="./org/apache/wink/common/RestConstants.html#XHTML_PREFIX"><B>XHTML_PREFIX</B></A> - 
Static variable in class org.apache.wink.common.<A HREF="./org/apache/wink/common/RestConstants.html" title="class in org.apache.wink.common">RestConstants</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/XmlFormattingOptions.html" title="class in org.apache.wink.common.model"><B>XmlFormattingOptions</B></A> - Class in <A HREF="./org/apache/wink/common/model/package-summary.html">org.apache.wink.common.model</A><DD>Holds the following XML Formatting Options:
 
 omitXmlDeclaration - indicates if xml declaration should be omitted.<DT><A HREF="./org/apache/wink/common/model/XmlFormattingOptions.html#XmlFormattingOptions()"><B>XmlFormattingOptions()</B></A> - 
Constructor for class org.apache.wink.common.model.<A HREF="./org/apache/wink/common/model/XmlFormattingOptions.html" title="class in org.apache.wink.common.model">XmlFormattingOptions</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/XmlFormattingOptions.html#XmlFormattingOptions(boolean, boolean)"><B>XmlFormattingOptions(boolean, boolean)</B></A> - 
Constructor for class org.apache.wink.common.model.<A HREF="./org/apache/wink/common/model/XmlFormattingOptions.html" title="class in org.apache.wink.common.model">XmlFormattingOptions</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/XmlFormattingOptions.html#XmlFormattingOptions(java.util.Map)"><B>XmlFormattingOptions(Map&lt;String, Object&gt;)</B></A> - 
Constructor for class org.apache.wink.common.model.<A HREF="./org/apache/wink/common/model/XmlFormattingOptions.html" title="class in org.apache.wink.common.model">XmlFormattingOptions</A>
<DD>&nbsp;
</DL>
<HR>
<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_K_">K</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_Q_">Q</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF="#_X_">X</A> 

<!-- ======= 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">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./serialized-form.html"><FONT CLASS="NavBarFont1"><B>Serialized</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="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&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;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-all.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>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2009 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
