mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-02 23:04:22 +08:00
360 lines
20 KiB
HTML
360 lines
20 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
compact3
|
||
</div>
|
||
<div class="subTitle">
|
||
javax.lang.model.element
|
||
</div>
|
||
<h2 class="title" title="Interface ElementVisitor">Interface ElementVisitor<R,P></h2>
|
||
</div><div class="contentContainer">
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数类型</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code>R</code> - 这个访问者的方法的返回类型。</span>
|
||
<span>对不需要返回结果的访问者使用<a href="../../../../java/lang/Void.html" title="java.lang中的类"><code>Void</code></a> 。</span>
|
||
</dd>
|
||
<dd>
|
||
<span><code>P</code> - 访问者方法的附加参数类型。</span>
|
||
<span>对不需要其他<code>Void</code>的访问者使用Void。</span>
|
||
</dd>
|
||
</dl>
|
||
<dl>
|
||
<dt>
|
||
所有已知实现类:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="javax.lang.model.util中的类">AbstractElementVisitor6</a> , <a href="../../../../javax/lang/model/util/AbstractElementVisitor7.html" title="javax.lang.model.util中的类">AbstractElementVisitor7</a> , <a href="../../../../javax/lang/model/util/AbstractElementVisitor8.html" title="javax.lang.model.util中的类">AbstractElementVisitor8</a> , <a href="../../../../javax/lang/model/util/ElementKindVisitor6.html" title="javax.lang.model.util中的类">ElementKindVisitor6</a> , <a href="../../../../javax/lang/model/util/ElementKindVisitor7.html" title="javax.lang.model.util中的类">ElementKindVisitor7</a> , <a href="../../../../javax/lang/model/util/ElementKindVisitor8.html" title="javax.lang.model.util中的类">ElementKindVisitor8</a> , <a href="../../../../javax/lang/model/util/ElementScanner6.html" title="javax.lang.model.util中的类">ElementScanner6</a> , <a href="../../../../javax/lang/model/util/ElementScanner7.html" title="javax.lang.model.util中的类">ElementScanner7</a> , <a href="../../../../javax/lang/model/util/ElementScanner8.html" title="javax.lang.model.util中的类">ElementScanner8</a> , <a href="../../../../javax/lang/model/util/SimpleElementVisitor6.html" title="javax.lang.model.util中的类">SimpleElementVisitor6</a> , <a href="../../../../javax/lang/model/util/SimpleElementVisitor7.html" title="javax.lang.model.util中的类">SimpleElementVisitor7</a> , <a href="../../../../javax/lang/model/util/SimpleElementVisitor8.html" title="javax.lang.model.util中的类">SimpleElementVisitor8</a></span>
|
||
</dd>
|
||
</dl>
|
||
<hr/> <br/> <pre>public interface <span class="typeNameLabel">ElementVisitor<R,P></span></pre>
|
||
<div class="block">
|
||
<span>游客的程式元素,以访客设计风格为格局。</span>
|
||
<span>实现此接口的类用于在编译时元素的种类未知时对元素进行操作。</span>
|
||
<span>当访问者被传递到元素的<a href="../../../../javax/lang/model/element/Element.html#accept-javax.lang.model.element.ElementVisitor-P-"><code>accept</code></a>方法时,调用最适用于该元素的<tt>visit<i>XYZ</i></tt>方法。</span>
|
||
<p> <span>实现此界面的类可以或可以不抛出<code>NullPointerException</code>如果附加参数<code>p</code>是<code>null</code> ;</span> <span>有关详细信息,请参阅实施类的文档。</span> </p>
|
||
<p> <span><b>警告:</b>可能的方法将添加到此界面以适应未来版本的Java编程语言中添加的新的,当前未知的语言结构。</span> <span>因此,直接实现此接口的访问者类可能与未来的平台版本不兼容。</span> <span>为了避免这种源不兼容,我们鼓励访问者实现扩展实现此接口的适当抽象访问类。</span> <span>然而,API通常应该将此访问接口用作参数,返回类型等的类型,而不是抽象类之一。</span> </p>
|
||
<p> <span>请注意,如果添加为<em>默认方法,</em>则可以以源<em>兼容的</em>方式添加适应新语言结构的<em>方法</em> 。</span> <span>但是,默认方法仅适用于Java SE 8和更高版本,并且Java SE 8中捆绑的<code>javax.lang.model.*</code>软件包也需要在Java SE 7上运行。因此,在扩展<code>javax.lang.model.*</code>以涵盖Java SE 8语言时<em>,不能</em>使用默认方法特征。</span> <span>但是,默认方法可能用于仅在Java SE 8和更高版本平台上运行的<code>javax.lang.model.*</code>软件包的<code>javax.lang.model.*</code>版本。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
1.6
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="javax.lang.model.util中的类"><code>AbstractElementVisitor6</code></a> , <a href="../../../../javax/lang/model/util/AbstractElementVisitor7.html" title="javax.lang.model.util中的类"><code>AbstractElementVisitor7</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/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/lang/model/element/ElementVisitor.html#visit-javax.lang.model.element.Element-">visit</a></span>(<a href="../../../../javax/lang/model/element/Element.html" title="interface in javax.lang.model.element">Element</a> e)</code>
|
||
<div class="block">
|
||
方便的方法相当于
|
||
<code>v.visit(e, null)</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/lang/model/element/ElementVisitor.html#visit-javax.lang.model.element.Element-P-">visit</a></span>(<a href="../../../../javax/lang/model/element/Element.html" title="interface in javax.lang.model.element">Element</a> e, <a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">P</a> p)</code>
|
||
<div class="block">
|
||
访问元素
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i2">
|
||
<td class="colFirst"><code><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/lang/model/element/ElementVisitor.html#visitExecutable-javax.lang.model.element.ExecutableElement-P-">visitExecutable</a></span>(<a href="../../../../javax/lang/model/element/ExecutableElement.html" title="interface in javax.lang.model.element">ExecutableElement</a> e, <a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">P</a> p)</code>
|
||
<div class="block">
|
||
访问可执行元素。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i3">
|
||
<td class="colFirst"><code><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/lang/model/element/ElementVisitor.html#visitPackage-javax.lang.model.element.PackageElement-P-">visitPackage</a></span>(<a href="../../../../javax/lang/model/element/PackageElement.html" title="interface in javax.lang.model.element">PackageElement</a> e, <a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">P</a> p)</code>
|
||
<div class="block">
|
||
访问包元素。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i4">
|
||
<td class="colFirst"><code><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/lang/model/element/ElementVisitor.html#visitType-javax.lang.model.element.TypeElement-P-">visitType</a></span>(<a href="../../../../javax/lang/model/element/TypeElement.html" title="interface in javax.lang.model.element">TypeElement</a> e, <a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">P</a> p)</code>
|
||
<div class="block">
|
||
访问类型元素。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i5">
|
||
<td class="colFirst"><code><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/lang/model/element/ElementVisitor.html#visitTypeParameter-javax.lang.model.element.TypeParameterElement-P-">visitTypeParameter</a></span>(<a href="../../../../javax/lang/model/element/TypeParameterElement.html" title="interface in javax.lang.model.element">TypeParameterElement</a> e, <a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">P</a> p)</code>
|
||
<div class="block">
|
||
访问类型参数元素。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i6">
|
||
<td class="colFirst"><code><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/lang/model/element/ElementVisitor.html#visitUnknown-javax.lang.model.element.Element-P-">visitUnknown</a></span>(<a href="../../../../javax/lang/model/element/Element.html" title="interface in javax.lang.model.element">Element</a> e, <a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">P</a> p)</code>
|
||
<div class="block">
|
||
访问一种未知的元素。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i7">
|
||
<td class="colFirst"><code><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/lang/model/element/ElementVisitor.html#visitVariable-javax.lang.model.element.VariableElement-P-">visitVariable</a></span>(<a href="../../../../javax/lang/model/element/VariableElement.html" title="interface in javax.lang.model.element">VariableElement</a> e, <a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">P</a> p)</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="visit-javax.lang.model.element.Element-java.lang.Object-">
|
||
<!-- --> </a><a name="visit-javax.lang.model.element.Element-P-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>visit</h4> <pre><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a> visit(<a href="../../../../javax/lang/model/element/Element.html" title="interface in javax.lang.model.element">Element</a> e,
|
||
<a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">P</a> p)</pre>
|
||
<div class="block">
|
||
访问元素
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>e</code> - 要访问的元素
|
||
</dd>
|
||
<dd>
|
||
<code>p</code> - 访客指定的参数
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
访客指定的结果
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="visit-javax.lang.model.element.Element-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>visit</h4> <pre><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a> visit(<a href="../../../../javax/lang/model/element/Element.html" title="interface in javax.lang.model.element">Element</a> e)</pre>
|
||
<div class="block">
|
||
方便的方法相当于
|
||
<code>v.visit(e, null)</code> 。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>e</code> - 要访问的元素
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
访客指定的结果
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="visitPackage-javax.lang.model.element.PackageElement-java.lang.Object-">
|
||
<!-- --> </a><a name="visitPackage-javax.lang.model.element.PackageElement-P-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>visitPackage</h4> <pre><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a> visitPackage(<a href="../../../../javax/lang/model/element/PackageElement.html" title="interface in javax.lang.model.element">PackageElement</a> e,
|
||
<a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">P</a> p)</pre>
|
||
<div class="block">
|
||
访问包元素。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>e</code> - 要访问的元素
|
||
</dd>
|
||
<dd>
|
||
<code>p</code> - 访客指定的参数
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
访客指定的结果
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="visitType-javax.lang.model.element.TypeElement-java.lang.Object-">
|
||
<!-- --> </a><a name="visitType-javax.lang.model.element.TypeElement-P-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>visitType</h4> <pre><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a> visitType(<a href="../../../../javax/lang/model/element/TypeElement.html" title="interface in javax.lang.model.element">TypeElement</a> e,
|
||
<a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">P</a> p)</pre>
|
||
<div class="block">
|
||
访问类型元素。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>e</code> - 要访问的元素
|
||
</dd>
|
||
<dd>
|
||
<code>p</code> - 访客指定的参数
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
访客指定的结果
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="visitVariable-javax.lang.model.element.VariableElement-java.lang.Object-">
|
||
<!-- --> </a><a name="visitVariable-javax.lang.model.element.VariableElement-P-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>visitVariable</h4> <pre><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a> visitVariable(<a href="../../../../javax/lang/model/element/VariableElement.html" title="interface in javax.lang.model.element">VariableElement</a> e,
|
||
<a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">P</a> p)</pre>
|
||
<div class="block">
|
||
访问可变元素。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>e</code> - 要访问的元素
|
||
</dd>
|
||
<dd>
|
||
<code>p</code> - 访客指定的参数
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
访客指定的结果
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="visitExecutable-javax.lang.model.element.ExecutableElement-java.lang.Object-">
|
||
<!-- --> </a><a name="visitExecutable-javax.lang.model.element.ExecutableElement-P-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>visitExecutable</h4> <pre><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a> visitExecutable(<a href="../../../../javax/lang/model/element/ExecutableElement.html" title="interface in javax.lang.model.element">ExecutableElement</a> e,
|
||
<a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">P</a> p)</pre>
|
||
<div class="block">
|
||
访问可执行元素。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>e</code> - 要访问的元素
|
||
</dd>
|
||
<dd>
|
||
<code>p</code> - 访客指定的参数
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
访客指定的结果
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="visitTypeParameter-javax.lang.model.element.TypeParameterElement-java.lang.Object-">
|
||
<!-- --> </a><a name="visitTypeParameter-javax.lang.model.element.TypeParameterElement-P-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>visitTypeParameter</h4> <pre><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a> visitTypeParameter(<a href="../../../../javax/lang/model/element/TypeParameterElement.html" title="interface in javax.lang.model.element">TypeParameterElement</a> e,
|
||
<a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">P</a> p)</pre>
|
||
<div class="block">
|
||
访问类型参数元素。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>e</code> - 要访问的元素
|
||
</dd>
|
||
<dd>
|
||
<code>p</code> - 访客指定的参数
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
访客指定的结果
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="visitUnknown-javax.lang.model.element.Element-java.lang.Object-">
|
||
<!-- --> </a><a name="visitUnknown-javax.lang.model.element.Element-P-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>visitUnknown</h4> <pre><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">R</a> visitUnknown(<a href="../../../../javax/lang/model/element/Element.html" title="interface in javax.lang.model.element">Element</a> e,
|
||
<a href="../../../../javax/lang/model/element/ElementVisitor.html" title="type parameter in ElementVisitor">P</a> p)</pre>
|
||
<div class="block">
|
||
<span>访问一种未知的元素。</span>
|
||
<span>如果语言发展并且将新的元素添加到<code>Element</code>层次结构中,则可能会发生这种情况。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>e</code> - 要访问的元素
|
||
</dd>
|
||
<dd>
|
||
<code>p</code> - 访客指定的参数
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
访客指定的结果
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../../javax/lang/model/element/UnknownElementException.html" title="class in javax.lang.model.element">UnknownElementException</a></code> - 访客实现可以可选地抛出此异常
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |