<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_26) on Mon Aug 06 20:35:25 PDT 2012 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
ClientConfig (Apache Wink 1.2.1-incubating API)
</TITLE>

<META NAME="date" CONTENT="2012-08-06">

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

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

</HEAD>

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


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ClientConfig.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/wink/client/ClientAuthenticationException.html" title="class in org.apache.wink.client"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/wink/client/ClientConfig.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ClientConfig.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.wink.client</FONT>
<BR>
Class ClientConfig</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.wink.client.ClientConfig</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A>, org.apache.wink.common.internal.WinkConfiguration</DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/wink/client/httpclient/ApacheHttpClientConfig.html" title="class in org.apache.wink.client.httpclient">ApacheHttpClientConfig</A>, <A HREF="../../../../org/apache/wink/client/AsyncHttpClientConfiguration.html" title="class in org.apache.wink.client">AsyncHttpClientConfiguration</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>ClientConfig</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A>, org.apache.wink.common.internal.WinkConfiguration</DL>
</PRE>

<P>
Provides client configuration. The ClientConfig is implemented using the
 builder pattern so method calls can be easily aggregated. Custom Providers
 are defined by calling the <A HREF="../../../../org/apache/wink/client/ClientConfig.html#applications(javax.ws.rs.core.Application...)"><CODE>applications(Application...)</CODE></A> method.
 Custom client handlers are defined by calling the
 <A HREF="../../../../org/apache/wink/client/ClientConfig.html#handlers(org.apache.wink.client.handlers.ClientHandler...)"><CODE>handlers(ClientHandler...)</CODE></A> method.
<P>

<P>
<HR>

<P>

<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#ClientConfig()">ClientConfig</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a new ClientConfig with the following default settings:
 
 proxy: none
 connect timeout: 60 seconds
 read timeout: 60 seconds
 follow redirects: true
 </TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#acceptHeaderAutoSet(boolean)">acceptHeaderAutoSet</A></B>(boolean&nbsp;isAcceptHeaderAutoSet)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set whether client will automatically set an appropriate Accept header</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#applications(javax.ws.rs.core.Application...)">applications</A></B>(javax.ws.rs.core.Application...&nbsp;applications)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add applications</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#clone()">clone</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#connectTimeout(int)">connectTimeout</A></B>(int&nbsp;connectTimeout)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method to set the wink.client.connectTimeout property</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#followRedirects(boolean)">followRedirects</A></B>(boolean&nbsp;followRedirects)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set whether to client will automatically follow redirects</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;javax.ws.rs.core.Application&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#getApplications()">getApplications</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an unmodifiable list of the applications</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#getBypassHostnameVerification()">getBypassHostnameVerification</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get whether or not hostname verification will be bypassed for SSL
 certificates.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/wink/client/handlers/ConnectionHandler.html" title="interface in org.apache.wink.client.handlers">ConnectionHandler</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#getConnectionHandler()">getConnectionHandler</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the client handler that acts as the connection handler.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#getConnectTimeout()">getConnectTimeout</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method to get the int value of the wink.client.connectTimeout property</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/wink/client/handlers/ClientHandler.html" title="interface in org.apache.wink.client.handlers">ClientHandler</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#getHandlers()">getHandlers</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an unmodifiable list of the client handlers</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#getProperties()">getProperties</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method for getting all properties registered on this instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#getProxyHost()">getProxyHost</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the proxy host</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#getProxyPort()">getProxyPort</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the proxy port</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#getReadTimeout()">getReadTimeout</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method to get the int value of the wink.client.readTimeout property</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#handlers(org.apache.wink.client.handlers.ClientHandler...)">handlers</A></B>(<A HREF="../../../../org/apache/wink/client/handlers/ClientHandler.html" title="interface in org.apache.wink.client.handlers">ClientHandler</A>...&nbsp;handlers)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add client handlers</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#isAcceptHeaderAutoSet()">isAcceptHeaderAutoSet</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether client will automatically set an appropriate Accept
 header</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#isFollowRedirects()">isFollowRedirects</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether to client will automatically follow redirects</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#isLoadWinkApplications()">isLoadWinkApplications</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#isSupportDTDExpansion()">isSupportDTDExpansion</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method to get the boolean value of the wink.supportDTDExpansion property</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#proxyHost(java.lang.String)">proxyHost</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;proxyHost)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the proxy host</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#proxyPort(int)">proxyPort</A></B>(int&nbsp;proxyPort)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the proxy port</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#readTimeout(int)">readTimeout</A></B>(int&nbsp;readTimeout)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method to set the wink.client.readTimeout property</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#setBypassHostnameVerification(boolean)">setBypassHostnameVerification</A></B>(boolean&nbsp;bypassHostnameVerification)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set whether or not hostname verification to bypass hostname verification
 for SSL certificates.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#setLoadWinkApplications(boolean)">setLoadWinkApplications</A></B>(boolean&nbsp;loadWinkApplications)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#setProperties(java.util.Properties)">setProperties</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;properties)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method to set the client configuration properties.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientConfig.html#supportDTDExpansion(boolean)">supportDTDExpansion</A></B>(boolean&nbsp;supportDTDExpansion)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method to set the wink.supportDTDExpansion property</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="ClientConfig()"><!-- --></A><H3>
ClientConfig</H3>
<PRE>
public <B>ClientConfig</B>()</PRE>
<DL>
<DD>Construct a new ClientConfig with the following default settings:
 <ul>
 <li>proxy: none</li>
 <li>connect timeout: 60 seconds</li>
 <li>read timeout: 60 seconds</li>
 <li>follow redirects: true</li>
 </ul>
<P>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="getProxyHost()"><!-- --></A><H3>
getProxyHost</H3>
<PRE>
public final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getProxyHost</B>()</PRE>
<DL>
<DD>Get the proxy host
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the proxy host</DL>
</DD>
</DL>
<HR>

<A NAME="proxyHost(java.lang.String)"><!-- --></A><H3>
proxyHost</H3>
<PRE>
public final <A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A> <B>proxyHost</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;proxyHost)</PRE>
<DL>
<DD>Set the proxy host
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>proxyHost</CODE> - proxy host
<DT><B>Returns:</B><DD>this client configuration
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client">ClientConfigException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getProxyPort()"><!-- --></A><H3>
getProxyPort</H3>
<PRE>
public final int <B>getProxyPort</B>()</PRE>
<DL>
<DD>Get the proxy port
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the proxy port</DL>
</DD>
</DL>
<HR>

<A NAME="proxyPort(int)"><!-- --></A><H3>
proxyPort</H3>
<PRE>
public final <A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A> <B>proxyPort</B>(int&nbsp;proxyPort)</PRE>
<DL>
<DD>Set the proxy port
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>proxyPort</CODE> - proxy port
<DT><B>Returns:</B><DD>this client configuration
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client">ClientConfigException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getConnectTimeout()"><!-- --></A><H3>
getConnectTimeout</H3>
<PRE>
public final int <B>getConnectTimeout</B>()</PRE>
<DL>
<DD>Convenience method to get the int value of the wink.client.connectTimeout property
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the connect timeout in milliseconds</DL>
</DD>
</DL>
<HR>

<A NAME="connectTimeout(int)"><!-- --></A><H3>
connectTimeout</H3>
<PRE>
public final <A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A> <B>connectTimeout</B>(int&nbsp;connectTimeout)</PRE>
<DL>
<DD>Convenience method to set the wink.client.connectTimeout property
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>connectTimeout</CODE> - the connect timeout in milliseconds
<DT><B>Returns:</B><DD>this client configuration
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client">ClientConfigException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getReadTimeout()"><!-- --></A><H3>
getReadTimeout</H3>
<PRE>
public final int <B>getReadTimeout</B>()</PRE>
<DL>
<DD>Convenience method to get the int value of the wink.client.readTimeout property
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the read timeout in milliseconds</DL>
</DD>
</DL>
<HR>

<A NAME="readTimeout(int)"><!-- --></A><H3>
readTimeout</H3>
<PRE>
public final <A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A> <B>readTimeout</B>(int&nbsp;readTimeout)</PRE>
<DL>
<DD>Convenience method to set the wink.client.readTimeout property
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>readTimeout</CODE> - the read timeout in milliseconds
<DT><B>Returns:</B><DD>this client configuration
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client">ClientConfigException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="isSupportDTDExpansion()"><!-- --></A><H3>
isSupportDTDExpansion</H3>
<PRE>
public final boolean <B>isSupportDTDExpansion</B>()</PRE>
<DL>
<DD>Convenience method to get the boolean value of the wink.supportDTDExpansion property
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>boolean</DL>
</DD>
</DL>
<HR>

<A NAME="supportDTDExpansion(boolean)"><!-- --></A><H3>
supportDTDExpansion</H3>
<PRE>
public final <A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A> <B>supportDTDExpansion</B>(boolean&nbsp;supportDTDExpansion)</PRE>
<DL>
<DD>Convenience method to set the wink.supportDTDExpansion property
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>supportDTDExpansion</CODE> - boolean
<DT><B>Returns:</B><DD>this client configuration
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client">ClientConfigException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="isFollowRedirects()"><!-- --></A><H3>
isFollowRedirects</H3>
<PRE>
public final boolean <B>isFollowRedirects</B>()</PRE>
<DL>
<DD>Returns whether to client will automatically follow redirects
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if client will automatically follow redirects; false
         otherwise</DL>
</DD>
</DL>
<HR>

<A NAME="followRedirects(boolean)"><!-- --></A><H3>
followRedirects</H3>
<PRE>
public final <A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A> <B>followRedirects</B>(boolean&nbsp;followRedirects)</PRE>
<DL>
<DD>Set whether to client will automatically follow redirects
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>followRedirects</CODE> - whether to client will automatically follow
            redirects
<DT><B>Returns:</B><DD>this client configuration
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client">ClientConfigException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="isAcceptHeaderAutoSet()"><!-- --></A><H3>
isAcceptHeaderAutoSet</H3>
<PRE>
public final boolean <B>isAcceptHeaderAutoSet</B>()</PRE>
<DL>
<DD>Returns whether client will automatically set an appropriate Accept
 header
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if client will automatically set an appropriate Accept
         header; false otherwise</DL>
</DD>
</DL>
<HR>

<A NAME="acceptHeaderAutoSet(boolean)"><!-- --></A><H3>
acceptHeaderAutoSet</H3>
<PRE>
public final <A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A> <B>acceptHeaderAutoSet</B>(boolean&nbsp;isAcceptHeaderAutoSet)</PRE>
<DL>
<DD>Set whether client will automatically set an appropriate Accept header
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>isAcceptHeaderAutoSet</CODE> - whether client will automatically set an
            appropriate Accept header
<DT><B>Returns:</B><DD>this client configuration
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client">ClientConfigException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getHandlers()"><!-- --></A><H3>
getHandlers</H3>
<PRE>
public final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/wink/client/handlers/ClientHandler.html" title="interface in org.apache.wink.client.handlers">ClientHandler</A>&gt; <B>getHandlers</B>()</PRE>
<DL>
<DD>Get an unmodifiable list of the client handlers
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an unmodifiable list of the client handlers</DL>
</DD>
</DL>
<HR>

<A NAME="handlers(org.apache.wink.client.handlers.ClientHandler...)"><!-- --></A><H3>
handlers</H3>
<PRE>
public final <A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A> <B>handlers</B>(<A HREF="../../../../org/apache/wink/client/handlers/ClientHandler.html" title="interface in org.apache.wink.client.handlers">ClientHandler</A>...&nbsp;handlers)</PRE>
<DL>
<DD>Add client handlers
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>handlers</CODE> - the handlers to add
<DT><B>Returns:</B><DD>this client configuration
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client">ClientConfigException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getConnectionHandler()"><!-- --></A><H3>
getConnectionHandler</H3>
<PRE>
protected <A HREF="../../../../org/apache/wink/client/handlers/ConnectionHandler.html" title="interface in org.apache.wink.client.handlers">ConnectionHandler</A> <B>getConnectionHandler</B>()</PRE>
<DL>
<DD>Returns the client handler that acts as the connection handler. This
 handler is always the last handler on the chain and is automatically
 added to the end of the defined list of handlers.
 <p>
 This method should be overridden in order to provide an alternate
 connection handler.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the connection handler</DL>
</DD>
</DL>
<HR>

<A NAME="getApplications()"><!-- --></A><H3>
getApplications</H3>
<PRE>
public final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;javax.ws.rs.core.Application&gt; <B>getApplications</B>()</PRE>
<DL>
<DD>Get an unmodifiable list of the applications
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="applications(javax.ws.rs.core.Application...)"><!-- --></A><H3>
applications</H3>
<PRE>
public final <A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A> <B>applications</B>(javax.ws.rs.core.Application...&nbsp;applications)</PRE>
<DL>
<DD>Add applications
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>applications</CODE> - the applications to add
<DT><B>Returns:</B><DD>this client configuration
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client">ClientConfigException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="clone()"><!-- --></A><H3>
clone</H3>
<PRE>
protected <A HREF="../../../../org/apache/wink/client/ClientConfig.html" title="class in org.apache.wink.client">ClientConfig</A> <B>clone</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setLoadWinkApplications(boolean)"><!-- --></A><H3>
setLoadWinkApplications</H3>
<PRE>
public void <B>setLoadWinkApplications</B>(boolean&nbsp;loadWinkApplications)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isLoadWinkApplications()"><!-- --></A><H3>
isLoadWinkApplications</H3>
<PRE>
public boolean <B>isLoadWinkApplications</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getProperties()"><!-- --></A><H3>
getProperties</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A> <B>getProperties</B>()</PRE>
<DL>
<DD>Convenience method for getting all properties registered on this instance.  System properties may be changed between creation of
 new instances.
 
 The following properties are meaningful to a ClientConfig instance:
 wink.client.connectTimeout - value is in milliseconds, default is 60000
 wink.client.readTimeout - value is in milliseconds, default is 60000
 wink.supportDTDExpansion - value is "true" or "false" to allow DOCTYPE entity expansion when built-in providers parse XML, default is "false"
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getProperties</CODE> in interface <CODE>org.apache.wink.common.internal.WinkConfiguration</CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>properties on this ClientConfig instance</DL>
</DD>
</DL>
<HR>

<A NAME="setProperties(java.util.Properties)"><!-- --></A><H3>
setProperties</H3>
<PRE>
public void <B>setProperties</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;properties)</PRE>
<DL>
<DD>Convenience method to set the client configuration properties.
 
 The following properties are meaningful to a ClientConfig instance:
 wink.client.connectTimeout - value is in milliseconds, default is 60000
 wink.client.readTimeout - value is in milliseconds, default is 60000
 wink.supportDTDExpansion - value is "true" or "false" to allow DOCTYPE entity expansion when built-in providers parse XML, default is "false"
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>setProperties</CODE> in interface <CODE>org.apache.wink.common.internal.WinkConfiguration</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>properties</CODE> - the properties object to use.  If properties parameter is null, the properties on this ClientConfig will be cleared with Properties.clear()</DL>
</DD>
</DL>
<HR>

<A NAME="getBypassHostnameVerification()"><!-- --></A><H3>
getBypassHostnameVerification</H3>
<PRE>
public boolean <B>getBypassHostnameVerification</B>()</PRE>
<DL>
<DD>Get whether or not hostname verification will be bypassed for SSL
 certificates.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>Whether or not hostname verification will be bypassed for SSL
         certificates</DL>
</DD>
</DL>
<HR>

<A NAME="setBypassHostnameVerification(boolean)"><!-- --></A><H3>
setBypassHostnameVerification</H3>
<PRE>
public void <B>setBypassHostnameVerification</B>(boolean&nbsp;bypassHostnameVerification)</PRE>
<DL>
<DD>Set whether or not hostname verification to bypass hostname verification
 for SSL certificates. Default value is false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bypassHostnameVerification</CODE> - true to bypass hostname verification</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ClientConfig.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/wink/client/ClientAuthenticationException.html" title="class in org.apache.wink.client"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/wink/client/ClientConfigException.html" title="class in org.apache.wink.client"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/wink/client/ClientConfig.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ClientConfig.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

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