Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ждать пробуждения, обычно вследствие уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ждать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного периода реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ждать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного периода реального времени.

Подробное описание полей

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, 2026, 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.

Spec-Zone.ru

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