uTools-Manuals/docs/java/javax/script/ScriptEngineFactory.html

411 lines
19 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">
compact1, compact2, compact3
</div>
<div class="subTitle">
javax.script
</div>
<h2 class="title" title="Interface ScriptEngineFactory">Interface ScriptEngineFactory</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public interface <span class="typeNameLabel">ScriptEngineFactory</span></pre>
<div class="block">
<span><code>ScriptEngineFactory</code>用于描述和实例化<code>ScriptEngines</code></span>
<br/>
<br/>
<span>实施每个类<code>ScriptEngine</code>具有对应的工厂暴露元数据描述发动机类。</span>
<br/>
<br/>
<span><code>ScriptEngineManager</code>使用<i>Jar文件规范中描述</i>的服务提供者机制来获取当前ClassLoader中可用的所有<code>ScriptEngineFactories</code>的实例。</span>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</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="../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/script/ScriptEngineFactory.html#getEngineName--">getEngineName</a></span>()</code>
<div class="block">
返回
<code>ScriptEngine</code>的全名。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<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/script/ScriptEngineFactory.html#getEngineVersion--">getEngineVersion</a></span>()</code>
<div class="block">
返回
<code>ScriptEngine</code>的版本。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="../../java/util/List.html" title="interface in java.util">List</a>&lt;<a href="../../java/lang/String.html" title="class in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/script/ScriptEngineFactory.html#getExtensions--">getExtensions</a></span>()</code>
<div class="block">
返回的文件扩展名,一般识别写在该支持的语言脚本的不可变列表
<code>ScriptEngine</code>
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<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/script/ScriptEngineFactory.html#getLanguageName--">getLanguageName</a></span>()</code>
<div class="block">
返回此
<code>ScriptEngine</code>的脚本语言的名称。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<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/script/ScriptEngineFactory.html#getLanguageVersion--">getLanguageVersion</a></span>()</code>
<div class="block">
返回此
<code>ScriptEngine</code>的脚本语言的版本。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<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/script/ScriptEngineFactory.html#getMethodCallSyntax-java.lang.String-java.lang.String-java.lang.String...-">getMethodCallSyntax</a></span>(<a href="../../java/lang/String.html" title="class in java.lang">String</a> obj, <a href="../../java/lang/String.html" title="class in java.lang">String</a> m, <a href="../../java/lang/String.html" title="class in java.lang">String</a>... args)</code>
<div class="block">
返回一个String可以使用支持的脚本语言的语法来调用Java对象的方法。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="../../java/util/List.html" title="interface in java.util">List</a>&lt;<a href="../../java/lang/String.html" title="class in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/script/ScriptEngineFactory.html#getMimeTypes--">getMimeTypes</a></span>()</code>
<div class="block">
返回一个不可变的mimetype列表与引擎可执行的脚本相关联。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code><a href="../../java/util/List.html" title="interface in java.util">List</a>&lt;<a href="../../java/lang/String.html" title="class in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/script/ScriptEngineFactory.html#getNames--">getNames</a></span>()</code>
<div class="block">
返回短名称的不可变列表
<code>ScriptEngine</code> ,它可用于识别
<code>ScriptEngine</code>
<code>ScriptEngineManager</code>
</div> </td>
</tr>
<tr class="altColor" id="i8">
<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/script/ScriptEngineFactory.html#getOutputStatement-java.lang.String-">getOutputStatement</a></span>(<a href="../../java/lang/String.html" title="class in java.lang">String</a> toDisplay)</code>
<div class="block">
返回一个可用作语句的字符串使用支持的脚本语言的语法显示指定的String。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code><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/script/ScriptEngineFactory.html#getParameter-java.lang.String-">getParameter</a></span>(<a href="../../java/lang/String.html" title="class in java.lang">String</a> key)</code>
<div class="block">
返回属性的值,该属性的含义可能是实现特定的。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<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/script/ScriptEngineFactory.html#getProgram-java.lang.String...-">getProgram</a></span>(<a href="../../java/lang/String.html" title="class in java.lang">String</a>... statements)</code>
<div class="block">
返回带有给定语句的有效脚本语言可执行程序。
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code><a href="../../javax/script/ScriptEngine.html" title="interface in javax.script">ScriptEngine</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/script/ScriptEngineFactory.html#getScriptEngine--">getScriptEngine</a></span>()</code>
<div class="block">
返回与此
<code>ScriptEngineFactory</code>相关
<code>ScriptEngine</code> ScriptEngine的一个实例。
</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="getEngineName--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getEngineName</h4> <pre><a href="../../java/lang/String.html" title="class in java.lang">String</a> getEngineName()</pre>
<div class="block">
<span>返回<code>ScriptEngine</code>的全名。</span>
<span>例如基于Mozilla Rhino Javascript引擎的实现可能会返回<i>Rhino Mozilla Javascript Engine</i></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
引擎实现的名称。
</dd>
</dl> </li>
</ul> <a name="getEngineVersion--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getEngineVersion</h4> <pre><a href="../../java/lang/String.html" title="class in java.lang">String</a> getEngineVersion()</pre>
<div class="block">
返回
<code>ScriptEngine</code>的版本。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>ScriptEngine</code>实现版本。
</dd>
</dl> </li>
</ul> <a name="getExtensions--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getExtensions</h4> <pre><a href="../../java/util/List.html" title="interface in java.util">List</a>&lt;<a href="../../java/lang/String.html" title="class in java.lang">String</a>&gt; getExtensions()</pre>
<div class="block">
<span>返回一个不可变的文件扩展名列表,通常可以识别以该<code>ScriptEngine</code>的语言编写的脚本。</span>
<span>该阵列由<code>ScriptEngineManager</code>用于实现其<code>getEngineByExtension</code>方法。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
扩展列表。
</dd>
</dl> </li>
</ul> <a name="getMimeTypes--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getMimeTypes</h4> <pre><a href="../../java/util/List.html" title="interface in java.util">List</a>&lt;<a href="../../java/lang/String.html" title="class in java.lang">String</a>&gt; getMimeTypes()</pre>
<div class="block">
<span>返回一个不可变的mimetype列表与引擎可执行的脚本相关联。</span>
<span>该列表由<code>ScriptEngineManager</code>类用于实现其<code>getEngineByMimetype</code>方法。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
mime类型列表。
</dd>
</dl> </li>
</ul> <a name="getNames--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getNames</h4> <pre><a href="../../java/util/List.html" title="interface in java.util">List</a>&lt;<a href="../../java/lang/String.html" title="class in java.lang">String</a>&gt; getNames()</pre>
<div class="block">
<span>返回短名称的不可变列表<code>ScriptEngine</code> ,它可用于识别<code>ScriptEngine</code><code>ScriptEngineManager</code></span>
<span>例如基于Mozilla Rhino Javascript引擎的实现可能会返回包含{“javascript”“rhino”}的列表。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个不可变的名单
</dd>
</dl> </li>
</ul> <a name="getLanguageName--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getLanguageName</h4> <pre><a href="../../java/lang/String.html" title="class in java.lang">String</a> getLanguageName()</pre>
<div class="block">
返回此
<code>ScriptEngine</code>的脚本语言的名称。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
支持的语言的名称。
</dd>
</dl> </li>
</ul> <a name="getLanguageVersion--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getLanguageVersion</h4> <pre><a href="../../java/lang/String.html" title="class in java.lang">String</a> getLanguageVersion()</pre>
<div class="block">
返回此
<code>ScriptEngine</code>的脚本语言版本。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
所支持语言的版本。
</dd>
</dl> </li>
</ul> <a name="getParameter-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getParameter</h4> <pre><a href="../../java/lang/Object.html" title="class in java.lang">Object</a> getParameter(<a href="../../java/lang/String.html" title="class in java.lang">String</a> key)</pre>
<div class="block">
<span>返回属性的值,该属性的含义可能是实现特定的。</span>
<span>在所有实现中定义值的键是:</span>
<ul>
<li> <span>ScriptEngine.ENGINE</span> </li>
<li> <span>ScriptEngine.ENGINE_VERSION</span> </li>
<li> <span>ScriptEngine.NAME</span> </li>
<li> <span>ScriptEngine.LANGUAGE</span> </li>
<li> <span>ScriptEngine.LANGUAGE_VERSION</span> </li>
</ul>
<p> <span>这些键中的值是由返回的字符串<code>getEngineName</code> <code>getEngineVersion</code> <code>getName</code> <code>getLanguageName</code><code>getLanguageVersion</code>分别。</span> <br/><br/> <span>保留键<code><b>THREADING</b></code> ,其值描述了引擎在并行执行脚本和维护状态方面的行为。</span> <span>这些值为<code><b>THREADING</b></code>关键是:</span> <br/><br/></p>
<ul>
<li> <span><code>null</code> - 引擎实现不是线程安全的,不能用于在多个线程上同时执行脚本。</span> </li>
<li> <span><code>"MULTITHREADED"</code> - 引擎实现是内部线程安全的,并且脚本可以同时执行,尽管在一个线程上执行脚本的效果对于其他线程上的脚本可能是可见的。</span> </li>
<li> <span><code>"THREAD-ISOLATED"</code> - 该实现满足“MULTITHREADED”的要求并且引擎为在不同线程上执行的脚本中的符号维护独立值。</span> </li>
<li> <span><code>"STATELESS"</code> - 实现满足要求</span> </li>
<li> <span><code>"THREAD-ISOLATED"</code></span> <span>此外,脚本执行不改变的映射<code>Bindings</code>这是发动机范围<code>ScriptEngine</code></span> <span>特别是,在按键<code>Bindings</code>及其关联值之前和脚本执行后是相同的。</span> </li>
</ul>
<br/>
<br/>
<span>实现可以定义实现特定的密钥。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>key</code> - 参数的名称
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>给定参数的值。</span>
<span>如果没有为该键分配值,则返回<code>null</code></span>
</dd>
</dl> </li>
</ul> <a name="getMethodCallSyntax-java.lang.String-java.lang.String-java.lang.String...-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getMethodCallSyntax</h4> <pre><a href="../../java/lang/String.html" title="class in java.lang">String</a> getMethodCallSyntax(<a href="../../java/lang/String.html" title="class in java.lang">String</a> obj,
<a href="../../java/lang/String.html" title="class in java.lang">String</a> m,
<a href="../../java/lang/String.html" title="class in java.lang">String</a>... args)</pre>
<div class="block">
<span>返回一个String可以使用支持的脚本语言的语法来调用Java对象的方法。</span>
<span>例如Javascript引擎的实现可能是</span>
<pre> <span><code> public String getMethodCallSyntax(String obj, String m, String... args) { String ret = obj; ret += "." + m + "("; for (int i = 0; i &lt; args.length; i++) { ret += args[i]; if (i &lt; args.length - 1) { ret += ","; } } ret += ")"; return ret; } </code></span> </pre>
<p></p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>obj</code> - 表示要调用其方法的对象的名称。</span>
<span>名称是一个用于创建使用绑定<code>put</code>的方法<code>ScriptEngine</code> ,所述<code>put</code>一个的方法<code>ENGINE_SCOPE</code> <code>Bindings</code> ,或<code>setAttribute</code>的方法<code>ScriptContext</code></span>
<span>脚本中使用的标识符可以是指定的标识符的装饰形式。</span>
</dd>
<dd>
<code>m</code> - 要调用的方法的名称。
</dd>
<dd>
<code>args</code> - 方法调用中的参数的名称。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
用于在脚本语言语法中调用方法的String。
</dd>
</dl> </li>
</ul> <a name="getOutputStatement-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getOutputStatement</h4> <pre><a href="../../java/lang/String.html" title="class in java.lang">String</a> getOutputStatement(<a href="../../java/lang/String.html" title="class in java.lang">String</a> toDisplay)</pre>
<div class="block">
<span>返回一个可用作语句的字符串使用支持的脚本语言的语法显示指定的String。</span>
<span>例如Perl引擎的实现可能是</span>
<pre> <span><code> public String getOutputStatement(String toDisplay) { return "print(" + toDisplay + ")"; } </code></span> </pre>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>toDisplay</code> - 要返回的语句显示的字符串。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
用于在脚本语言语法中显示String的字符串。
</dd>
</dl> </li>
</ul> <a name="getProgram-java.lang.String...-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getProgram</h4> <pre><a href="../../java/lang/String.html" title="class in java.lang">String</a> getProgram(<a href="../../java/lang/String.html" title="class in java.lang">String</a>... statements)</pre>
<div class="block">
<span>返回带有给定语句的有效脚本语言可执行程序。</span>
<span>例如PHP引擎的实现可能是</span>
<pre> <span><code> public String getProgram(String... statements) { String retval = "&lt;?\n"; int len = statements.length; for (int i = 0; i &lt; len; i++) { retval += statements[i] + ";\n"; } return retval += "?&gt;"; } </code></span> </pre>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>statements</code> - 要执行的语句。</span>
<span>可能会返回值为<code>getMethodCallSyntax</code><code>getOutputStatement</code>方法。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
该程序
</dd>
</dl> </li>
</ul> <a name="getScriptEngine--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getScriptEngine</h4> <pre><a href="../../javax/script/ScriptEngine.html" title="interface in javax.script">ScriptEngine</a> getScriptEngine()</pre>
<div class="block">
<span>返回与此<code>ScriptEngineFactory</code>相关<code>ScriptEngine</code> ScriptEngine的一个实例。</span>
<span>通常返回一个新的ScriptEngine但实现可能会共享共享或重用引擎。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个新的
<code>ScriptEngine</code>实例。
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>