Класс 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)

Возвращает, эквивалентен ли этот атрибут разрешения переданному объекту. Для эквивалентности должны выполняться все следующие условия:

  1. object не null.
  2. object является экземпляром класса ResolutionSyntax.
  3. Разрешение по направлению поперечного перемещения этого атрибута равно разрешению по направлению поперечного перемещения object.
  4. Разрешение по направлению движения этого атрибута равно разрешению по направлению движения object.

Переопределяет:
equals в классе Object
Параметры:
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.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта.

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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/print/attribute/ResolutionSyntax.html

Spec-Zone .ru
спецификации, руководства, описания, API