Spec-Zone.ru › OpenJDK 25

Класс 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 final int DPCM
Значение, обозначающее единицы точек на сантиметр (dpcm).
static final 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)
Возвращает строковое представление этого атрибута разрешения в указанных единицах.

Методы, объявленные в классе 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(Object)

toString

public String toString()
Возвращает строковое представление этого атрибута разрешения. Строка имеет формат "CxF dphi", где C — разрешение в поперечном направлении подачи, а F — разрешение в направлении подачи. Значения приводятся во внутренних единицах dphi.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта

getCrossFeedResolutionDphi

protected int getCrossFeedResolutionDphi()
Возвращает разрешение этого атрибута в поперечном направлении подачи в единицах dphi. (Для использования в подклассе.)
Возвращает:
разрешение в поперечном направлении подачи

getFeedResolutionDphi

protected int getFeedResolutionDphi()
Возвращает разрешение этого атрибута в направлении подачи в единицах dphi. (Для использования в подклассе.)
Возвращает:
разрешение в направлении подачи

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры рабочего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/java.desktop/javax/print/attribute/ResolutionSyntax.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API