mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-06 00:32:44 +08:00
233 lines
9.7 KiB
HTML
233 lines
9.7 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
compact3
|
||
</div>
|
||
<div class="subTitle">
|
||
javax.naming.ldap
|
||
</div>
|
||
<h2 class="title" title="Interface ExtendedRequest">Interface ExtendedRequest</h2>
|
||
</div><div class="contentContainer">
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<dl>
|
||
<dt>
|
||
All Superinterfaces:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../java/io/Serializable.html" title="java.io中的接口">Serializable</a></span>
|
||
</dd>
|
||
</dl>
|
||
<dl>
|
||
<dt>
|
||
所有已知实现类:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/naming/ldap/StartTlsRequest.html" title="javax.naming.ldap中的类">StartTlsRequest</a></span>
|
||
</dd>
|
||
</dl>
|
||
<hr/> <br/> <pre>public interface <span class="typeNameLabel">ExtendedRequest</span>
|
||
extends <a href="../../../java/io/Serializable.html" title="interface in java.io">Serializable</a></pre>
|
||
<div class="block">
|
||
<span>此接口表示为在限定的LDAPv3扩展操作请求<a href="http://www.ietf.org/rfc/rfc2251.txt">RFC 2251</a> 。</span>
|
||
<pre> <span>ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
|
||
requestName [0] LDAPOID,
|
||
requestValue [1] OCTET STRING OPTIONAL }</span> </pre>
|
||
<span>它包括对象标识符串和可选的ASN.1 BER编码值。</span>
|
||
<p> <span>该类中的方法由服务提供商用于构造要发送到LDAP服务器的位。</span> <span>应用程序通常仅处理实现此接口的类,为其提供特定扩展操作请求所需的任何信息。</span> <span>然后,它将通过一个参数类作为<tt>LdapContext.extendedOperation()</tt>方法执行LDAPv3扩展操作。</span> </p>
|
||
<p> <span>例如,假设LDAP服务器支持“获取时间”扩展操作。</span> <span>它将提供GetTimeRequest和GetTimeResponse类:</span> </p>
|
||
<blockquote>
|
||
<span><pre>
|
||
public class GetTimeRequest implements ExtendedRequest {
|
||
public GetTimeRequest() {... };
|
||
public ExtendedResponse createExtendedResponse(String id,
|
||
byte[] berValue, int offset, int length)
|
||
throws NamingException {
|
||
return new GetTimeResponse(id, berValue, offset, length);
|
||
}
|
||
...
|
||
}
|
||
public class GetTimeResponse implements ExtendedResponse {
|
||
long time;
|
||
public GetTimeResponse(String id, byte[] berValue, int offset,
|
||
int length) throws NamingException {
|
||
time = ... // decode berValue to get time
|
||
}
|
||
public java.util.Date getDate() { return new java.util.Date(time) };
|
||
public long getTime() { return time };
|
||
...
|
||
}
|
||
</pre></span>
|
||
</blockquote>
|
||
<span>程序会使用这些类,如下所示:</span>
|
||
<blockquote>
|
||
<span><pre>
|
||
GetTimeResponse resp =
|
||
(GetTimeResponse) ectx.extendedOperation(new GetTimeRequest());
|
||
long time = resp.getTime();
|
||
</pre></span>
|
||
</blockquote>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
1.3
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/naming/ldap/ExtendedResponse.html" title="javax.naming.ldap中的接口"><code>ExtendedResponse</code></a> , <a href="../../../javax/naming/ldap/LdapContext.html#extendedOperation-javax.naming.ldap.ExtendedRequest-"><code>LdapContext.extendedOperation(javax.naming.ldap.ExtendedRequest)</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="summary">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ========== METHOD SUMMARY =========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.summary">
|
||
<!-- --> </a> <h3>方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
|
||
<caption>
|
||
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">Modifier and Type</th>
|
||
<th class="colLast" scope="col">Method and Description</th>
|
||
</tr>
|
||
<tr class="altColor" id="i0">
|
||
<td class="colFirst"><code><a href="../../../javax/naming/ldap/ExtendedResponse.html" title="interface in javax.naming.ldap">ExtendedResponse</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/ldap/ExtendedRequest.html#createExtendedResponse-java.lang.String-byte:A-int-int-">createExtendedResponse</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> id, byte[] berValue, int offset, int length)</code>
|
||
<div class="block">
|
||
创建与此请求对应的响应对象。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code>byte[]</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/ldap/ExtendedRequest.html#getEncodedValue--">getEncodedValue</a></span>()</code>
|
||
<div class="block">
|
||
检索LDAP扩展操作请求的ASN.1 BER编码值。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i2">
|
||
<td class="colFirst"><code><a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/ldap/ExtendedRequest.html#getID--">getID</a></span>()</code>
|
||
<div class="block">
|
||
检索请求的对象标识符。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="details">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="getID--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getID</h4> <pre><a href="../../../java/lang/String.html" title="class in java.lang">String</a> getID()</pre>
|
||
<div class="block">
|
||
检索请求的对象标识符。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
表示LDAP
|
||
<tt>ExtendedRequest.requestName</tt>组件的非空对象标识符字符串。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getEncodedValue--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getEncodedValue</h4> <pre>byte[] getEncodedValue()</pre>
|
||
<div class="block">
|
||
<span>检索LDAP扩展操作请求的ASN.1 BER编码值。</span>
|
||
<span>如果值不存在则返回空值。</span>
|
||
<span>结果是原始BER字节包括标签和请求值的长度。</span>
|
||
<span>它不包括请求OID。</span>
|
||
<span>该方法由服务提供商调用,以将这些位放入扩展操作以发送到LDAP服务器。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
表示LDAP
|
||
<tt>ExtendedRequest.requestValue</tt>组件的ASN.1 BER编码内容的可能的空字节数组。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalStateException.html" title="class in java.lang">IllegalStateException</a></code> - 如果由于请求包含不足或无效的数据/状态而无法检索编码值。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="createExtendedResponse-java.lang.String-byte:A-int-int-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>createExtendedResponse</h4> <pre><a href="../../../javax/naming/ldap/ExtendedResponse.html" title="interface in javax.naming.ldap">ExtendedResponse</a> createExtendedResponse(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> id,
|
||
byte[] berValue,
|
||
int offset,
|
||
int length)
|
||
throws <a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></pre>
|
||
<div class="block">
|
||
<span>创建与此请求对应的响应对象。</span>
|
||
<p> <span>服务提供商将扩展操作请求发送到LDAP服务器后,将从服务器收到响应。</span> <span>如果操作失败,提供程序将抛出NamingException。</span> <span>如果操作成功,则提供者将使用响应中返回的数据来调用此方法。</span> <span>此方法的作用是返回一个实现扩展操作请求的ExtendedResponse接口的类。</span> </p>
|
||
<p> <span>例如,启动TLS扩展请求类将需要知道如何处理启动TLS扩展响应。</span> <span>它通过创建一个实现ExtendedResponse的类来实现。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>id</code> - 响应控件的可能的空对象标识符。
|
||
</dd>
|
||
<dd>
|
||
<span><code>berValue</code> - 响应控制的可能为零的ASN.1 BER编码值。</span>
|
||
<span>这是包含标签和响应值长度的原始BER字节。</span>
|
||
<span>它不包括响应OID。</span>
|
||
</dd>
|
||
<dd>
|
||
<code>offset</code> - 在berValue中使用的字节的起始位置。
|
||
</dd>
|
||
<dd>
|
||
<code>length</code> - 要使用的berValue中的字节数。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
非空对象。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></code> - 如果由于错误而无法创建扩展响应。
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/naming/ldap/ExtendedResponse.html" title="javax.naming.ldap中的接口"><code>ExtendedResponse</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |