mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-03 23:32:47 +08:00
212 lines
12 KiB
HTML
212 lines
12 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
compact3
|
||
</div>
|
||
<div class="subTitle">
|
||
javax.naming.ldap
|
||
</div>
|
||
<h2 class="title" title="Class ControlFactory">Class ControlFactory</h2>
|
||
</div><div class="contentContainer">
|
||
<ul class="inheritance">
|
||
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
|
||
<li>
|
||
<ul class="inheritance">
|
||
<li>javax.naming.ldap.ControlFactory</li>
|
||
</ul> </li>
|
||
</ul>
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">ControlFactory</span>
|
||
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
|
||
<div class="block">
|
||
<span>这个抽象类代表一个用于创建LDAPv3控件的工厂。</span>
|
||
<span>LDAPv3控件在<a href="http://www.ietf.org/rfc/rfc2251.txt">RFC 2251</a>中定义。</span>
|
||
<p> <span>当服务提供商收到响应控制时,它使用控制工厂返回特定/适当的控制类实现。</span> </p>
|
||
</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/Control.html" title="javax.naming.ldap中的接口"><code>Control</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="summary">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="constructor.summary">
|
||
<!-- --> </a> <h3>构造方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
|
||
<caption>
|
||
<span>构造方法</span>
|
||
<span class="tabEnd"> </span>
|
||
</caption>
|
||
<tbody>
|
||
<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/naming/ldap/ControlFactory.html#ControlFactory--">ControlFactory</a></span>()</code>
|
||
<div class="block">
|
||
创建控制工厂的新实例。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
</ul>
|
||
<!-- ========== 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="t1"><span><a href="javascript:show(1);">静态方法</a></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>
|
||
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</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>abstract <a href="../../../javax/naming/ldap/Control.html" title="interface in javax.naming.ldap">Control</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/ldap/ControlFactory.html#getControlInstance-javax.naming.ldap.Control-">getControlInstance</a></span>(<a href="../../../javax/naming/ldap/Control.html" title="interface in javax.naming.ldap">Control</a> ctl)</code>
|
||
<div class="block">
|
||
使用该控制工厂创建控制。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code>static <a href="../../../javax/naming/ldap/Control.html" title="interface in javax.naming.ldap">Control</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/ldap/ControlFactory.html#getControlInstance-javax.naming.ldap.Control-javax.naming.Context-java.util.Hashtable-">getControlInstance</a></span>(<a href="../../../javax/naming/ldap/Control.html" title="interface in javax.naming.ldap">Control</a> ctl, <a href="../../../javax/naming/Context.html" title="interface in javax.naming">Context</a> ctx, <a href="../../../java/util/Hashtable.html" title="class in java.util">Hashtable</a><?,?> env)</code>
|
||
<div class="block">
|
||
使用已知的控制工厂创建控制。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
|
||
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="details">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="constructor.detail">
|
||
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="ControlFactory--">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>ControlFactory</h4> <pre>protected ControlFactory()</pre>
|
||
<div class="block">
|
||
创建控制工厂的新实例。
|
||
</div> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="getControlInstance-javax.naming.ldap.Control-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getControlInstance</h4> <pre>public abstract <a href="../../../javax/naming/ldap/Control.html" title="interface in javax.naming.ldap">Control</a> getControlInstance(<a href="../../../javax/naming/ldap/Control.html" title="interface in javax.naming.ldap">Control</a> ctl)
|
||
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>没有这种机制,提供者将返回仅包含BER编码格式的数据的控件。</span> </p>
|
||
<p> <span>通常, <tt>ctl</tt>是包含BER编码数据的“基本”控制。</span> <span>该工厂用于创建专门的控制实现,通常通过解码BER编码数据,提供以类型安全和友善的方式访问该数据的方法。</span> </p>
|
||
<p> <span>例如,工厂可能会使用BER编码数据进行基本控制,并返回VirtualListReplyControl的一个实例。</span> </p>
|
||
<p> <span>如果此工厂无法使用提供的参数创建控件,则应返回null。</span> <span>如果确定它是唯一的预定工厂,并且没有其他控制工厂应该被尝试,工厂应该只抛出异常。</span> <span>例如,如果控件中的BER数据与给定OID的控件的期望不匹配,则可能会发生这种情况。</span> <span>由于此方法抛出<tt>NamingException</tt> ,所以应该<tt>传播的</tt>任何其他内部生成的异常都必须包含在一个<tt>NamingException中</tt> 。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>ctl</code> - 非空控件。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
可能为空控制。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code><a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></code> - 如果<tt>ctl</tt>包含无效的数据,阻止它用于创建控件。</span>
|
||
<span>如果工厂知道如何产生控制(由OID标识)但由于例如无效的BER数据而无法出现,工厂应该只会抛出异常。</span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getControlInstance-javax.naming.ldap.Control-javax.naming.Context-java.util.Hashtable-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>getControlInstance</h4> <pre>public static <a href="../../../javax/naming/ldap/Control.html" title="interface in javax.naming.ldap">Control</a> getControlInstance(<a href="../../../javax/naming/ldap/Control.html" title="interface in javax.naming.ldap">Control</a> ctl,
|
||
<a href="../../../javax/naming/Context.html" title="interface in javax.naming">Context</a> ctx,
|
||
<a href="../../../java/util/Hashtable.html" title="class in java.util">Hashtable</a><?,?> env)
|
||
throws <a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></pre>
|
||
<div class="block">
|
||
<span>使用已知的控制工厂创建控制。</span>
|
||
<p> <span>以下规则用于创建控件:</span> </p>
|
||
<ul>
|
||
<li> <span>使用环境的<tt>LdapContext.CONTROL_FACTORIES</tt>属性指定的控件工厂,并与相关<tt>ctx</tt>供应商资源文件的,按照这个顺序。</span> <span>此属性的值是按冒号分隔的工厂类名称列表,按顺序尝试,成功创建控件的第一个列表是使用的。</span> <span>如果没有工厂可以加载,请返回<code>ctl</code> 。</span> <span>如果在创建控件时遇到异常,则将异常传递给调用者。</span> </li>
|
||
</ul>
|
||
<p> <span>请注意,控制工厂必须是公共的,并且必须有一个不接受参数的公共构造函数。</span> </p>
|
||
<p></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>ctl</code> - 包含OID和BER数据的非空控制对象。
|
||
</dd>
|
||
<dd>
|
||
<span><code>ctx</code> - 正在创建控件的可能空的上下文。</span>
|
||
<span>如果为空,则不提供此类信息。</span>
|
||
</dd>
|
||
<dd>
|
||
<span><code>env</code> - 上下文可能是空的环境。</span>
|
||
<span>这是用来查找<tt>LdapContext.CONTROL_FACTORIES</tt>属性的值。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<span>使用<code>ctl</code>创建的控件对象;</span>
|
||
<span>或<code>ctl</code>如果无法使用上述算法创建控制对象。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code><a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></code> - 如果尝试创建控件对象时遇到命名异常。</span>
|
||
<span>如果其中一个访问的工厂引发异常,则会传播到调用者。</span>
|
||
<span>如果在加载和实例化工厂和对象类时遇到错误,则异常包装在<tt>NamingException中</tt> ,然后重新<tt>引导</tt> 。</span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |