413 lines
22 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">
javax.print.attribute
</div>
<h2 class="title" title="Class EnumSyntax">Class EnumSyntax</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.print.attribute.EnumSyntax</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../../java/io/Serializable.html" title="java.io中的接口">Serializable</a> <a href="../../../java/lang/Cloneable.html" title="java.lang中的接口">Cloneable</a></span>
</dd>
</dl>
<dl>
<dt>
已知直接子类:
</dt>
<dd>
<span><a href="../../../javax/print/attribute/standard/Chromaticity.html" title="javax.print.attribute.standard中的类">Chromaticity</a> <a href="../../../javax/print/attribute/standard/ColorSupported.html" title="javax.print.attribute.standard中的类">ColorSupported</a> <a href="../../../javax/print/attribute/standard/Compression.html" title="javax.print.attribute.standard中的类">Compression</a> <a href="../../../javax/print/attribute/standard/DialogTypeSelection.html" title="javax.print.attribute.standard中的类">DialogTypeSelection</a> <a href="../../../javax/print/attribute/standard/Fidelity.html" title="javax.print.attribute.standard中的类">Fidelity</a> <a href="../../../javax/print/attribute/standard/Finishings.html" title="javax.print.attribute.standard中的类">Finishings</a> <a href="../../../javax/print/attribute/standard/JobSheets.html" title="javax.print.attribute.standard中的类">JobSheets</a> <a href="../../../javax/print/attribute/standard/JobState.html" title="javax.print.attribute.standard中的类">JobState</a> <a href="../../../javax/print/attribute/standard/JobStateReason.html" title="javax.print.attribute.standard中的类">JobStateReason</a> <a href="../../../javax/print/attribute/standard/Media.html" title="javax.print.attribute.standard中的类">Media</a> <a href="../../../javax/print/attribute/standard/MultipleDocumentHandling.html" title="javax.print.attribute.standard中的类">MultipleDocumentHandling</a> <a href="../../../javax/print/attribute/standard/OrientationRequested.html" title="javax.print.attribute.standard中的类">OrientationRequested</a> <a href="../../../javax/print/attribute/standard/PDLOverrideSupported.html" title="javax.print.attribute.standard中的类">PDLOverrideSupported</a> <a href="../../../javax/print/attribute/standard/PresentationDirection.html" title="javax.print.attribute.standard中的类">PresentationDirection</a> <a href="../../../javax/print/attribute/standard/PrinterIsAcceptingJobs.html" title="javax.print.attribute.standard中的类">PrinterIsAcceptingJobs</a> <a href="../../../javax/print/attribute/standard/PrinterState.html" title="javax.print.attribute.standard中的类">PrinterState</a> <a href="../../../javax/print/attribute/standard/PrinterStateReason.html" title="javax.print.attribute.standard中的类">PrinterStateReason</a> <a href="../../../javax/print/attribute/standard/PrintQuality.html" title="javax.print.attribute.standard中的类">PrintQuality</a> <a href="../../../javax/print/attribute/standard/ReferenceUriSchemesSupported.html" title="javax.print.attribute.standard中的类">ReferenceUriSchemesSupported</a> <a href="../../../javax/print/attribute/standard/Severity.html" title="javax.print.attribute.standard中的类">Severity</a> <a href="../../../javax/print/attribute/standard/SheetCollate.html" title="javax.print.attribute.standard中的类">SheetCollate</a> <a href="../../../javax/print/attribute/standard/Sides.html" title="javax.print.attribute.standard中的类">Sides</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">EnumSyntax</span>
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>
implements <a href="../../../java/io/Serializable.html" title="interface in java.io">Serializable</a>, <a href="../../../java/lang/Cloneable.html" title="interface in java.lang">Cloneable</a></pre>
<div class="block">
<span>类EnumSyntax是提供所有“类型安全枚举”对象的通用实现的抽象基类。</span>
<span>枚举类扩展类EnumSyntax提供了一组枚举值对象它们是枚举类的单例实例;</span>
<span>例如:</span>
<pre> <span>public class Bach extends EnumSyntax {
public static final Bach JOHANN_SEBASTIAN = new Bach(0);
public static final Bach WILHELM_FRIEDEMANN = new Bach(1);
public static final Bach CARL_PHILIP_EMMANUEL = new Bach(2);
public static final Bach JOHANN_CHRISTIAN = new Bach(3);
public static final Bach P_D_Q = new Bach(4);
private static final String[] stringTable = {
"Johann Sebastian Bach",
"Wilhelm Friedemann Bach",
"Carl Philip Emmanuel Bach",
"Johann Christian Bach",
"P.D.Q. Bach"
};
protected String[] getStringTable() {
return stringTable;
}
private static final Bach[] enumValueTable = {
JOHANN_SEBASTIAN,
WILHELM_FRIEDEMANN,
CARL_PHILIP_EMMANUEL,
JOHANN_CHRISTIAN,
P_D_Q
};
protected EnumSyntax[] getEnumValueTable() {
return enumValueTable;
}
}</span> </pre>
<span>然后,您可以编写使用<code>==</code><code>!=</code>运算符来测试枚举值的代码;</span>
<span>例如:</span>
<pre> <span>Bach theComposer;
. . .
if (theComposer == Bach.JOHANN_SEBASTIAN) {
System.out.println ("The greatest composer of all time!");
}</span> </pre>
<span>枚举类的<code>equals()</code>方法只是对相同的对象进行测试( <code>==</code> )。</span>
<p> <span>您可以通过调用<a href="../../../javax/print/attribute/EnumSyntax.html#toString--"><code>toString()</code></a>将枚举值转换为字符串。</span> <span>该字符串从枚举类提供的表中获取。</span> </p>
<p> <span>在引擎盖下,枚举值只是一个整数,枚举类中每个枚举值是不同的整数。</span> <span>您可以通过调用<a href="../../../javax/print/attribute/EnumSyntax.html#getValue--"><code>getValue()</code></a>获取枚举值的整数值。</span> <span>构建枚举值的整数值(见<a href="../../../javax/print/attribute/EnumSyntax.html#EnumSyntax-int-"><code>EnumSyntax(int)</code></a> )。</span> <span>由于构造函数被保护,唯一可能的枚举值是在枚举类中声明的单例对象;</span> <span>在运行时无法创建其他枚举值。</span> </p>
<p> <span>您可以定义枚举类的子类,并将其扩展为附加枚举值。</span> <span>子类的枚举值的整数值不需要与超类的枚举值的整数值不同;</span> <span><code>==</code> <code>!=</code> <code>equals()</code><code>toString()</code>方法仍然正常工作,即使子类使用一些相同的整数值作为超的。</span> <span>但是,使用枚举类和子类的应用程序可能需要在超类和子类中具有不同的整数值。</span> </p>
<p></p>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../serialized-form.html#javax.print.attribute.EnumSyntax">Serialized Form</a>
</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/print/attribute/EnumSyntax.html#EnumSyntax-int-">EnumSyntax</a></span>(int value)</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="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="../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/print/attribute/EnumSyntax.html#clone--">clone</a></span>()</code>
<div class="block">
返回此枚举值的克隆,其中保留枚举值的语义是与此枚举值相同的对象。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>protected <a href="../../../javax/print/attribute/EnumSyntax.html" title="class in javax.print.attribute">EnumSyntax</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/print/attribute/EnumSyntax.html#getEnumValueTable--">getEnumValueTable</a></span>()</code>
<div class="block">
返回枚举值枚举类的枚举值表。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/print/attribute/EnumSyntax.html#getOffset--">getOffset</a></span>()</code>
<div class="block">
返回此枚举值枚举类使用的最小整数值。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>protected <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/print/attribute/EnumSyntax.html#getStringTable--">getStringTable</a></span>()</code>
<div class="block">
返回枚举值枚举类的字符串表。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/print/attribute/EnumSyntax.html#getValue--">getValue</a></span>()</code>
<div class="block">
返回此枚举值的整数值。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/print/attribute/EnumSyntax.html#hashCode--">hashCode</a></span>()</code>
<div class="block">
返回此枚举值的哈希码值。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>protected <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/print/attribute/EnumSyntax.html#readResolve--">readResolve</a></span>()</code>
<div class="block">
在对象输入期间,将此反序列化枚举实例转换为枚举属性类中定义的适当枚举值。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<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/print/attribute/EnumSyntax.html#toString--">toString</a></span>()</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#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#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</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="EnumSyntax-int-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>EnumSyntax</h4> <pre>protected EnumSyntax(int value)</pre>
<div class="block">
用给定的整数值构造一个新的枚举值。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>value</code> - 整数值。
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getValue--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getValue</h4> <pre>public int getValue()</pre>
<div class="block">
返回此枚举值的整数值。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
价值
</dd>
</dl> </li>
</ul> <a name="clone--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>clone</h4> <pre>public <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> clone()</pre>
<div class="block">
返回此枚举值的克隆,其中保留枚举值的语义是与此枚举值相同的对象。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">重写:</span>
</dt>
<dd>
<code><a href="../../../java/lang/Object.html#clone--">clone</a></code>在类别
<code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
这个实例的一个克隆。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../java/lang/Cloneable.html" title="java.lang中的接口"><code>Cloneable</code></a></span>
</dd>
</dl> </li>
</ul> <a name="hashCode--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>hashCode</h4> <pre>public int hashCode()</pre>
<div class="block">
<span>返回此枚举值的哈希码值。</span>
<span>哈希码只是这个枚举值的整数值。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">重写:</span>
</dt>
<dd>
<code><a href="../../../java/lang/Object.html#hashCode--">hashCode</a></code>在类别
<code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
该对象的哈希码值。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../java/lang/Object.html#equals-java.lang.Object-"><code>Object.equals(java.lang.Object)</code></a>
<a href="../../../java/lang/System.html#identityHashCode-java.lang.Object-"><code>System.identityHashCode(java.lang.Object)</code></a>
</dd>
</dl> </li>
</ul> <a name="toString--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>toString</h4> <pre>public <a href="../../../java/lang/String.html" title="class in java.lang">String</a> toString()</pre>
<div class="block">
返回与此枚举值对应的字符串值。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">重写:</span>
</dt>
<dd>
<code><a href="../../../java/lang/Object.html#toString--">toString</a></code>在类别
<code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
对象的字符串表示形式。
</dd>
</dl> </li>
</ul> <a name="readResolve--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readResolve</h4> <pre>protected <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> readResolve()
throws <a href="../../../java/io/ObjectStreamException.html" title="class in java.io">ObjectStreamException</a></pre>
<div class="block">
在对象输入期间,将此反序列化枚举实例转换为枚举属性类中定义的适当枚举值。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
枚举单数值存储在由
<a href="../../../javax/print/attribute/EnumSyntax.html#getEnumValueTable--"><code>getEnumValueTable()</code></a>返回的枚举值表中的索引
<i>i</i> -
<i>L</i>上,其中
<i>i</i>是此枚举值的整数值,
<i>L</i>
<a href="../../../javax/print/attribute/EnumSyntax.html#getOffset--"><code>getOffset()</code></a>返回的值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/io/ObjectStreamException.html" title="class in java.io">ObjectStreamException</a></code> - 如果流不能反序列化
</dd>
<dd>
<span><code><a href="../../../java/io/InvalidObjectException.html" title="class in java.io">InvalidObjectException</a></code> - 如果枚举值表为null则枚举值的整数值与枚举值表中的元素不对应或枚举值表中的相应元素为空。</span>
<span>(注: <a href="../../../java/io/InvalidObjectException.html" title="java.io中的类"><code>InvalidObjectException</code></a>是的子类<a href="../../../java/io/ObjectStreamException.html" title="java.io中的类"><code>ObjectStreamException</code></a> ,其中<code>readResolve()</code>声明扔。)</span>
</dd>
</dl> </li>
</ul> <a name="getStringTable--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getStringTable</h4> <pre>protected <a href="../../../java/lang/String.html" title="class in java.lang">String</a>[] getStringTable()</pre>
<div class="block">
<span>返回枚举值枚举类的字符串表。</span>
<span>枚举类的整数值假定在<i>L</i> .. <i>L</i> + <i>N</i> -1的范围内其中<i>L</i><a href="../../../javax/print/attribute/EnumSyntax.html#getOffset--"><code>getOffset()</code></a>返回的值, <i>N</i>是字符串表的长度。</span>
<span>在索引<i>i</i>中的字符串表中的元件- <i>L</i>是由返回的值<a href="../../../javax/print/attribute/EnumSyntax.html#toString--"><code>toString()</code></a>用于枚举值其整数值是<i>i。</i></span>
<span>如果任何枚举值都不使用上述范围内的整数,请将相应的表格元素留空。</span>
<p> <span>默认实现返回null。</span> <span>如果枚举类EnumSyntax类的子类不覆盖此方法以返回非空字符串表并且子类不覆盖<a href="../../../javax/print/attribute/EnumSyntax.html#toString--"><code>toString()</code></a>方法,则基类<a href="../../../javax/print/attribute/EnumSyntax.html#toString--"><code>toString()</code></a>方法将仅返回此枚举值的字符串表示形式整数值。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
字符串表
</dd>
</dl> </li>
</ul> <a name="getEnumValueTable--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getEnumValueTable</h4> <pre>protected <a href="../../../javax/print/attribute/EnumSyntax.html" title="class in javax.print.attribute">EnumSyntax</a>[] getEnumValueTable()</pre>
<div class="block">
<span>返回枚举值枚举类的枚举值表。</span>
<span>枚举类的整数值假定在<i>L</i> .. <i>L</i> + <i>N</i> -1的范围内其中<i>L</i>是由<a href="../../../javax/print/attribute/EnumSyntax.html#getOffset--"><code>getOffset()</code></a>返回的值, <i>N</i>是枚举值表的长度。</span>
<span>索引<i>i</i> - <i>L</i>的枚举值表中的元素是整数值为<i>i</i>的枚举值对象;</span>
<span><a href="../../../javax/print/attribute/EnumSyntax.html#readResolve--"><code>readResolve()</code></a>方法需要这样才能在枚举实例的反序列化过程中保留单例语义。</span>
<span>如果任何枚举值都不使用上述范围内的整数,请将相应的表格元素留空。</span>
<p> <span>默认实现返回null。</span> <span>如果枚举类类EnumSyntax的子类不覆盖此方法以返回非空枚举值表并且子类不覆盖<a href="../../../javax/print/attribute/EnumSyntax.html#readResolve--"><code>readResolve()</code></a>方法,则基类<a href="../../../javax/print/attribute/EnumSyntax.html#readResolve--"><code>readResolve()</code></a>方法将在枚举实例为从对象输入流反序列化。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
值表
</dd>
</dl> </li>
</ul> <a name="getOffset--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getOffset</h4> <pre>protected int getOffset()</pre>
<div class="block">
<span>返回此枚举值枚举类使用的最小整数值。</span>
<p> <span>默认实现返回0.如果枚举类EnumSyntax类的子类使用从0以外的整数值请在子类中覆盖此方法。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
最低枚举值的偏移量。
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>