uTools-Manuals/docs/java/javax/naming/spi/DirectoryManager.html

301 lines
20 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
compact3
</div>
<div class="subTitle">
javax.naming.spi
</div>
<h2 class="title" title="Class DirectoryManager">Class DirectoryManager</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><a href="../../../javax/naming/spi/NamingManager.html" title="class in javax.naming.spi">javax.naming.spi.NamingManager</a></li>
<li>
<ul class="inheritance">
<li>javax.naming.spi.DirectoryManager</li>
</ul> </li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public class <span class="typeNameLabel">DirectoryManager</span>
extends <a href="../../../javax/naming/spi/NamingManager.html" title="class in javax.naming.spi">NamingManager</a></pre>
<div class="block">
<span>此类包含支持DirContext <tt>实现的</tt>方法。</span>
<p> <span>这个类是NamingManager的<tt>扩展名</tt></span> <span>它包含服务提供商用于访问对象工厂和状态工厂以及获取支持联合的连续上下文的方法。</span> </p>
<p> <span><tt>DirectoryManager</tt>对多个线程的并发访问是安全的。</span> </p>
<p> <span>除非另有说明,否则传递给任何方法<tt><tt>NameAttributes</tt></tt>或环境参数由调用者所有。</span> <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/spi/DirObjectFactory.html" title="javax.naming.spi中的接口"><code>DirObjectFactory</code></a> <a href="../../../javax/naming/spi/DirStateFactory.html" title="javax.naming.spi中的接口"><code>DirStateFactory</code></a></span>
</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>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.naming.spi.NamingManager">
<!-- --> </a> <h3>Fields inherited from class javax.naming.spi.<a href="../../../javax/naming/spi/NamingManager.html" title="class in javax.naming.spi">NamingManager</a></h3> <code><a href="../../../javax/naming/spi/NamingManager.html#CPE">CPE</a></code></li>
</ul> </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="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>static <a href="../../../javax/naming/directory/DirContext.html" title="interface in javax.naming.directory">DirContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/spi/DirectoryManager.html#getContinuationDirContext-javax.naming.CannotProceedException-">getContinuationDirContext</a></span>(<a href="../../../javax/naming/CannotProceedException.html" title="class in javax.naming">CannotProceedException</a> cpe)</code>
<div class="block">
创建一个上下文以继续执行
<tt>DirContext</tt>操作。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>static <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/spi/DirectoryManager.html#getObjectInstance-java.lang.Object-javax.naming.Name-javax.naming.Context-java.util.Hashtable-javax.naming.directory.Attributes-">getObjectInstance</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> refInfo, <a href="../../../javax/naming/Name.html" title="interface in javax.naming">Name</a> name, <a href="../../../javax/naming/Context.html" title="interface in javax.naming">Context</a> nameCtx, <a href="../../../java/util/Hashtable.html" title="class in java.util">Hashtable</a>&lt;?,?&gt; environment, <a href="../../../javax/naming/directory/Attributes.html" title="interface in javax.naming.directory">Attributes</a> attrs)</code>
<div class="block">
为指定的对象,属性和环境创建一个对象的实例。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>static <a href="../../../javax/naming/spi/DirStateFactory.Result.html" title="class in javax.naming.spi">DirStateFactory.Result</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/naming/spi/DirectoryManager.html#getStateToBind-java.lang.Object-javax.naming.Name-javax.naming.Context-java.util.Hashtable-javax.naming.directory.Attributes-">getStateToBind</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> obj, <a href="../../../javax/naming/Name.html" title="interface in javax.naming">Name</a> name, <a href="../../../javax/naming/Context.html" title="interface in javax.naming">Context</a> nameCtx, <a href="../../../java/util/Hashtable.html" title="class in java.util">Hashtable</a>&lt;?,?&gt; environment, <a href="../../../javax/naming/directory/Attributes.html" title="interface in javax.naming.directory">Attributes</a> attrs)</code>
<div class="block">
当给定原始对象及其属性时,检索绑定对象的状态。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.naming.spi.NamingManager">
<!-- --> </a> <h3>Methods inherited from class javax.naming.spi.<a href="../../../javax/naming/spi/NamingManager.html" title="class in javax.naming.spi">NamingManager</a></h3> <code><a href="../../../javax/naming/spi/NamingManager.html#getContinuationContext-javax.naming.CannotProceedException-">getContinuationContext</a>, <a href="../../../javax/naming/spi/NamingManager.html#getInitialContext-java.util.Hashtable-">getInitialContext</a>, <a href="../../../javax/naming/spi/NamingManager.html#getObjectInstance-java.lang.Object-javax.naming.Name-javax.naming.Context-java.util.Hashtable-">getObjectInstance</a>, <a href="../../../javax/naming/spi/NamingManager.html#getStateToBind-java.lang.Object-javax.naming.Name-javax.naming.Context-java.util.Hashtable-">getStateToBind</a>, <a href="../../../javax/naming/spi/NamingManager.html#getURLContext-java.lang.String-java.util.Hashtable-">getURLContext</a>, <a href="../../../javax/naming/spi/NamingManager.html#hasInitialContextFactoryBuilder--">hasInitialContextFactoryBuilder</a>, <a href="../../../javax/naming/spi/NamingManager.html#setInitialContextFactoryBuilder-javax.naming.spi.InitialContextFactoryBuilder-">setInitialContextFactoryBuilder</a>, <a href="../../../javax/naming/spi/NamingManager.html#setObjectFactoryBuilder-javax.naming.spi.ObjectFactoryBuilder-">setObjectFactoryBuilder</a></code></li>
</ul>
<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">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getContinuationDirContext-javax.naming.CannotProceedException-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getContinuationDirContext</h4> <pre>public static <a href="../../../javax/naming/directory/DirContext.html" title="interface in javax.naming.directory">DirContext</a> getContinuationDirContext(<a href="../../../javax/naming/CannotProceedException.html" title="class in javax.naming">CannotProceedException</a> cpe)
throws <a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></pre>
<div class="block">
<span>创建一个上下文以继续执行<tt>DirContext</tt>操作。</span>
<span>操作就像<tt>NamingManager.getContinuationContext()</tt> ,只有返回的连续上下文是一个<tt>DirContext</tt></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>cpe</code> - 触发此继续的非空异常。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
用于继续操作的非空值
<tt>DirContext</tt>对象。
</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>
<a href="../../../javax/naming/spi/NamingManager.html#getContinuationContext-javax.naming.CannotProceedException-"><code>NamingManager.getContinuationContext(CannotProceedException)</code></a>
</dd>
</dl> </li>
</ul> <a name="getObjectInstance-java.lang.Object-javax.naming.Name-javax.naming.Context-java.util.Hashtable-javax.naming.directory.Attributes-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getObjectInstance</h4> <pre>public static <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> getObjectInstance(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> refInfo,
<a href="../../../javax/naming/Name.html" title="interface in javax.naming">Name</a> name,
<a href="../../../javax/naming/Context.html" title="interface in javax.naming">Context</a> nameCtx,
<a href="../../../java/util/Hashtable.html" title="class in java.util">Hashtable</a>&lt;?,?&gt; environment,
<a href="../../../javax/naming/directory/Attributes.html" title="interface in javax.naming.directory">Attributes</a> attrs)
throws <a href="../../../java/lang/Exception.html" title="class in java.lang">异常</a></pre>
<div class="block">
<span>为指定的对象,属性和环境创建一个对象的实例。</span>
<p> <span>此方法与<tt>NamingManager.getObjectInstance</tt>相同,但有以下差异:</span> </p>
<ul>
<li> <span>它接受一个包含与该对象相关联的属性的<tt>Attributes</tt>参数。</span> <span><tt>DirObjectFactory</tt>可能会使用这些属性来保存从目录中查找它们。</span> </li>
<li> <span>对象工厂的尝试必须执行<tt>ObjectFactory</tt><tt>DirObjectFactory</tt></span> <span>如果它实现<tt><tt>DirObjectFactoryDirObjectFactory.getObjectInstance()</tt></tt>被使用,否则将使用<tt>ObjectFactory.getObjectInstance()。</tt></span> </li>
</ul>
<span>实现DirContext接口的<tt>服务</tt>提供商应该使用这种方法,而不是<tt>NamingManager.getObjectInstance()</tt></span>
<p></p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>refInfo</code> - 可以为其创建对象的空对象。
</dd>
<dd>
<span><code>name</code> - 此对象的名称相对于<code>nameCtx</code></span>
<span>指定名称是可选的;</span>
<span>如果省略,则<code>name</code>应为null。</span>
</dd>
<dd>
<span><code>nameCtx</code> - 指定<code>name</code>参数的上下文。</span>
<span>如果为null <code>name</code>是相对于默认的初始上下文。</span>
</dd>
<dd>
<code>environment</code> - 在创建对象工厂和对象时可能使用的空环境。
</dd>
<dd>
<span><code>attrs</code> - 与refInfo相关联的可能的空属性。</span>
<span>这可能不是refInfo的完整属性集;</span>
<span>您可能可以从目录中读取更多属性。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>使用<code>refInfo</code><tt>attrs</tt>创建的对象;</span>
<span><code>refInfo</code>如果对象不能由工厂创建。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></code> - 如果在尝试获取URL上下文时遇到命名异常或者如果其中一个工厂引用了NamingException。
</dd>
<dd>
<span><code><a href="../../../java/lang/Exception.html" title="class in java.lang">异常</a></code> - 如果其中一个访问的工厂引发异常,或者在加载和实例化工厂和对象类时遇到错误。</span>
<span>如果工厂不希望使用其他工厂来尝试创建对象,那么工厂应该只抛出异常。</span>
<span><tt>DirObjectFactory.getObjectInstance()</tt></span>
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.3
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/naming/spi/NamingManager.html#getURLContext-java.lang.String-java.util.Hashtable-"><code>NamingManager.getURLContext(java.lang.String, java.util.Hashtable&lt;?, ?&gt;)</code></a> <a href="../../../javax/naming/spi/DirObjectFactory.html" title="javax.naming.spi中的接口"><code>DirObjectFactory</code></a> <a href="../../../javax/naming/spi/DirObjectFactory.html#getObjectInstance-java.lang.Object-javax.naming.Name-javax.naming.Context-java.util.Hashtable-javax.naming.directory.Attributes-"><code>DirObjectFactory.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable&lt;?, ?&gt;, javax.naming.directory.Attributes)</code></a></span>
</dd>
</dl> </li>
</ul> <a name="getStateToBind-java.lang.Object-javax.naming.Name-javax.naming.Context-java.util.Hashtable-javax.naming.directory.Attributes-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getStateToBind</h4> <pre>public static <a href="../../../javax/naming/spi/DirStateFactory.Result.html" title="class in javax.naming.spi">DirStateFactory.Result</a> getStateToBind(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> obj,
<a href="../../../javax/naming/Name.html" title="interface in javax.naming">Name</a> name,
<a href="../../../javax/naming/Context.html" title="interface in javax.naming">Context</a> nameCtx,
<a href="../../../java/util/Hashtable.html" title="class in java.util">Hashtable</a>&lt;?,?&gt; environment,
<a href="../../../javax/naming/directory/Attributes.html" title="interface in javax.naming.directory">Attributes</a> attrs)
throws <a href="../../../javax/naming/NamingException.html" title="class in javax.naming">NamingException</a></pre>
<div class="block">
<span>当给定原始对象及其属性时,检索绑定对象的状态。</span>
<p> <span>此方法类似于<tt>NamingManager.getStateToBind</tt>除了以下区别:</span> </p>
<ul>
<li> <span>它接受一个<tt>包含</tt>传递给<tt>DirContext.bind()</tt>方法的<tt>属性的Attributes</tt>参数。</span> </li>
<li> <span>它返回一个非空的<tt>DirStateFactory.Result</tt>实例,其中包含要绑定的对象,以及伴随绑定的属性。</span> <span>对象或属性可能为null。</span> </li>
<li> <span>国家工厂试图分别执行<tt>StateFactory</tt><tt>DirStateFactory</tt></span> <span>如果实现<tt>DirStateFactory</tt> ,则<tt>调用DirStateFactory.getStateToBind()</tt> ;</span> <span>否则, <tt>StateFactory.getStateToBind()</tt>被调用。</span> </li>
</ul>
<span>实现DirContext接口的<tt>服务</tt>提供商应该使用此方法,而不是<tt>NamingManager.getStateToBind()</tt></span>
<p> <span>有关如何确定要尝试的状态工厂列表的说明请参阅NamingManager.getStateToBind</span> </p>
<p> <span>该方法返回的对象由调用者拥有。</span> <span>实施不会随后修改。</span> <span>它将包含同样由调用者拥有的新的<tt>Attributes</tt>对象或对原始<tt>attrs</tt>参数的引用。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>obj</code> - 要获取状态绑定的非空对象。
</dd>
<dd>
<code>name</code> - 相对于
<code>nameCtx</code>的此对象的名称如果未指定名称则为null。
</dd>
<dd>
<code>nameCtx</code> - 指定
<code>name</code>参数的上下文,如果
<code>name</code>相对于默认的初始上下文则为null。
</dd>
<dd>
<code>environment</code> - 用于创建状态工厂和对象状态的可能的空环境。
</dd>
<dd>
<code>attrs</code> - 可能为null的与对象绑定的属性。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>包含要绑定的对象和属性的非空DirStateFactory.Result。</span>
<span>如果没有状态工厂返回非空答案,则结果将包含具有原始属性的对象( <tt>obj</tt> )。</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>DirStateFactory.getStateToBind()</tt></span>
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.3
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/naming/spi/DirStateFactory.html" title="javax.naming.spi中的接口"><code>DirStateFactory</code></a> <a href="../../../javax/naming/spi/DirStateFactory.html#getStateToBind-java.lang.Object-javax.naming.Name-javax.naming.Context-java.util.Hashtable-javax.naming.directory.Attributes-"><code>DirStateFactory.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable&lt;?, ?&gt;, javax.naming.directory.Attributes)</code></a> <a href="../../../javax/naming/spi/NamingManager.html#getStateToBind-java.lang.Object-javax.naming.Name-javax.naming.Context-java.util.Hashtable-"><code>NamingManager.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable&lt;?, ?&gt;)</code></a></span>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>