<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>ClientBuilder</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="ClientBuilder";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":10,"i6":9,"i7":9,"i8":9,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../javax/ws/rs/client/Client.html" title="interface in javax.ws.rs.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../javax/ws/rs/client/ClientRequestContext.html" title="interface in javax.ws.rs.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?javax/ws/rs/client/ClientBuilder.html" target="_top">Frames</a></li>
<li><a href="ClientBuilder.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">javax.ws.rs.client</div>
<h2 title="Class ClientBuilder" class="title">Class ClientBuilder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>javax.ws.rs.client.ClientBuilder</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../javax/ws/rs/core/Configurable.html" title="interface in javax.ws.rs.core">Configurable</a>&lt;<a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a>&gt;</dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">ClientBuilder</span>
extends java.lang.Object
implements <a href="../../../../javax/ws/rs/core/Configurable.html" title="interface in javax.ws.rs.core">Configurable</a>&lt;<a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a>&gt;</pre>
<div class="block">Main entry point to the client API used to bootstrap <a href="../../../../javax/ws/rs/client/Client.html" title="interface in javax.ws.rs.client"><code>Client</code></a>
 instances.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.0</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#JAXRS_DEFAULT_CLIENT_BUILDER_PROPERTY">JAXRS_DEFAULT_CLIENT_BUILDER_PROPERTY</a></span></code>
<div class="block">Name of the property identifying the <a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client"><code>ClientBuilder</code></a> implementation
 to be returned from <a href="../../../../javax/ws/rs/client/ClientBuilder.html#newBuilder--"><code>newBuilder()</code></a>.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#ClientBuilder--">ClientBuilder</a></span>()</code>
<div class="block">Allows custom implementations to extend the <code>ClientBuilder</code> class.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../javax/ws/rs/client/Client.html" title="interface in javax.ws.rs.client">Client</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#build--">build</a></span>()</code>
<div class="block">Build a new client instance using all the configuration previously specified
 in this client builder.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#connectTimeout-long-java.util.concurrent.TimeUnit-">connectTimeout</a></span>(long&nbsp;timeout,
              java.util.concurrent.TimeUnit&nbsp;unit)</code>
<div class="block">Set the connect timeout.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#executorService-java.util.concurrent.ExecutorService-">executorService</a></span>(java.util.concurrent.ExecutorService&nbsp;executorService)</code>
<div class="block">Set the client-side <code>ExecutorService</code>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#hostnameVerifier-javax.net.ssl.HostnameVerifier-">hostnameVerifier</a></span>(javax.net.ssl.HostnameVerifier&nbsp;verifier)</code>
<div class="block">Set the hostname verifier to be used by the client to verify the endpoint's hostname against it's
 identification information.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#keyStore-java.security.KeyStore-char:A-">keyStore</a></span>(java.security.KeyStore&nbsp;keyStore,
        char[]&nbsp;password)</code>
<div class="block">Set the client-side key store.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#keyStore-java.security.KeyStore-java.lang.String-">keyStore</a></span>(java.security.KeyStore&nbsp;keyStore,
        java.lang.String&nbsp;password)</code>
<div class="block">Set the client-side key store.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static <a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#newBuilder--">newBuilder</a></span>()</code>
<div class="block">Create a new <code>ClientBuilder</code> instance using the default client builder
 implementation class provided by the implementation provider.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../javax/ws/rs/client/Client.html" title="interface in javax.ws.rs.client">Client</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#newClient--">newClient</a></span>()</code>
<div class="block">Create a new <a href="../../../../javax/ws/rs/client/Client.html" title="interface in javax.ws.rs.client"><code>Client</code></a> instance using the default client builder implementation
 class provided by the implementation provider.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static <a href="../../../../javax/ws/rs/client/Client.html" title="interface in javax.ws.rs.client">Client</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#newClient-javax.ws.rs.core.Configuration-">newClient</a></span>(<a href="../../../../javax/ws/rs/core/Configuration.html" title="interface in javax.ws.rs.core">Configuration</a>&nbsp;configuration)</code>
<div class="block">Create a new custom-configured <a href="../../../../javax/ws/rs/client/Client.html" title="interface in javax.ws.rs.client"><code>Client</code></a> instance using the default client builder
 implementation class provided by the implementation provider.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#readTimeout-long-java.util.concurrent.TimeUnit-">readTimeout</a></span>(long&nbsp;timeout,
           java.util.concurrent.TimeUnit&nbsp;unit)</code>
<div class="block">Set the read timeout.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#scheduledExecutorService-java.util.concurrent.ScheduledExecutorService-">scheduledExecutorService</a></span>(java.util.concurrent.ScheduledExecutorService&nbsp;scheduledExecutorService)</code>
<div class="block">Set the client-side <code>ScheduledExecutorService</code>.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#sslContext-javax.net.ssl.SSLContext-">sslContext</a></span>(javax.net.ssl.SSLContext&nbsp;sslContext)</code>
<div class="block">Set the SSL context that will be used when creating secured transport connections
 to server endpoints from <a href="../../../../javax/ws/rs/client/WebTarget.html" title="interface in javax.ws.rs.client"><code>web targets</code></a> created by the client
 instance that is using this SSL context.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#trustStore-java.security.KeyStore-">trustStore</a></span>(java.security.KeyStore&nbsp;trustStore)</code>
<div class="block">Set the client-side trust store.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/ws/rs/client/ClientBuilder.html#withConfig-javax.ws.rs.core.Configuration-">withConfig</a></span>(<a href="../../../../javax/ws/rs/core/Configuration.html" title="interface in javax.ws.rs.core">Configuration</a>&nbsp;config)</code>
<div class="block">Set the internal configuration state to an externally provided configuration state.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.ws.rs.core.Configurable">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;javax.ws.rs.core.<a href="../../../../javax/ws/rs/core/Configurable.html" title="interface in javax.ws.rs.core">Configurable</a></h3>
<code><a href="../../../../javax/ws/rs/core/Configurable.html#getConfiguration--">getConfiguration</a>, <a href="../../../../javax/ws/rs/core/Configurable.html#property-java.lang.String-java.lang.Object-">property</a>, <a href="../../../../javax/ws/rs/core/Configurable.html#register-java.lang.Class-">register</a>, <a href="../../../../javax/ws/rs/core/Configurable.html#register-java.lang.Class-java.lang.Class...-">register</a>, <a href="../../../../javax/ws/rs/core/Configurable.html#register-java.lang.Class-int-">register</a>, <a href="../../../../javax/ws/rs/core/Configurable.html#register-java.lang.Class-java.util.Map-">register</a>, <a href="../../../../javax/ws/rs/core/Configurable.html#register-java.lang.Object-">register</a>, <a href="../../../../javax/ws/rs/core/Configurable.html#register-java.lang.Object-java.lang.Class...-">register</a>, <a href="../../../../javax/ws/rs/core/Configurable.html#register-java.lang.Object-int-">register</a>, <a href="../../../../javax/ws/rs/core/Configurable.html#register-java.lang.Object-java.util.Map-">register</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="JAXRS_DEFAULT_CLIENT_BUILDER_PROPERTY">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>JAXRS_DEFAULT_CLIENT_BUILDER_PROPERTY</h4>
<pre>public static final&nbsp;java.lang.String JAXRS_DEFAULT_CLIENT_BUILDER_PROPERTY</pre>
<div class="block">Name of the property identifying the <a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client"><code>ClientBuilder</code></a> implementation
 to be returned from <a href="../../../../javax/ws/rs/client/ClientBuilder.html#newBuilder--"><code>newBuilder()</code></a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#javax.ws.rs.client.ClientBuilder.JAXRS_DEFAULT_CLIENT_BUILDER_PROPERTY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="ClientBuilder--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ClientBuilder</h4>
<pre>protected&nbsp;ClientBuilder()</pre>
<div class="block">Allows custom implementations to extend the <code>ClientBuilder</code> class.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="newBuilder--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newBuilder</h4>
<pre>public static&nbsp;<a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a>&nbsp;newBuilder()</pre>
<div class="block">Create a new <code>ClientBuilder</code> instance using the default client builder
 implementation class provided by the implementation provider.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new client builder instance.</dd>
</dl>
</li>
</ul>
<a name="newClient--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newClient</h4>
<pre>public static&nbsp;<a href="../../../../javax/ws/rs/client/Client.html" title="interface in javax.ws.rs.client">Client</a>&nbsp;newClient()</pre>
<div class="block">Create a new <a href="../../../../javax/ws/rs/client/Client.html" title="interface in javax.ws.rs.client"><code>Client</code></a> instance using the default client builder implementation
 class provided by the implementation provider.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new client instance.</dd>
</dl>
</li>
</ul>
<a name="newClient-javax.ws.rs.core.Configuration-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newClient</h4>
<pre>public static&nbsp;<a href="../../../../javax/ws/rs/client/Client.html" title="interface in javax.ws.rs.client">Client</a>&nbsp;newClient(<a href="../../../../javax/ws/rs/core/Configuration.html" title="interface in javax.ws.rs.core">Configuration</a>&nbsp;configuration)</pre>
<div class="block">Create a new custom-configured <a href="../../../../javax/ws/rs/client/Client.html" title="interface in javax.ws.rs.client"><code>Client</code></a> instance using the default client builder
 implementation class provided by the implementation provider.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configuration</code> - data used to provide initial configuration for the new
                      client instance.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>new configured client instance.</dd>
</dl>
</li>
</ul>
<a name="withConfig-javax.ws.rs.core.Configuration-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withConfig</h4>
<pre>public abstract&nbsp;<a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a>&nbsp;withConfig(<a href="../../../../javax/ws/rs/core/Configuration.html" title="interface in javax.ws.rs.core">Configuration</a>&nbsp;config)</pre>
<div class="block">Set the internal configuration state to an externally provided configuration state.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>config</code> - external configuration state to replace the configuration of this configurable
               instance.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the updated client builder instance.</dd>
</dl>
</li>
</ul>
<a name="sslContext-javax.net.ssl.SSLContext-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sslContext</h4>
<pre>public abstract&nbsp;<a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a>&nbsp;sslContext(javax.net.ssl.SSLContext&nbsp;sslContext)</pre>
<div class="block">Set the SSL context that will be used when creating secured transport connections
 to server endpoints from <a href="../../../../javax/ws/rs/client/WebTarget.html" title="interface in javax.ws.rs.client"><code>web targets</code></a> created by the client
 instance that is using this SSL context. The SSL context is expected to have all the
 security infrastructure initialized, including the key and trust managers.
 <p>
 Setting a SSL context instance resets any <a href="../../../../javax/ws/rs/client/ClientBuilder.html#keyStore-java.security.KeyStore-char:A-"><code>key store</code></a> or <a href="../../../../javax/ws/rs/client/ClientBuilder.html#trustStore-java.security.KeyStore-"><code>trust store</code></a> values previously
 specified.
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sslContext</code> - secure socket protocol implementation which acts as a factory
                   for secure socket factories or <code>SSL engines</code>. Must not be <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an updated client builder instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - in case the <code>sslContext</code> parameter is <code>null</code>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/ws/rs/client/ClientBuilder.html#keyStore-java.security.KeyStore-char:A-"><code>keyStore(java.security.KeyStore, char[])</code></a>, 
<a href="../../../../javax/ws/rs/client/ClientBuilder.html#keyStore-java.security.KeyStore-java.lang.String-"><code>keyStore(java.security.KeyStore, String)</code></a>, 
<a href="../../../../javax/ws/rs/client/ClientBuilder.html#trustStore-java.security.KeyStore-"><code>trustStore(java.security.KeyStore)</code></a></dd>
</dl>
</li>
</ul>
<a name="keyStore-java.security.KeyStore-char:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>keyStore</h4>
<pre>public abstract&nbsp;<a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a>&nbsp;keyStore(java.security.KeyStore&nbsp;keyStore,
                                       char[]&nbsp;password)</pre>
<div class="block">Set the client-side key store. Key store contains client's private keys, and the certificates with their
 corresponding public keys.
 <p>
 Setting a key store instance resets any <a href="../../../../javax/ws/rs/client/ClientBuilder.html#sslContext-javax.net.ssl.SSLContext-"><code>SSL context instance</code></a>
 value previously specified.
 </p>
 <p>
 Note that a custom key store is only required if you want to enable a custom setup of a 2-way SSL connections
 (client certificate authentication).
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keyStore</code> - client-side key store. Must not be <code>null</code>.</dd>
<dd><code>password</code> - client key password. Must not be <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an updated client builder instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - in case any of the supplied parameters is <code>null</code>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/ws/rs/client/ClientBuilder.html#sslContext-javax.net.ssl.SSLContext-"><code>sslContext(javax.net.ssl.SSLContext)</code></a>, 
<a href="../../../../javax/ws/rs/client/ClientBuilder.html#keyStore-java.security.KeyStore-java.lang.String-"><code>keyStore(java.security.KeyStore, String)</code></a>, 
<a href="../../../../javax/ws/rs/client/ClientBuilder.html#trustStore-java.security.KeyStore-"><code>trustStore(java.security.KeyStore)</code></a></dd>
</dl>
</li>
</ul>
<a name="keyStore-java.security.KeyStore-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>keyStore</h4>
<pre>public&nbsp;<a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a>&nbsp;keyStore(java.security.KeyStore&nbsp;keyStore,
                              java.lang.String&nbsp;password)</pre>
<div class="block">Set the client-side key store. Key store contains client's private keys, and the certificates with their
 corresponding public keys.
 <p>
 Setting a key store instance resets any <a href="../../../../javax/ws/rs/client/ClientBuilder.html#sslContext-javax.net.ssl.SSLContext-"><code>SSL context instance</code></a>
 value previously specified.
 </p>
 <p>
 Note that for improved security of working with password data and avoid storing passwords in Java string
 objects, the <a href="../../../../javax/ws/rs/client/ClientBuilder.html#keyStore-java.security.KeyStore-char:A-"><code>keyStore(java.security.KeyStore, char[])</code></a> version of the method can be utilized.
 Also note that a custom key store is only required if you want to enable a custom setup of a 2-way SSL
 connections (client certificate authentication).
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keyStore</code> - client-side key store. Must not be <code>null</code>.</dd>
<dd><code>password</code> - client key password. Must not be <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an updated client builder instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - in case any of the supplied parameters is <code>null</code>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/ws/rs/client/ClientBuilder.html#sslContext-javax.net.ssl.SSLContext-"><code>sslContext(javax.net.ssl.SSLContext)</code></a>, 
<a href="../../../../javax/ws/rs/client/ClientBuilder.html#keyStore-java.security.KeyStore-char:A-"><code>keyStore(java.security.KeyStore, char[])</code></a>, 
<a href="../../../../javax/ws/rs/client/ClientBuilder.html#trustStore-java.security.KeyStore-"><code>trustStore(java.security.KeyStore)</code></a></dd>
</dl>
</li>
</ul>
<a name="trustStore-java.security.KeyStore-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trustStore</h4>
<pre>public abstract&nbsp;<a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a>&nbsp;trustStore(java.security.KeyStore&nbsp;trustStore)</pre>
<div class="block">Set the client-side trust store. Trust store is expected to contain certificates from other parties
 the client is you expect to communicate with, or from Certificate Authorities that are trusted to
 identify other parties.
 <p>
 Setting a trust store instance resets any <a href="../../../../javax/ws/rs/client/ClientBuilder.html#sslContext-javax.net.ssl.SSLContext-"><code>SSL context instance</code></a>
 value previously specified.
 </p>
 <p>
 In case a custom trust store or custom SSL context is not specified, the trust management will be
 configured to use the default Java runtime settings.
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>trustStore</code> - client-side trust store. Must not be <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an updated client builder instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - in case the supplied trust store parameter is <code>null</code>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/ws/rs/client/ClientBuilder.html#sslContext-javax.net.ssl.SSLContext-"><code>sslContext(javax.net.ssl.SSLContext)</code></a>, 
<a href="../../../../javax/ws/rs/client/ClientBuilder.html#keyStore-java.security.KeyStore-char:A-"><code>keyStore(java.security.KeyStore, char[])</code></a>, 
<a href="../../../../javax/ws/rs/client/ClientBuilder.html#keyStore-java.security.KeyStore-java.lang.String-"><code>keyStore(java.security.KeyStore, String)</code></a></dd>
</dl>
</li>
</ul>
<a name="hostnameVerifier-javax.net.ssl.HostnameVerifier-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hostnameVerifier</h4>
<pre>public abstract&nbsp;<a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a>&nbsp;hostnameVerifier(javax.net.ssl.HostnameVerifier&nbsp;verifier)</pre>
<div class="block">Set the hostname verifier to be used by the client to verify the endpoint's hostname against it's
 identification information.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>verifier</code> - hostname verifier.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an updated client builder instance.</dd>
</dl>
</li>
</ul>
<a name="executorService-java.util.concurrent.ExecutorService-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executorService</h4>
<pre>public abstract&nbsp;<a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a>&nbsp;executorService(java.util.concurrent.ExecutorService&nbsp;executorService)</pre>
<div class="block">Set the client-side <code>ExecutorService</code>.
 <p>
 Provided executor service will be used for executing asynchronous tasks.
 <p>
 When running in a Jakarta EE container, implementations are required to use the container-managed
 executor service by default.  In Java SE, the default is implementation-specific.  In either
 case, calling this method will override the default.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>executorService</code> - executor service to be used for async invocations.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an updated client builder instance.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/ws/rs/client/Invocation.Builder.html#async--"><code>Invocation.Builder.async()</code></a>, 
<a href="../../../../javax/ws/rs/client/Invocation.Builder.html#rx--"><code>Invocation.Builder.rx()</code></a>, 
<a href="../../../../javax/ws/rs/client/RxInvokerProvider.html#getRxInvoker-javax.ws.rs.client.SyncInvoker-java.util.concurrent.ExecutorService-"><code>RxInvokerProvider.getRxInvoker(SyncInvoker, ExecutorService)</code></a></dd>
</dl>
</li>
</ul>
<a name="scheduledExecutorService-java.util.concurrent.ScheduledExecutorService-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scheduledExecutorService</h4>
<pre>public abstract&nbsp;<a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a>&nbsp;scheduledExecutorService(java.util.concurrent.ScheduledExecutorService&nbsp;scheduledExecutorService)</pre>
<div class="block">Set the client-side <code>ScheduledExecutorService</code>.
 <p>
 Provided executor service will be used for executing scheduled asynchronous tasks.
 <p>
 When running in a Jakarta EE container, implementations are required to use the container-managed
 scheduled executor service by default.  In Java SE the default is implementation-specific.  In 
 either case, calling this method will override the default.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>scheduledExecutorService</code> - executor service to be used for scheduled async invocations.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an updated client builder instance.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/ws/rs/sse/SseEventSource.Builder.html#reconnectingEvery-long-java.util.concurrent.TimeUnit-"><code>SseEventSource.Builder.reconnectingEvery(long, TimeUnit)</code></a></dd>
</dl>
</li>
</ul>
<a name="connectTimeout-long-java.util.concurrent.TimeUnit-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connectTimeout</h4>
<pre>public abstract&nbsp;<a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a>&nbsp;connectTimeout(long&nbsp;timeout,
                                             java.util.concurrent.TimeUnit&nbsp;unit)</pre>
<div class="block">Set the connect timeout.
 <p>
 Value <code>0</code> represents infinity. Negative values are not allowed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - the maximum time to wait.</dd>
<dd><code>unit</code> - the time unit of the timeout argument.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an updated client builder instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - when the value is negative.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.1</dd>
</dl>
</li>
</ul>
<a name="readTimeout-long-java.util.concurrent.TimeUnit-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readTimeout</h4>
<pre>public abstract&nbsp;<a href="../../../../javax/ws/rs/client/ClientBuilder.html" title="class in javax.ws.rs.client">ClientBuilder</a>&nbsp;readTimeout(long&nbsp;timeout,
                                          java.util.concurrent.TimeUnit&nbsp;unit)</pre>
<div class="block">Set the read timeout.
 <p>
 The value is the timeout to read a response. If the server doesn't respond within the defined timeframe,
 <a href="../../../../javax/ws/rs/ProcessingException.html" title="class in javax.ws.rs"><code>ProcessingException</code></a> is thrown with <code>TimeoutException</code> as a cause.
 <p>
 Value <code>0</code> represents infinity. Negative values are not allowed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - the maximum time to wait.</dd>
<dd><code>unit</code> - the time unit of the timeout argument.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an updated client builder instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - when the value is negative.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.1</dd>
</dl>
</li>
</ul>
<a name="build--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>build</h4>
<pre>public abstract&nbsp;<a href="../../../../javax/ws/rs/client/Client.html" title="interface in javax.ws.rs.client">Client</a>&nbsp;build()</pre>
<div class="block">Build a new client instance using all the configuration previously specified
 in this client builder.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new client instance.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../javax/ws/rs/client/Client.html" title="interface in javax.ws.rs.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../javax/ws/rs/client/ClientRequestContext.html" title="interface in javax.ws.rs.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?javax/ws/rs/client/ClientBuilder.html" target="_top">Frames</a></li>
<li><a href="ClientBuilder.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
