mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-05 00:04:33 +08:00
250 lines
16 KiB
HTML
250 lines
16 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
compact3
|
||
</div>
|
||
<div class="subTitle">
|
||
javax.lang.model.util
|
||
</div>
|
||
<h2 class="title" title="Class ElementScanner7">Class ElementScanner7<R,P></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/lang/model/util/AbstractElementVisitor6.html" title="class in javax.lang.model.util">javax.lang.model.util.AbstractElementVisitor6</a><R,P></li>
|
||
<li>
|
||
<ul class="inheritance">
|
||
<li><a href="../../../../javax/lang/model/util/ElementScanner6.html" title="class in javax.lang.model.util">javax.lang.model.util.ElementScanner6</a><R,P></li>
|
||
<li>
|
||
<ul class="inheritance">
|
||
<li>javax.lang.model.util.ElementScanner7<R,P></li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<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>
|
||
All Implemented Interfaces:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="javax.lang.model.element中的接口">ElementVisitor</a> <R,P></span>
|
||
</dd>
|
||
</dl>
|
||
<dl>
|
||
<dt>
|
||
已知直接子类:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../../javax/lang/model/util/ElementScanner8.html" title="javax.lang.model.util中的类">ElementScanner8</a></span>
|
||
</dd>
|
||
</dl>
|
||
<hr/> <br/> <pre><a href="../../../../javax/annotation/processing/SupportedSourceVersion.html" title="annotation in javax.annotation.processing">@SupportedSourceVersion</a>(<a href="../../../../javax/annotation/processing/SupportedSourceVersion.html#value--">value</a>=<a href="../../../../javax/lang/model/SourceVersion.html#RELEASE_7">RELEASE_7</a>)
|
||
public class <span class="typeNameLabel">ElementScanner7<R,P></span>
|
||
extends <a href="../../../../javax/lang/model/util/ElementScanner6.html" title="class in javax.lang.model.util">ElementScanner6</a><R,P></pre>
|
||
<div class="block">
|
||
<span>具有适用于<a href="../../../../javax/lang/model/SourceVersion.html#RELEASE_7"><code>RELEASE_7</code></a>源版本的默认行为的程序元素的扫描访问者。</span>
|
||
<span>所述<tt>visit<i>XYZ</i>种</tt>方法在这个类通过调用扫描其成分元素<code>scan</code>他们<a href="../../../../javax/lang/model/element/Element.html#getEnclosedElements--">enclosed elements</a> , <a href="../../../../javax/lang/model/element/ExecutableElement.html#getParameters--">parameters</a> ,等等,如在单独的方法规范表示。</span>
|
||
<span>一个子类可以通过覆盖<tt>visit<i>XYZ</i></tt>方法来控制访问的顺序元素。</span>
|
||
<span>请注意,扫描仪的客户端可能会获得所需的行为,即调用<code>v.scan(e, p)</code>而不是<code>v.visit(e, p)</code>对感兴趣的根对象。</span>
|
||
<p> <span>当一个子类覆盖一个<tt>visit<i>XYZ</i></tt>方法时,新方法可以通过调用<tt>super.visit<i>XYZ</i></tt>以默认方式扫描附带的元素。</span> <span>以这种方式,具体的访问者可以控制关于附加处理的遍历组件元素的顺序;</span> <span>例如,在覆盖方法开始时始终调用<tt>super.visit<i>XYZ</i></tt>将产生预序遍历等。如果组件元素应以其他顺序<tt>遍历</tt> ,而不是调用<tt>super.visit<i>XYZ</i></tt> ,则覆盖访问方法应该调用<code>scan</code>中的元素期望的顺序。</span> </p>
|
||
<p> <span>本课程中的方法可能会因其总体合同而被覆盖。</span> <span>需要注意的是注释方法,具体子类与<a href="../../../../java/lang/Override.html" title="java.lang中的注释"><code>@Override</code></a>将有助于确定那些打算重写的方法。</span> </p>
|
||
<p> <span><b>警告:</b> <code>ElementVisitor</code>实现的ElementVisitor接口可能会在以后添加方法,以适应未来版本的Java编程语言中添加的新的,当前未知的语言结构。</span> <span>因此, <code>"visit"</code>可以将名称以<code>"visit"</code>开头的方法添加到此类中;</span> <span>为了避免不兼容,扩展此类的类不应声明任何以<code>"visit"</code>实例方法。</span> </p>
|
||
<p> <span>当添加这种新的访问方法时,此类中的默认实现将是调用<a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html#visitUnknown-javax.lang.model.element.Element-P-"><code>visitUnknown</code></a>方法。</span> <span>还将引入新的元素扫描器访问者类来对应于新的语言级别;</span> <span>该访问者对于访问方法将具有不同的默认行为。</span> <span>当新访客被介绍时,全部或部分访问者可能会被弃用。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
1.7
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../../javax/lang/model/util/ElementScanner6.html" title="javax.lang.model.util中的类"><code>ElementScanner6</code></a> , <a href="../../../../javax/lang/model/util/ElementScanner8.html" title="javax.lang.model.util中的类"><code>ElementScanner8</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.lang.model.util.ElementScanner6">
|
||
<!-- --> </a> <h3>Fields inherited from class javax.lang.model.util.<a href="../../../../javax/lang/model/util/ElementScanner6.html" title="class in javax.lang.model.util">ElementScanner6</a></h3> <code><a href="../../../../javax/lang/model/util/ElementScanner6.html#DEFAULT_VALUE">DEFAULT_VALUE</a></code></li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ======== 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/lang/model/util/ElementScanner7.html#ElementScanner7--">ElementScanner7</a></span>()</code>
|
||
<div class="block">
|
||
<span>具体子类的构造方法</span>
|
||
<span>使用<code>null</code>作为默认值。</span>
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><code>protected </code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/lang/model/util/ElementScanner7.html#ElementScanner7-R-">ElementScanner7</a></span>(<a href="../../../../javax/lang/model/util/ElementScanner7.html" title="type parameter in ElementScanner7">R</a> defaultValue)</code>
|
||
<div class="block">
|
||
<span>具体子类的构造方法</span>
|
||
<span>使用参数作为默认值。</span>
|
||
</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="t2"><span><a href="javascript:show(2);">接口方法</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><a href="../../../../javax/lang/model/util/ElementScanner7.html" title="type parameter in ElementScanner7">R</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/lang/model/util/ElementScanner7.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/util/ElementScanner7.html" title="type parameter in ElementScanner7">P</a> p)</code>
|
||
<div class="block">
|
||
此实现扫描包含的元素。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="methods.inherited.from.class.javax.lang.model.util.ElementScanner6">
|
||
<!-- --> </a> <h3>Methods inherited from class javax.lang.model.util.<a href="../../../../javax/lang/model/util/ElementScanner6.html" title="class in javax.lang.model.util">ElementScanner6</a></h3> <code><a href="../../../../javax/lang/model/util/ElementScanner6.html#scan-javax.lang.model.element.Element-">scan</a>, <a href="../../../../javax/lang/model/util/ElementScanner6.html#scan-javax.lang.model.element.Element-P-">scan</a>, <a href="../../../../javax/lang/model/util/ElementScanner6.html#scan-java.lang.Iterable-P-">scan</a>, <a href="../../../../javax/lang/model/util/ElementScanner6.html#visitExecutable-javax.lang.model.element.ExecutableElement-P-">visitExecutable</a>, <a href="../../../../javax/lang/model/util/ElementScanner6.html#visitPackage-javax.lang.model.element.PackageElement-P-">visitPackage</a>, <a href="../../../../javax/lang/model/util/ElementScanner6.html#visitType-javax.lang.model.element.TypeElement-P-">visitType</a>, <a href="../../../../javax/lang/model/util/ElementScanner6.html#visitTypeParameter-javax.lang.model.element.TypeParameterElement-P-">visitTypeParameter</a></code></li>
|
||
</ul>
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="methods.inherited.from.class.javax.lang.model.util.AbstractElementVisitor6">
|
||
<!-- --> </a> <h3>Methods inherited from class javax.lang.model.util.<a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html" title="class in javax.lang.model.util">AbstractElementVisitor6</a></h3> <code><a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html#visit-javax.lang.model.element.Element-">visit</a>, <a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html#visit-javax.lang.model.element.Element-P-">visit</a>, <a href="../../../../javax/lang/model/util/AbstractElementVisitor6.html#visitUnknown-javax.lang.model.element.Element-P-">visitUnknown</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">
|
||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="constructor.detail">
|
||
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="ElementScanner7--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>ElementScanner7</h4> <pre>protected ElementScanner7()</pre>
|
||
<div class="block">
|
||
<span>具体子类的构造方法</span>
|
||
<span>使用<code>null</code>作为默认值。</span>
|
||
</div> </li>
|
||
</ul> <a name="ElementScanner7-java.lang.Object-">
|
||
<!-- --> </a><a name="ElementScanner7-R-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>ElementScanner7</h4> <pre>protected ElementScanner7(<a href="../../../../javax/lang/model/util/ElementScanner7.html" title="type parameter in ElementScanner7">R</a> defaultValue)</pre>
|
||
<div class="block">
|
||
<span>具体子类的构造方法</span>
|
||
<span>使用参数作为默认值。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>defaultValue</code> - 默认值
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="visitVariable-javax.lang.model.element.VariableElement-java.lang.Object-">
|
||
<!-- --> </a><a name="visitVariable-javax.lang.model.element.VariableElement-P-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>visitVariable</h4> <pre>public <a href="../../../../javax/lang/model/util/ElementScanner7.html" title="type parameter in ElementScanner7">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/util/ElementScanner7.html" title="type parameter in ElementScanner7">P</a> p)</pre>
|
||
<div class="block">
|
||
此实现扫描包含的元素。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">Specified by:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../../javax/lang/model/element/ElementVisitor.html#visitVariable-javax.lang.model.element.VariableElement-P-">visitVariable</a></code>在接口
|
||
<code><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="interface in javax.lang.model.element">ElementVisitor</a><<a href="../../../../javax/lang/model/util/ElementScanner7.html" title="type parameter in ElementScanner7">R</a>,<a href="../../../../javax/lang/model/util/ElementScanner7.html" title="type parameter in ElementScanner7">P</a>></code>
|
||
</dd>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">重写:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../../javax/lang/model/util/ElementScanner6.html#visitVariable-javax.lang.model.element.VariableElement-P-">visitVariable</a></code>在
|
||
<code><a href="../../../../javax/lang/model/util/ElementScanner6.html" title="class in javax.lang.model.util">ElementScanner6</a><<a href="../../../../javax/lang/model/util/ElementScanner7.html" title="type parameter in ElementScanner7">R</a>,<a href="../../../../javax/lang/model/util/ElementScanner7.html" title="type parameter in ElementScanner7">P</a>></code>
|
||
</dd>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>e</code> - 要访问的元素
|
||
</dd>
|
||
<dd>
|
||
<code>p</code> - 访客指定的参数
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
the result of scanning
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |