Класс EnumSyntax
- java.lang.Object
-
- javax.print.attribute.EnumSyntax
- Все реализованные интерфейсы:
-
Serializable,Cloneable
- Прямые известные подклассы:
-
Chromaticity,ColorSupported,Compression,DialogTypeSelection,Fidelity,Finishings,JobSheets,JobState,JobStateReason,Media,MultipleDocumentHandling,OrientationRequested,PDLOverrideSupported,PresentationDirection,PrinterIsAcceptingJobs,PrinterState,PrinterStateReason,PrintQuality,ReferenceUriSchemesSupported,Severity,SheetCollate,Sides
public abstract class EnumSyntax extends Object implements Serializable, Cloneable
Класс EnumSyntax — это абстрактный базовый класс, предоставляющий общее реализацию для всех объектов "типобезопасного перечисления". Класс перечисления (который расширяет класс EnumSyntax) предоставляет группу значений перечисления (объектов), которые являются одиночными экземплярами класса перечисления; например:
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;
}
} Затем вы можете написать код, использующий операторы == и != для проверки значений перечисления; например: Bach theComposer;
. . .
if (theComposer == Bach.JOHANN_SEBASTIAN) {
System.out.println ("The greatest composer of all time!");
} Метод equals() для класса перечисления просто проверяет идентичность объектов (==).
Вы можете преобразовать значение перечисления в строку, вызвав toString(). Строка извлекается из таблицы, предоставленной классом перечисления.
По сути, значение перечисления — это просто целое число, разное целое число для каждого значения перечисления в классе перечисления. Вы можете получить целое значение перечисления, вызвав getValue(). Целое значение перечисления устанавливается при его создании (см. EnumSyntax(int)). Поскольку конструктор защищён, единственно возможные значения перечисления — это одиночные объекты, объявленные в классе перечисления; дополнительные значения перечисления не могут быть созданы во время выполнения.
Вы можете определить подкласс класса перечисления, который расширяет его дополнительными значениями перечисления. Целые значения перечисления подкласса необязательно должны отличаться от целых значений перечисления суперкласса; методы ==, !=, equals(), и toString() по-прежнему будут работать правильно, даже если подкласс использует некоторые из тех же целых значений, что и суперкласс. Однако в приложении, в котором используются класс перечисления и подкласс, может потребоваться использовать различные целые значения в суперклассе и подклассе.
- См. также:
- Сериализованная форма
Конструкторы
| Модификатор | Конструктор | Описание |
|---|---|---|
protected | EnumSyntax(int value) | Создаёт новое значение перечисления с заданным целым значением. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object | clone() | Возвращает копию этого значения перечисления, которая для сохранения семантики значений перечисления является тем же объектом, что и это значение перечисления. |
protected EnumSyntax[] | getEnumValueTable() | Возвращает таблицу значений перечисления для класса перечисления этого значения перечисления. |
protected int | getOffset() | Возвращает наименьшее целое значение, используемое классом перечисления этого значения перечисления. |
protected String[] | getStringTable() | Возвращает таблицу строк для класса перечисления этого значения перечисления. |
int | getValue() | Возвращает целое значение этого значения перечисления. |
int | hashCode() | Возвращает значение хэш-кода для этого значения перечисления. |
protected Object | readResolve() | Во время ввода объекта преобразует этот сериализованный экземпляр перечисления в соответствующее значение перечисления, определенное в классе атрибута перечисления. |
String | toString() | Возвращает строковое значение, соответствующее этому значению перечисления. |
Методы, объявленные в классе java.lang.Object
equals, finalize, getClass, notify, notifyAll, wait, wait, wait Конструкторы
EnumSyntax
protected EnumSyntax(int value)
Создаёт новое значение перечисления с заданным целым значением.
- Параметры:
-
value- Целое значение
Методы
getValue
public int getValue()
Возвращает целое значение этого значения перечисления.
- Возвращает:
- значение
clone
public Object clone()
Возвращает копию этого значения перечисления, которая для сохранения семантики значений перечисления является тем же объектом, что и это значение перечисления.
hashCode
public int hashCode()
Возвращает значение хэш-кода для этого значения перечисления. Хэш-код — это просто целое значение этого значения перечисления.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого объекта.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
toString
public String toString()
Возвращает строковое значение, соответствующее этому значению перечисления.
readResolve
protected Object readResolve()
throws ObjectStreamException Во время ввода объекта преобразует этот сериализованный экземпляр перечисления в соответствующее значение перечисления, определенное в классе атрибута перечисления.
- Возвращает:
- Значение одиночного объекта перечисления, хранящегося по индексу i-L в таблице значений перечисления, возвращаемой
getEnumValueTable(), где i — целое значение этого значения перечисления, а L — значение, возвращаемоеgetOffset() - Исключения:
-
ObjectStreamException- если поток не может быть десериализован -
InvalidObjectException- если таблица значений перечисленияnull, целое значение этого значения перечисления не соответствует элементу в таблице значений перечисления или соответствующий элемент в таблице значений перечисленияnull. (Примечание:InvalidObjectExceptionявляется подклассомObjectStreamException, которыйreadResolve()объявлен для выброса.)
getStringTable
protected String[] getStringTable()
Возвращает таблицу строк для класса перечисления этого значения перечисления. Целые значения класса перечисления предполагаются в диапазоне L..L+N-1, где L — значение, возвращаемое getOffset(), а N — длина таблицы строк. Элемент в таблице строк по индексу i-L — значение, возвращаемое toString() для значения перечисления, целое значение которого равно i. Если целое число в указанном диапазоне не используется ни одним значением перечисления, оставьте соответствующий элемент таблицы null.
По умолчанию возвращается null. Если класс перечисления (подкласс класса EnumSyntax) не переопределяет этот метод для возврата таблицы строк non-null, и подкласс не переопределяет метод toString(), базовый метод toString() вернёт просто строковое представление целого значения этого значения перечисления.
- Возвращает:
- таблицу строк
getEnumValueTable
protected EnumSyntax[] getEnumValueTable()
Возвращает таблицу значений перечисления для класса перечисления этого значения перечисления. Целые значения класса перечисления предполагаются в диапазоне L..L+N-1, где L — значение, возвращаемое getOffset(), а N — длина таблицы значений перечисления. Элемент в таблице значений перечисления по индексу i-L — объект значения перечисления, целое значение которого равно i; метод readResolve() нуждается в этом для сохранения семантики одиночных объектов при десериализации экземпляра перечисления. Если целое число в указанном диапазоне не используется ни одним значением перечисления, оставьте соответствующий элемент таблицы null.
По умолчанию возвращается null. Если класс перечисления (подкласс класса EnumSyntax) не переопределяет этот метод для возврата таблицы значений перечисления non-null, и подкласс не переопределяет метод readResolve(), базовый метод readResolve() выбросит исключение при десериализации экземпляра перечисления из потока ввода-вывода объекта.
- Возвращает:
- таблицу значений
getOffset
protected int getOffset()
Возвращает наименьшее целое значение, используемое классом перечисления этого значения перечисления.
По умолчанию возвращается 0. Если класс перечисления (подкласс класса EnumSyntax) использует целые значения, начинающиеся не с 0, переопределите этот метод в подклассе.
- Возвращает:
- смещение самого низкого значения перечисления
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/print/attribute/EnumSyntax.html