Класс ResolutionSyntax
- java.lang.Object
-
- javax.print.attribute.ResolutionSyntax
- Все реализованные интерфейсы:
- Serializable, Cloneable
- Прямые известные подклассы:
- PrinterResolution
public abstract class ResolutionSyntax extends Object implements Serializable, Cloneable
Класс ResolutionSyntax — это абстрактный базовый класс, предоставляющий общее реализацию всех атрибутов, обозначающих разрешение принтера.
Значение атрибута разрешения состоит из двух элементов: разрешение по направлению поперечной подачи и разрешение по направлению подачи. Атрибут разрешения может быть создан путём предоставления двух значений и указания единиц измерения этих значений. Предоставляются методы для возвращения значений атрибута разрешения, указывая единицы, в которых должны быть возвращены значения. Две наиболее распространенные единицы измерения разрешения — точки на дюйм (dpi) и точки на сантиметр (dpcm), и экспортированные константы DPI и DPCM предназначены для указания этих единиц.
После создания значение атрибута разрешения является неизменяемым.
Проектирование
Значения разрешения атрибута по направлению поперечной подачи и направлению подачи хранятся внутри в единицах точек на 100 дюймов (dphi). Хранение значений в dphi, а не, скажем, в метрических единицах, позволяет прецизионное целочисленное преобразование между dpi и dphi и между dpcm и dphi: 1 dpi = 100 dphi, 1 dpcm = 254 dphi. Таким образом, значения могут быть сохранены в атрибуте разрешения и извлечены обратно в любой единице без потери точности. Это не гарантировалось бы, если бы использовалась представленность с плавающей точкой. Однако, как правило, возникает ошибка округления, если значения атрибута разрешения создаются в одних единицах, а извлекаются в других; например, 600 dpi будет округлено до 236 dpcm, тогда как истинное значение (с пятью значащими цифрами) составляет 236,22 dpcm.
Хранение значений внутри в общих единицах dphi позволяет сравнивать два атрибута разрешения без учёта единиц, в которых они были созданы; например, 300 dpcm будет сравниваться с 762 dpi, так как оба они хранятся как 76200 dphi. В частности, служба поиска может сопоставить атрибуты разрешения на основе равенства их сериализованных представлений независимо от единиц, в которых они были созданы. Снова, использование целых чисел для внутреннего хранения позволяет производить точные сравнения на равенство, что не было бы гарантировано при использовании представления с плавающей точкой.
Экспортированная константа DPI фактически является коэффициентом преобразования, с помощью которого следует умножить значение в dpi, чтобы получить значение в dphi. Аналогично, экспортированная константа DPCM является коэффициентом преобразования, с помощью которого следует умножить значение в dpcm, чтобы получить значение в dphi. Клиент может указать значение разрешения в единицах, отличных от dpi или dpcm, предоставив собственный коэффициент преобразования. Однако, так как внутренние единицы dphi были выбраны с учетом поддержки только внешних единиц dpi и dpcm, нет гарантии, что коэффициент преобразования для единиц клиента будет точным целым числом. Если коэффициент преобразования не является точным целым числом, значения разрешения в единицах клиента не будут сохранены точно.
- См. также:
- Сериализованная форма
Поля
| Модификатор и тип | Поле и описание |
|---|---|
static int |
DPCM Значение для указания единиц точек на сантиметр (dpcm). |
static int |
DPI Значение для указания единиц точек на дюйм (dpi). |
Конструкторы
| Конструктор и описание |
|---|
ResolutionSyntax(int crossFeedResolution,
int feedResolution,
int units) Создать новый атрибут разрешения из заданных элементов. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
equals(Object object) Возвращает, эквивалентен ли этот атрибут разрешения переданному объекту. |
int |
getCrossFeedResolution(int units) Возвращает разрешение атрибута разрешения по направлению поперечной подачи в заданных единицах. |
protected int |
getCrossFeedResolutionDphi() Возвращает разрешение атрибута разрешения по направлению поперечной подачи в единицах dphi. |
int |
getFeedResolution(int units) Возвращает разрешение атрибута разрешения по направлению подачи в заданных единицах. |
protected int |
getFeedResolutionDphi() Возвращает разрешение атрибута разрешения по направлению подачи в единицах dphi. |
int[] |
getResolution(int units) Получить значения разрешения этого атрибута разрешения в заданных единицах. |
int |
hashCode() Возвращает хэш-код для этого атрибута разрешения. |
boolean |
lessThanOrEquals(ResolutionSyntax other) Определить, меньше ли значение этого атрибута разрешения или равно значению заданного атрибута разрешения. |
String |
toString() Возвращает строковое представление этого атрибута разрешения. |
String |
toString(int units,
String unitsName) Возвращает строковое представление этого атрибута разрешения в заданных единицах. |
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Поля
DPI
public static final int DPI
Значение для указания единиц точек на дюйм (dpi). Фактически это коэффициент пересчёта, на который необходимо умножить dpi, чтобы получить dphi (100).
- См. также:
- Значения постоянных полей
DPCM
public static final int DPCM
Значение для указания единиц точек на сантиметр (dpcm). Фактически это коэффициент пересчёта, на который необходимо умножить dpcm, чтобы получить dphi (254).
- См. также:
- Значения постоянных полей
Конструкторы
ResolutionSyntax
public ResolutionSyntax(int crossFeedResolution,
int feedResolution,
int units) Создаёт новый атрибут разрешения из заданных элементов.
- Параметры:
-
crossFeedResolution- Разрешение по направлению поперечного питания. -
feedResolution- Разрешение по направлению подачи. -
units- Коэффициент пересчета единиц, например,DPIилиDPCM. - Исключения:
-
IllegalArgumentException- (исключение времени выполнения) Выбрасывается, еслиcrossFeedResolution < 1илиfeedResolution < 1илиunits < 1.
Методы
getResolution
public int[] getResolution(int units)
Возвращает значения разрешения атрибута разрешения в заданных единицах. Значения округляются до ближайшего целого числа.
- Параметры:
-
units- Коэффициент пересчета единиц, например,DPIилиDPCM. - Возвращает:
- Массив из двух элементов с разрешением по направлению поперечного питания в индексе 0 и разрешением по направлению подачи в индексе 1.
- Исключения:
-
IllegalArgumentException- (исключение времени выполнения) Выбрасывается, еслиunits < 1.
getCrossFeedResolution
public int getCrossFeedResolution(int units)
Возвращает разрешение атрибута разрешения по направлению поперечного питания в заданных единицах. Значение округляется до ближайшего целого числа.
- Параметры:
-
units- Коэффициент пересчета единиц, например,DPIилиDPCM. - Возвращает:
- Разрешение по направлению поперечного питания.
- Исключения:
-
IllegalArgumentException- (исключение времени выполнения) Выбрасывается, еслиunits < 1.
getFeedResolution
public int getFeedResolution(int units)
Возвращает разрешение атрибута разрешения по направлению подачи в заданных единицах. Значение округляется до ближайшего целого числа.
- Параметры:
-
units- Коэффициент пересчета единиц, например,DPIилиDPCM. - Возвращает:
- Разрешение по направлению подачи.
- Исключения:
-
IllegalArgumentException- (исключение времени выполнения) Выбрасывается, еслиunits < 1.
toString
public String toString(int units,
String unitsName) Возвращает строковое представление этого атрибута разрешения в заданных единицах. Строка имеет вид "CxF U", где C - разрешение по направлению поперечного питания, F - разрешение по направлению подачи, а U - название единиц. Значения округляются до ближайшего целого числа.
- Параметры:
-
units- Коэффициент пересчета единиц, например,CODE>DPIилиDPCM. -
unitsName- Строка с именем единиц, например,"dpi"или"dpcm". Если null, название единиц не добавляется к результату. - Возвращает:
- Строковое представление этого атрибута разрешения.
- Исключения:
-
IllegalArgumentException- (исключение времени выполнения) Выбрасывается, еслиunits < 1.
lessThanOrEquals
public boolean lessThanOrEquals(ResolutionSyntax other)
Определяет, является ли значение этого атрибута разрешения меньше или равно значению заданного атрибута разрешения. Это верно, если выполняются все следующие условия:
- Разрешение по направлению поперечного питания этого атрибута меньше или равно разрешению по направлению поперечного питания
otherатрибута. - Разрешение по направлению подачи этого атрибута меньше или равно разрешению по направлению подачи
otherатрибута.
- Параметры:
-
other- Атрибут разрешения для сравнения. - Возвращает:
- True, если этот атрибут разрешения меньше или равен атрибуту разрешения
other, иначе false. - Исключения:
-
NullPointerException- (исключение времени выполнения) Выбрасывается, еслиotherравно null.
equals
public boolean equals(Object object)
Возвращает, эквивалентен ли этот атрибут разрешения переданному объекту. Чтобы быть эквивалентным, все следующие условия должны быть истинными:
-
objectне равно null. -
objectявляется экземпляром класса ResolutionSyntax. - Разрешение по направлению поперечного питания этого атрибута равно разрешению по направлению поперечного питания
objectатрибута. - Разрешение по направлению подачи этого атрибута равно разрешению по направлению подачи
objectатрибута.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
object- Объект для сравнения. - Возвращает:
- True, если
objectэквивалентен этому атрибуту разрешения, иначе false. - См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Возвращает значение хэш-кода для этого атрибута разрешения.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого объекта.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
toString
public String toString()
Возвращает строковое представление этого атрибута разрешения. Строка имеет вид "CxF dphi", где C - разрешение по направлению поперечного питания, а F - разрешение по направлению подачи. Значения сообщаются во внутренних единицах dphi.
getCrossFeedResolutionDphi
protected int getCrossFeedResolutionDphi()
Возвращает разрешение атрибута разрешения по направлению поперечного питания в единицах dphi. (Для использования в подклассе.)
- Возвращает:
- Разрешение по направлению поперечного питания.
getFeedResolutionDphi
protected int getFeedResolutionDphi()
Возвращает разрешение атрибута разрешения по направлению подачи в единицах dphi. (Для использования в подклассе.)
- Возвращает:
- Разрешение по направлению подачи.
© 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.