<!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.5.0_14) on Sun Aug 16 11:45:39 IDT 2009 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
Index (Apache Wink 0.1-incubating API)
</TITLE>


<LINK REL ="stylesheet" TYPE="text/css" HREF="./stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="Index (Apache Wink 0.1-incubating API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= 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="./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/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/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/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/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/model/atom/AtomJAXBUtils.AtomMarshallingListener.html#afterMarshal(java.lang.Object)"><B>afterMarshal(Object)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomMarshallingListener</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.html#afterUnmarshal(java.lang.Object, java.lang.Object)"><B>afterUnmarshal(Object, Object)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener</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/AtomContent.html#any"><B>any</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/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/atom/AtomText.html#any"><B>any</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/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/AtomJAXBUtils.html" title="class in org.apache.wink.common.model.atom"><B>AtomJAXBUtils</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html#AtomJAXBUtils()"><B>AtomJAXBUtils()</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.html" title="class in org.apache.wink.common.model.atom"><B>AtomJAXBUtils.AtomMarshallingListener</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.html#AtomJAXBUtils.AtomMarshallingListener(org.apache.wink.common.model.atom.AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler)"><B>AtomJAXBUtils.AtomMarshallingListener(AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomMarshallingListener</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html" title="class in org.apache.wink.common.model.atom"><B>AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>AtomMarshallerHandler is a SAX ContentHandler which extends
 XMLSerliazer to create an XML output from SAX events.<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html#AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler(java.util.Map, javax.xml.bind.Marshaller)"><B>AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler(Map&lt;String, String&gt;, Marshaller)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.html" title="class in org.apache.wink.common.model.atom"><B>AtomJAXBUtils.AtomUnmarshallingListener</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.html#AtomJAXBUtils.AtomUnmarshallingListener(org.apache.wink.common.model.atom.AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler)"><B>AtomJAXBUtils.AtomUnmarshallingListener(AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom"><B>AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</B></A> - Class in <A HREF="./org/apache/wink/common/model/atom/package-summary.html">org.apache.wink.common.model.atom</A><DD>This handler is used to receive all SAX events during the parsing of
 an incoming Atom feed or entry.<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler(javax.xml.bind.UnmarshallerHandler)"><B>AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler(UnmarshallerHandler)</B></A> - 
Constructor for class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</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;
</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/atom/AtomJAXBUtils.AtomMarshallingListener.html#beforeMarshal(java.lang.Object)"><B>beforeMarshal(Object)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomMarshallingListener</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.html#beforeUnmarshal(java.lang.Object, java.lang.Object)"><B>beforeUnmarshal(Object, Object)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener</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/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/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#characters(char[], int, int)"><B>characters(char[], int, int)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</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/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/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#comment(char[], int, int)"><B>comment(char[], int, int)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</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/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/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/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/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/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/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/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/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/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#endCDATA()"><B>endCDATA()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#endDocument()"><B>endDocument()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#endDTD()"><B>endDTD()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#endElement(java.lang.String, java.lang.String, java.lang.String)"><B>endElement(String, String, String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#endEntity(java.lang.String)"><B>endEntity(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#endPrefixMapping(java.lang.String)"><B>endPrefixMapping(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#endSpecialContent()"><B>endSpecialContent()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</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/json/JSONUtils.html#equals(org.json.JSONObject, org.json.JSONObject)"><B>equals(JSONObject, JSONObject)</B></A> - 
Static method in class org.apache.wink.common.model.json.<A HREF="./org/apache/wink/common/model/json/JSONUtils.html" title="class in org.apache.wink.common.model.json">JSONUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/json/JSONUtils.html#equals(org.json.JSONArray, org.json.JSONArray)"><B>equals(JSONArray, JSONArray)</B></A> - 
Static method in class org.apache.wink.common.model.json.<A HREF="./org/apache/wink/common/model/json/JSONUtils.html" title="class in org.apache.wink.common.model.json">JSONUtils</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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/JAXBNamespacePrefixMapper.html#getDefaultNameSpace()"><B>getDefaultNameSpace()</B></A> - 
Method in class org.apache.wink.common.model.<A HREF="./org/apache/wink/common/model/JAXBNamespacePrefixMapper.html" title="class in org.apache.wink.common.model">JAXBNamespacePrefixMapper</A>
<DD>&nbsp;
<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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/common/model/app/AppCategories.html#getNamespacePrefixMapper()"><B>getNamespacePrefixMapper()</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/app/AppService.html#getNamespacePrefixMapper()"><B>getNamespacePrefixMapper()</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/model/atom/AtomEntry.html#getNamespacePrefixMapper()"><B>getNamespacePrefixMapper()</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#getNamespacePrefixMapper()"><B>getNamespacePrefixMapper()</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/opensearch/OpenSearchDescription.html#getNamespacePrefixMapper()"><B>getNamespacePrefixMapper()</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>&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/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/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/JAXBNamespacePrefixMapper.html#getPreferredPrefix(java.lang.String, java.lang.String, boolean)"><B>getPreferredPrefix(String, String, boolean)</B></A> - 
Method in class org.apache.wink.common.model.<A HREF="./org/apache/wink/common/model/JAXBNamespacePrefixMapper.html" title="class in org.apache.wink.common.model">JAXBNamespacePrefixMapper</A>
<DD>&nbsp;
<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/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/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/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/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/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/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/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/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/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#getResult()"><B>getResult()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</A>
<DD>&nbsp;
<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/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/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/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/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/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/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/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/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/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>&nbsp;
<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/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/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/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/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;
</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/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/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/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/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#ignorableWhitespace(char[], int, int)"><B>ignorableWhitespace(char[], int, int)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</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/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/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/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/XmlFormattingOptions.html#isIndenting()"><B>isIndenting()</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/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/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/model/JAXBNamespacePrefixMapper.html#isNamespaceOmitted(java.lang.String)"><B>isNamespaceOmitted(String)</B></A> - 
Method in class org.apache.wink.common.model.<A HREF="./org/apache/wink/common/model/JAXBNamespacePrefixMapper.html" title="class in org.apache.wink.common.model">JAXBNamespacePrefixMapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/XmlFormattingOptions.html#isOmitXmlDeclaration()"><B>isOmitXmlDeclaration()</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/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/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/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/common/model/atom/AtomJAXBUtils.html#isTypeXml(java.lang.String)"><B>isTypeXml(String)</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html#isValueActuallyXml(java.lang.Object)"><B>isValueActuallyXml(Object)</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html#isXmlContent()"><B>isXmlContent()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler</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/common/model/JAXBNamespacePrefixMapper.html" title="class in org.apache.wink.common.model"><B>JAXBNamespacePrefixMapper</B></A> - Class in <A HREF="./org/apache/wink/common/model/package-summary.html">org.apache.wink.common.model</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/JAXBNamespacePrefixMapper.html#JAXBNamespacePrefixMapper()"><B>JAXBNamespacePrefixMapper()</B></A> - 
Constructor for class org.apache.wink.common.model.<A HREF="./org/apache/wink/common/model/JAXBNamespacePrefixMapper.html" title="class in org.apache.wink.common.model">JAXBNamespacePrefixMapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/JAXBNamespacePrefixMapper.html#JAXBNamespacePrefixMapper(java.lang.String)"><B>JAXBNamespacePrefixMapper(String)</B></A> - 
Constructor for class org.apache.wink.common.model.<A HREF="./org/apache/wink/common/model/JAXBNamespacePrefixMapper.html" title="class in org.apache.wink.common.model">JAXBNamespacePrefixMapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/JAXBNamespacePrefixMapper.html#JAXBNamespacePrefixMapper(java.lang.String, java.util.Map)"><B>JAXBNamespacePrefixMapper(String, Map&lt;String, String&gt;)</B></A> - 
Constructor for class org.apache.wink.common.model.<A HREF="./org/apache/wink/common/model/JAXBNamespacePrefixMapper.html" title="class in org.apache.wink.common.model">JAXBNamespacePrefixMapper</A>
<DD>construct a namespace-to-prefix mapper with the specified default
 namespace, and with the given additional namespace-to-prefix mappings
<DT><A HREF="./org/apache/wink/common/model/json/JSONUtils.html" title="class in org.apache.wink.common.model.json"><B>JSONUtils</B></A> - Class in <A HREF="./org/apache/wink/common/model/json/package-summary.html">org.apache.wink.common.model.json</A><DD>&nbsp;<DT><A HREF="./org/apache/wink/common/model/json/JSONUtils.html#JSONUtils()"><B>JSONUtils()</B></A> - 
Constructor for class org.apache.wink.common.model.json.<A HREF="./org/apache/wink/common/model/json/JSONUtils.html" title="class in org.apache.wink.common.model.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/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/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/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/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/common/model/atom/AtomJAXBUtils.html#marshal(javax.xml.bind.Marshaller, java.lang.Object, java.io.OutputStream)"><B>marshal(Marshaller, Object, OutputStream)</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html#marshal(javax.xml.bind.Marshaller, java.lang.Object, java.util.Map, java.io.OutputStream)"><B>marshal(Marshaller, Object, Map&lt;String, String&gt;, OutputStream)</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html#marshal(javax.xml.bind.Marshaller, java.lang.Object, java.util.Map, org.apache.wink.common.model.JAXBNamespacePrefixMapper, java.io.OutputStream)"><B>marshal(Marshaller, Object, Map&lt;String, String&gt;, JAXBNamespacePrefixMapper, OutputStream)</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils</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/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/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/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/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/common/model/json/JSONUtils.html#objectForString(java.lang.String)"><B>objectForString(String)</B></A> - 
Static method in class org.apache.wink.common.model.json.<A HREF="./org/apache/wink/common/model/json/JSONUtils.html" title="class in org.apache.wink.common.model.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/model/JAXBNamespacePrefixMapper.html#omitNamespace(java.lang.String)"><B>omitNamespace(String)</B></A> - 
Method in class org.apache.wink.common.model.<A HREF="./org/apache/wink/common/model/JAXBNamespacePrefixMapper.html" title="class in org.apache.wink.common.model">JAXBNamespacePrefixMapper</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/json/package-summary.html"><B>org.apache.wink.common.model.json</B></A> - package org.apache.wink.common.model.json<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/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/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/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/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/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html#popXmlContent()"><B>popXmlContent()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler</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/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#processingInstruction(java.lang.String, java.lang.String)"><B>processingInstruction(String, String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</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/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/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/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html#pushXmlContent(java.lang.String)"><B>pushXmlContent(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler</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/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/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/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/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/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;
</DL>
<HR>
<A NAME="_S_"><!-- --></A><H2>
<B>S</B></H2>
<DL>
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html#saxParse(java.io.Reader, org.xml.sax.ContentHandler, java.lang.String)"><B>saxParse(Reader, ContentHandler, String)</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils</A>
<DD>&nbsp;
<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/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/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/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/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/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/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/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/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/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/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/common/model/JAXBNamespacePrefixMapper.html#setDefaultNameSpace(java.lang.String)"><B>setDefaultNameSpace(String)</B></A> - 
Method in class org.apache.wink.common.model.<A HREF="./org/apache/wink/common/model/JAXBNamespacePrefixMapper.html" title="class in org.apache.wink.common.model">JAXBNamespacePrefixMapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/XmlFormattingOptions.html#setDefaultXmlFormattingOptions(org.apache.wink.common.model.XmlFormattingOptions)"><B>setDefaultXmlFormattingOptions(XmlFormattingOptions)</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/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/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/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#setDocumentLocator(org.xml.sax.Locator)"><B>setDocumentLocator(Locator)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</A>
<DD>&nbsp;
<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/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/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/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/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/XmlFormattingOptions.html#setIndenting(boolean)"><B>setIndenting(boolean)</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/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/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/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/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/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/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/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/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/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html#setNamespacePrefixMapper(org.apache.wink.common.model.JAXBNamespacePrefixMapper)"><B>setNamespacePrefixMapper(JAXBNamespacePrefixMapper)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler</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/XmlFormattingOptions.html#setOmitXmlDeclaration(boolean)"><B>setOmitXmlDeclaration(boolean)</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/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/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/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/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/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/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/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/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/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/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/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.String)"><B>setValue(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 content of the "atom:content" element as a String.
<DT><A HREF="./org/apache/wink/common/model/atom/AtomText.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/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.String)"><B>setValue(String)</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/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/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/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/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/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#skippedEntity(java.lang.String)"><B>skippedEntity(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</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/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/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#startCDATA()"><B>startCDATA()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html#startDocument(java.lang.String)"><B>startDocument(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#startDocument()"><B>startDocument()</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#startDTD(java.lang.String, java.lang.String, java.lang.String)"><B>startDTD(String, String, String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)"><B>startElement(String, String, String, Attributes)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)"><B>startElement(String, String, String, Attributes)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#startEntity(java.lang.String)"><B>startEntity(String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</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/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html#startPrefixMapping(java.lang.String, java.lang.String)"><B>startPrefixMapping(String, String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomMarshallingListener.AtomMarshallerHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#startPrefixMapping(java.lang.String, java.lang.String)"><B>startPrefixMapping(String, String)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</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/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html#startSpecialContent(java.lang.Object)"><B>startSpecialContent(Object)</B></A> - 
Method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils.AtomUnmarshallingListener.AtomUnmarshallerHandler</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.String)"><B>SyndContent(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>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.String, java.lang.String, boolean)"><B>SyndContent(String, 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(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.String)"><B>SyndSimpleContent(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/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/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/atom/AtomJAXBUtils.html#timeToXmlGregorianCalendar(long)"><B>timeToXmlGregorianCalendar(long)</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils</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/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/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/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/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/common/model/atom/AtomJAXBUtils.html#unmarshal(javax.xml.bind.Unmarshaller, java.io.Reader)"><B>unmarshal(Unmarshaller, Reader)</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils</A>
<DD>&nbsp;
<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/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're 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're 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're 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're 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're 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're 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're 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're 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;
</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/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/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/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/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/atom/AtomJAXBUtils.html#xmlGregorianCalendarToTime(javax.xml.datatype.XMLGregorianCalendar)"><B>xmlGregorianCalendarToTime(XMLGregorianCalendar)</B></A> - 
Static method in class org.apache.wink.common.model.atom.<A HREF="./org/apache/wink/common/model/atom/AtomJAXBUtils.html" title="class in org.apache.wink.common.model.atom">AtomJAXBUtils</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="./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>
