Spec-Zone .ru
спецификации, руководства, описания, API
|
См.: Описание
Интерфейс | Описание |
---|---|
Атрибут |
Атрибут интерфейса является основным интерфейсом, реализованным любым, и каждая печать приписывают class, чтобы указать, что class представляет атрибут печати.
|
AttributeSet |
Интерфейс AttributeSet определяет интерфейс для ряда атрибутов печати.
|
DocAttribute |
DocAttribute интерфейса является интерфейсом тегирования, который атрибут печати реализации class, чтобы указать на атрибут обозначают установку для документа.
|
DocAttributeSet |
Интерфейс DocAttributeSet определяет интерфейс для ряда атрибутов документа, то есть.
|
PrintJobAttribute |
PrintJobAttribute является интерфейсом тегирования, который атрибут печати реализации class, чтобы указать на атрибут описывают состояние Задания Печати или некоторую другую характеристику Задания Печати.
|
PrintJobAttributeSet |
Интерфейс PrintJobAttributeSet определяет интерфейс для ряда атрибутов задания печати, то есть.
|
PrintRequestAttribute |
PrintRequestAttribute интерфейса является интерфейсом тегирования, который атрибут печати реализации class, чтобы указать на атрибут обозначают требуемую установку для задания печати.
|
PrintRequestAttributeSet |
Интерфейс PrintRequestAttributeSet определяет интерфейс для ряда атрибутов запроса печати, то есть.
|
PrintServiceAttribute |
PrintServiceAttribute интерфейса является интерфейсом тегирования, который атрибут печати реализации class, чтобы указать на атрибут описывают состояние Службы печати или некоторую другую характеристику Службы печати.
|
PrintServiceAttributeSet |
Интерфейс PrintServiceAttributeSet определяет интерфейс для ряда атрибутов задания печати, то есть.
|
SupportedValuesAttribute |
SupportedValuesAttribute интерфейса является интерфейсом тегирования, который атрибут печати реализации class, чтобы указать на атрибут описывают поддерживаемые значения для другого атрибута.
|
Класс | Описание |
---|---|
AttributeSetUtilities |
Класс AttributeSetUtilities обеспечивает статические методы для того, чтобы они управляли AttributeSets.
|
DateTimeSyntax |
DateTimeSyntax класса является абстрактный class, обеспечивающий общую реализацию всех атрибутов, значение которых является датой и время.
|
EnumSyntax |
Классом EnumSyntax является абстрактный class, обеспечивающий общую реализацию всего "безопасного с точки зрения типов перечисления" объекты.
|
HashAttributeSet |
Класс HashAttributeSet обеспечивает
AttributeSet реализация с характеристиками карты хеша. |
HashDocAttributeSet |
HashDocAttributeSet класса обеспечивает набор атрибута, который наследовал его реализацию от class
HashAttributeSet и осуществляет семантические ограничения интерфейса DocAttributeSet . |
HashPrintJobAttributeSet |
HashPrintJobAttributeSet класса обеспечивает набор атрибута, который наследовал его реализацию от class
HashAttributeSet и осуществляет семантические ограничения интерфейса PrintJobAttributeSet . |
HashPrintRequestAttributeSet |
Класс HashPrintRequestAttributeSet наследовал свою реализацию от class
HashAttributeSet и осуществляет семантические ограничения интерфейса PrintRequestAttributeSet . |
HashPrintServiceAttributeSet |
HashPrintServiceAttributeSet класса обеспечивает набор атрибута, который наследовал его реализацию от class
HashAttributeSet и осуществляет семантические ограничения интерфейса PrintServiceAttributeSet . |
IntegerSyntax |
Классом IntegerSyntax является абстрактный class, обеспечивающий общую реализацию всех атрибутов с целочисленными значениями.
|
ResolutionSyntax |
Классом ResolutionSyntax является абстрактный class, обеспечивающий общую реализацию всех атрибутов, обозначающих разрешение принтера.
|
SetOfIntegerSyntax |
SetOfIntegerSyntax класса является абстрактный class, обеспечивающий общую реализацию всех атрибутов, значение которых является рядом неотрицательных целых чисел.
|
Size2DSyntax |
Классом Size2DSyntax является абстрактный class, обеспечивающий общую реализацию всех атрибутов, обозначающих размер в двух размерностях.
|
TextSyntax |
TextSyntax класса является абстрактный class, обеспечивающий общую реализацию всех атрибутов, значение которых является строкой.
|
URISyntax |
URISyntax класса является абстрактный class, обеспечивающий общую реализацию всех атрибутов, значение которых является Универсальным Идентификатором ресурса (URI).
|
Исключение | Описание |
---|---|
UnmodifiableSetException |
Брошенный, чтобы указать, что требуемая работа не может быть выполнена, потому что набор неподдающийся изменению.
|
Данные печати и инструкции обработки являются отдельными объектами. Это означает что:
Инструкция обработки не определяет, как задание печати обрабатывает запрос; каждая инструкция обработки является только описанием результатов задания печати. Задание печати определяет способ, которым оно достигает результатов, определенных инструкциями обработки. Представление обработки инструкций как дескриптивные элементы обеспечивает больше гибкости для того, чтобы оно реализовало задания печати.
В API Службы печати Java категория атрибута представляется Java class, реализовывая интерфейс Атрибута. Значения атрибута являются экземплярами такого class или одним из его подклассов. Например, чтобы определить число копий, приложение создает экземпляр Копий class с числом требуемых копий и использует Copies
экземпляр как часть запроса печати. В этом случае, Copies
class представляет категорию атрибута, и Copies
экземпляр представляет значение атрибута.
Как только принтер начинает обрабатывать задание печати, дополнительная информация о задании становится доступной, который мог бы включать: состояние задания (такой как завершено или поставлено в очередь) и число страниц, напечатанных до сих пор. Эти сведения являются также атрибутами. Атрибуты могут также описать принтер непосредственно, такой как: имя принтера, расположение принтера, и число заданий поставлены в очередь.
API Службы печати Java определяет эти различные виды атрибутов с пятью подынтерфейсами Attribute
:
DocAttribute
или ко всему заданию печати как a PrintRequestAttribute
. Определенные низкоуровневые атрибуты никогда не используются самостоятельно, но всегда агрегированы в высокоуровневые атрибуты. Эти низкоуровневые классы атрибута только реализуют Атрибут интерфейса, не любой из подынтерфейсов тегирования. API Службы печати Java определяет группу стандартных классов атрибута, смоделированных на атрибуты в интернет-Протоколе Печати (IPP) версия 1.1. Стандартные классы атрибута находятся в подпакете javax.print.attribute.standard, чтобы сохранить фактические классы атрибута, концептуально отделяются от универсального аппарата, определенного в пакете javax.print.attribute.
AttributeSet
интерфейс подобен интерфейсу Карты: это обеспечивает карту ключа к значениям, в которых каждый ключ уникален и может содержать не больше, чем одно значение. Однако, AttributeSet
интерфейс разрабатывается, чтобы определенно поддерживать потребности API Службы печати Java. AttributeSet
требует что:
AttributeSet
соответствует категории, и значение ключа может только быть одним из значений атрибута, которые принадлежат категории, представленной ключом. Таким образом, в отличие от a Map
, AttributeSet
ограничивает возможные значения ключа: категория атрибута не может быть установлена в значение атрибута, которое не принадлежит той категории. Attribute
интерфейс может быть добавлен к набору. javax.print.attribute пакет включает HashAttributeSet как конкретную реализацию интерфейса набора атрибута. HashAttributeSet
обеспечивает набор атрибута, основанный на карте хеша. Можно использовать эту реализацию или обеспечить Вашу собственную реализацию интерфейса AttributeSet
.
API Службы печати Java обеспечивает четыре специализации набора атрибута, которые ограничиваются, чтобы содержать только один из четырех видов атрибутов, как обсуждено в Роли атрибута разделе:
Заметьте, что только четыре вида наборов атрибута перечисляются здесь, но есть пять видов атрибутов. SupportedValuesAttribute интерфейса обозначает атрибут, который дает поддерживаемые значения для другого атрибута. Атрибуты поддерживаемых значений никогда не агрегированы в наборы атрибута, таким образом нет никакого подынтерфейса набора атрибута, определенного для них. В некоторых контекстах набор атрибута только для чтения, что означает, что клиенту только разрешают исследовать атрибут содержание набора, но не изменить их. В других контекстах набор атрибута является чтением-записью, что означает, что клиенту разрешают и исследовать и изменить атрибут содержание набора. Для набора атрибута "только для чтения", вызывая видоизменяющуюся работу броски UnmodifiableSetException
.
Пакет javax.print.attribute включает одну конкретную реализацию каждого из подынтерфейсов набора атрибута:
Copies
, Стороны class, и class PrinterResolution. Каждый атрибут class обертывает один или более примитивных элементов данных, содержащих значение атрибута. Операции присвоения атрибута выполняют частые сравнения между объектами категории атрибута, добавляя атрибуты, находя существующие атрибуты в той же самой категории, и ища атрибут, данный его категорию. Поскольку категория атрибута представляется class, быстрые сравнения значения атрибута могут быть выполнены с Class.equals
метод. Даже при том, что API Службы печати Java включает большое количество различных категорий атрибута, есть только несколько различных типов значений атрибута. Большинство атрибутов может быть представлено небольшим количеством типов данных, таких как: целочисленные значения, целочисленные диапазоны, текст, или перечисление целочисленных значений. Тип значения атрибута, которое принимает категория, вызывают абстрактным синтаксисом атрибута. Чтобы обеспечить непротиворечивость и уменьшить дублирование кода, API Службы печати Java определяет классы абстрактного синтаксиса, чтобы представить каждый абстрактный синтаксис, и эти классы используются в качестве родителя стандартных атрибутов когда бы ни было возможно. Классы абстрактного синтаксиса:
Каждый атрибут class реализует Attribute
интерфейс, любой прямо или косвенно, чтобы отметить это как атрибут печати. Атрибут class, который может появиться в ограниченных наборах атрибута в определенных контекстах также, реализует один или более подынтерфейсов Attribute
. Большинство классов атрибута также расширяет соответствующий абстрактный синтаксис class, чтобы получить реализацию. Рассмотрите Sides
атрибут class:
public class Sides extends EnumSyntax implements DocAttribute, PrintRequestAttribute, PrintJobAttribute { public final Object getCategory() { return Sides.class; } ... }
Начиная с каждого атрибута реализации class Attribute
, каждый атрибут class должен обеспечить реализацию для getCategory
метод, который возвращает категорию атрибута. В случае Sides
, getCategory
возвраты метода Sides.class
. getCategory
метод является заключительным, чтобы гарантировать, что любые определенные поставщиком подклассы стандартного атрибута class появляются в той же самой категории. Каждый объект атрибута является неизменным когда-то созданный так, чтобы ссылки на объект атрибута могли быть розданы свободно. Чтобы получить различное значение атрибута, создайте различный объект атрибута.
EnumSyntax
определяет все возможные значения атрибута во время компиляции как одноэлементные экземпляры атрибута class. Это означает, что новые перечисляемые значения не могут быть созданы во время выполнения. Чтобы определить новые специфичные для поставщика значения для стандарта перечисленный атрибут, поставщик должен определить новый атрибут class, определяющий новые одноэлементные экземпляры. Гарантировать, что новое падение значений атрибута той же самой категории как стандартные значения атрибута, новый атрибут class должен быть подклассом стандартного атрибута class. Чтобы определить новую категорию атрибута, поставщик определяет новый атрибут class. Этот атрибут class, как стандартные классы атрибута, реализации Attribute
или один из его подынтерфейсов и расширяет абстрактный синтаксис class. Поставщик может или использовать существующий абстрактный синтаксис class или определить новый. Новый определенный поставщиком атрибут может использоваться везде, где Attribute
используется, такой как в AttributeSet
.
PrintRequestAttributeSet
потому что атрибуты запроса печати являются типами атрибутов, которые обычно определяет клиент. Этот пример демонстрирует, как создавать набор атрибута атрибутов запроса печати и определять местоположение принтера, который может напечатать документ согласно указанным атрибутам:
FileInputStream psStream; try { psstream = new FileInputStream("file.ps"); } catch (FileNotFoundException ffne) { } if (psstream == null) { return; } //Set the document type. See the DocFlavor documentation for //more information. DocFlavor psInFormat = DocFlavor.INPUT_STREAM.POSTSCRIPT; Doc myDoc = new SimpleDoc(pstream, psInFormat, null); PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); aset.add(new Copies(5)); aset.add(MediaSize.A4); aset.add(Sides.DUPLEX); PrintService[] services = PrintServiceLookup.lookupPrintServices(psInFormat, aset); if (services.length > 0) { DocPrintJob job = services[0].createPrintJob(); try { job.print(myDoc, aset); } catch (PrintException pe) {} }
Пожалуйста, отметьте: В javax.print API нулевой ссылочный параметр к методам является неправильным если явно не задокументировано на методе как наличие значимой интерпретации. Использование наоборот является неправильным кодированием и может привести к исключению времени выполнения или сразу или в некоторое более позднее время. IllegalArgumentException и NullPointerException являются примерами типичных и приемлемых исключений времени выполнения для таких случаев.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92