Spec-Zone.ru › OpenJDK 8

Интерфейс PrintService

Все известные подинтерфейсы:
MultiDocPrintService
Все известные реализующие классы:
StreamPrintService

public interface PrintService

Интерфейс PrintService является фабрикой для DocPrintJob. PrintService описывает возможности принтера и может быть запрошен для получения информации о поддерживаемых атрибутах принтера.

Пример:

DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;
   PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
   aset.add(MediaSizeName.ISO_A4);
   PrintService[] pservices =
                 PrintServiceLookup.lookupPrintServices(flavor, aset);
   if (pservices.length > 0) {
       DocPrintJob pj = pservices[0].createPrintJob();
       try {
           FileInputStream fis = new FileInputStream("test.ps");
           Doc doc = new SimpleDoc(fis, flavor, null);
           pj.print(doc, aset);
        } catch (FileNotFoundException fe) {
        } catch (PrintException e) {
        }
   }

Методы

Модификатор и тип Метод и описание
void addPrintServiceAttributeListener(PrintServiceAttributeListener listener)

Регистрирует слушателя событий для данного PrintService.

DocPrintJob createPrintJob()

Создаёт и возвращает PrintJob, способный обрабатывать данные из любого поддерживаемого формата документов.

boolean equals(Object obj)

Определяет, ссылаются ли два сервиса на один и тот же базовый сервис.

<T extends PrintServiceAttribute>
T
getAttribute(Class<T> category)

Получает значение одного указанного атрибута сервиса.

PrintServiceAttributeSet getAttributes()

Получает набор атрибутов описания принтера для этого PrintService, предоставляя его статус.

Object getDefaultAttributeValue(Class<? extends Attribute> category)

Определяет значение атрибута печати по умолчанию для данного сервиса в заданной категории.

String getName()

Возвращает строку с именем этого сервиса печати, которое может быть использовано приложениями для запроса конкретного сервиса печати.

ServiceUIFactory getServiceUIFactory()

Возвращает фабрику для компонентов пользовательского интерфейса, которые позволяют пользователям взаимодействовать с сервисом в различных ролях.

Class<?>[] getSupportedAttributeCategories()

Определяет категории атрибутов печати, которые клиент может указать при настройке задания для данного сервиса печати.

Object getSupportedAttributeValues(Class<? extends Attribute> category, DocFlavor flavor, AttributeSet attributes)

Определяет значения атрибутов печати, которые клиент может указать в заданной категории при настройке задания для этого сервиса печати.

DocFlavor[] getSupportedDocFlavors()

Определяет форматы данных печати, которые клиент может указать при настройке задания для данного сервиса PrintService.

AttributeSet getUnsupportedAttributes(DocFlavor flavor, AttributeSet attributes)

Идентифицирует атрибуты, которые не поддерживаются для запроса печати в контексте определённого DocFlavor.

int hashCode()

Этот метод должен быть реализован согласованно с equals(Object).

boolean isAttributeCategorySupported(Class<? extends Attribute> category)

Определяет, может ли клиент указать заданную категорию атрибутов печати при настройке задания для данного сервиса печати.

boolean isAttributeValueSupported(Attribute attrval, DocFlavor flavor, AttributeSet attributes)

Определяет, может ли клиент указать заданное значение атрибута печати при настройке задания для данного сервиса печати.

boolean isDocFlavorSupported(DocFlavor flavor)

Определяет, поддерживает ли этот сервис печати определённый DocFlavor.

void removePrintServiceAttributeListener(PrintServiceAttributeListener listener)

Удаляет слушателя сервиса печати из этого сервиса печати.

Методы

getName

String getName()

Возвращает строковое имя этой службы печати, которое может использоваться приложениями для запроса конкретной службы печати. В подходящем контексте, таком как служба имен, это имя должно быть уникальным. В некоторых средах это уникальное имя может совпадать с дружественным именем принтера, определённым как атрибут PrinterName.

Возвращает:
имя службы.

createPrintJob

DocPrintJob createPrintJob()

Создаёт и возвращает PrintJob, способный обрабатывать данные из любого поддерживаемого формата документов.

Возвращает:
объект DocPrintJob

addPrintServiceAttributeListener

void addPrintServiceAttributeListener(PrintServiceAttributeListener listener)

Регистрирует слушатель событий для этой службы печати.

Параметры:
listener - слушатель PrintServiceAttributeListener, отслеживающий состояние службы печати
См. также:
removePrintServiceAttributeListener(javax.print.event.PrintServiceAttributeListener)

removePrintServiceAttributeListener

void removePrintServiceAttributeListener(PrintServiceAttributeListener listener)

Удаляет слушателя службы печати из этой службы печати. Это означает, что слушатель больше не заинтересован в PrintService событиях.

Параметры:
listener - объект PrintServiceAttributeListener
См. также:
addPrintServiceAttributeListener(javax.print.event.PrintServiceAttributeListener)

getAttributes

PrintServiceAttributeSet getAttributes()

Получает набор атрибутов описания принтера для этой службы печати, предоставляя её состояние. Возвращаемый объект набора атрибутов не изменяем. Возвращаемый объект набора атрибутов представляет собой "мгновенный снимок" набора атрибутов этой службы печати на момент вызова метода getAttributes(): то есть содержимое возвращаемого набора атрибутов не будет обновляться, если содержимое набора атрибутов этой службы печати изменится в будущем. Чтобы обнаружить изменения значений атрибутов, снова вызовите getAttributes() и сравните новый набор атрибутов с предыдущим набором атрибутов; или зарегистрируйте слушателя для событий службы печати.

Возвращает:
Неизменяемый снимок набора атрибутов этой службы печати. Может быть пустым, но не null.

getAttribute

<T extends PrintServiceAttribute> T getAttribute(Class<T> category)

Получает значение одного указанного атрибута службы. Это может быть полезно для клиентов, которым требуется только значение одного атрибута и которые хотят минимизировать накладные расходы.

Параметры:
category - категория PrintServiceAttribute, поддерживаемая этой службой - не может быть null.
Возвращает:
значение поддерживаемого атрибута или null, если атрибут не поддерживается этой службой.
Исключения:
NullPointerException - если категория равна null.
IllegalArgumentException - (исключение не проверяемого типа) если category не является Class, реализующим интерфейс PrintServiceAttribute.

getSupportedDocFlavors

DocFlavor[] getSupportedDocFlavors()

Определяет форматы данных печати, которые клиент может указать при настройке задания для этой PrintService. Формат данных печати обозначается "форматом документа" (класс DocFlavor), состоящим из MIME-типа и класса представления данных печати.

Обратите внимание, что некоторые форматы документов могут не поддерживаться в сочетании со всеми атрибутами. Используйте getUnsupportedAttributes(..) для проверки конкретных комбинаций.

Возвращает:
Массив поддерживаемых форматов документов, должен содержать по крайней мере один элемент.

isDocFlavorSupported

boolean isDocFlavorSupported(DocFlavor flavor)

Определяет, поддерживает ли эта служба печати конкретный DocFlavor. Это удобный метод для определения, будет ли DocFlavor членом результата getSupportedDocFlavors().

Обратите внимание, что некоторые форматы документов могут не поддерживаться в сочетании со всеми атрибутами. Используйте getUnsupportedAttributes(..) для проверки конкретных комбинаций.

Параметры:
flavor - формат документа для запроса поддержки.
Возвращает:
true если эта служба печати поддерживает указанный формат документа; false в противном случае.
Исключения:
NullPointerException - (исключение не проверяемого типа) Бросается, если flavor равно null.

getSupportedAttributeCategories

Class<?>[] getSupportedAttributeCategories()

Определяет категории атрибутов печати, которые клиент может указать при настройке задания для этой службы печати. Категория атрибута печати обозначается Class, реализующим интерфейс Attribute. Этот метод возвращает только поддерживаемые категории атрибутов; он не возвращает конкретные поддерживаемые значения атрибутов.

Этот метод возвращает все категории атрибутов печати, которые поддерживаются этой службой печати для любого возможного задания. Некоторые категории могут не поддерживаться в конкретном контексте (например, для конкретного DocFlavor). Используйте один из методов, которые включают DocFlavor, чтобы проверить запрос перед его отправкой, например getSupportedAttributeValues(..).

Возвращает:
Массив категорий атрибутов печати, которые клиент может указать в качестве атрибута уровня документа или задания в запросе печати. Каждый элемент в массиве — Class, реализующий интерфейс Attribute. Массив пуст, если категории не поддерживаются.

isAttributeCategorySupported

boolean isAttributeCategorySupported(Class<? extends Attribute> category)

Определяет, может ли клиент указать заданную категорию атрибута печати при настройке задания для этой службы печати. Категория атрибута печати обозначается Class, реализующим интерфейс Attribute. Этот метод показывает, поддерживается ли категория атрибута; он не показывает, поддерживается ли конкретное значение атрибута.

Некоторые категории могут не поддерживаться в конкретном контексте (например, для конкретного DocFlavor). Используйте один из методов, включающих DocFlavor, чтобы проверить запрос перед его отправкой, например getSupportedAttributeValues(..).

Это удобный метод для определения, будет ли категория членом результата getSupportedAttributeCategories().

Параметры:
category - категория атрибута печати для проверки. Она должна быть Class, реализующим интерфейс Attribute.
Возвращает:
true если эта служба печати поддерживает указание атрибута уровня документа или задания в category в запросе печати; false в противном случае.
Исключения:
NullPointerException - (исключение не проверяемого типа) Бросается, если category равно null.
IllegalArgumentException - (исключение не проверяемого типа) Бросается, если category не является Class, реализующим интерфейс Attribute.

getDefaultAttributeValue

Object getDefaultAttributeValue(Class<? extends Attribute> category)

Определяет значение по умолчанию атрибута печати этой службы в заданной категории. Значение атрибута печати — это экземпляр класса, реализующего интерфейс Attribute. Если клиент настраивает задание печати и не указывает никакого значения атрибута в заданной категории, эта служба печати использует значение атрибута по умолчанию вместо этого.

Некоторые атрибуты могут не поддерживаться в конкретном контексте (например, для конкретного DocFlavor). Используйте один из методов, включающих DocFlavor, для проверки запроса перед его отправкой, например getSupportedAttributeValues(..).

Не все атрибуты имеют значение по умолчанию. Например, у службы не будет значения по умолчанию для RequestingUser, то есть возвращение null для поддерживаемой категории означает, что для этой категории нет значения по умолчанию службы. Используйте метод isAttributeCategorySupported(Class) для различения этих случаев.

Параметры:
category - категория атрибута печати, для которой запрашивается значение атрибута по умолчанию. Она должна быть Class, реализующим интерфейс Attribute.
Возвращает:
Значение атрибута по умолчанию для category, или null, если эта служба печати не поддерживает указание атрибута уровня документа или задания в category в запросе печати, или у службы нет значения по умолчанию для этого атрибута.
Исключения:
NullPointerException - (исключение не проверяемого типа) Бросается, если category равно null.
IllegalArgumentException - (исключение не проверяемого типа) Бросается, если category не является Class, реализующим интерфейс Attribute.

getSupportedAttributeValues

Object getSupportedAttributeValues(Class<? extends Attribute> category,
                                   DocFlavor flavor,
                                   AttributeSet attributes)

Определяет значения атрибутов печати, которые клиент может указать в заданной категории при настройке задания для этой службы печати. Значение атрибута печати — это экземпляр класса, реализующего интерфейс Attribute.

Если flavor равно null, а attributes равно null или является пустым множеством, этот метод возвращает все значения атрибутов печати, поддерживаемые этой службой печати для любого возможного задания. Если flavor не равно null или attributes не является пустым множеством, этот метод возвращает только те значения атрибутов печати, которые совместимы с заданным типом документа и/или набором атрибутов. То есть, возвращаемое значение null может указывать на то, что указание этого атрибута несовместимо со специфицированным DocFlavor. Также, если DocFlavor не равен null, он должен быть типом, поддерживаемым этой службой печати, иначе будет брошено исключение IllegalArgumentException.

Если параметр attributes содержит атрибут, чья категория совпадает с категорией параметра category, служба должна проигнорировать этот атрибут в наборе атрибутов.

Атрибуты, которые должны быть указаны в Doc, должны быть включены в этот набор для точного представления контекста.

Этот метод возвращает объект, потому что различные категории атрибутов печати указывают поддерживаемые значения атрибутов различными способами. Документация по каждому атрибуту печати в пакете javax.print.attribute.standard описывает, как каждый атрибут указывает свои поддерживаемые значения. Возможные способы указания поддержки включают:

  • Возврат одного экземпляра категории атрибута, чтобы указать, что любое значение является допустимым — используется, например, для атрибута, значением которого является произвольная строка текста. (Значение возвращаемого объекта атрибута не имеет значения.)
  • Возврат массива из одного или нескольких экземпляров категории атрибута, содержащего допустимые значения — используется, например, для атрибута со списком перечислений. Тип массива — это массив указанного типа категории атрибута, как возвращается его getCategory(Class).
  • Возврат одного объекта (другого класса, чем категория атрибута), указывающего границы допустимых значений — используется, например, для атрибута со значением целого типа, который должен находиться в определенном диапазоне.
Parameters:
category - Категория атрибута печати для проверки. Это должен быть Class, который реализует интерфейс Attribute.
flavor - Тип документа для предполагаемого задания или null.
attributes - Набор атрибутов печати для предполагаемого задания (атрибуты уровня задания и документа), или null.
Returns:
Объект, указывающий поддерживаемые значения для category, или null, если эта служба печати не поддерживает указание атрибута уровня документа или задания в category в запросе печати.
Throws:
NullPointerException - (исключение, проверяемое во время выполнения) Бросается, если category равно null.
IllegalArgumentException - (исключение, проверяемое во время выполнения) Бросается, если category не является Class, реализующим интерфейс Attribute, или DocFlavor не поддерживается этой службой.

isAttributeValueSupported

boolean isAttributeValueSupported(Attribute attrval,
                                  DocFlavor flavor,
                                  AttributeSet attributes)

Определяет, может ли клиент указать данное значение атрибута печати при настройке задания для этой службы печати. Значение атрибута печати — это экземпляр класса, реализующего интерфейс Attribute.

Если flavor равно null, а attributes равно null или является пустым множеством, этот метод показывает, поддерживает ли эта служба печати данное значение атрибута печати для некоторой возможной комбинации типа документа и набора атрибутов. Если flavor не равно null или attributes не является пустым множеством, этот метод показывает, поддерживает ли эта служба печати данное значение атрибута печати в сочетании с заданным типом документа и/или набором атрибутов.

Также, если DocFlavor не равен null, он должен быть типом, поддерживаемым этой службой печати, иначе будет брошено исключение IllegalArgumentException.

Атрибуты, которые должны быть указаны в Doc, должны быть включены в этот набор для точного представления контекста.

Это удобный метод для определения, будет ли значение являться членом результата getSupportedAttributeValues(...).

Parameters:
attrval - Значение атрибута печати для проверки.
flavor - Тип документа для предполагаемого задания или null.
attributes - Набор атрибутов печати для предполагаемого задания (атрибуты уровня задания и документа), или null.
Returns:
True, если эта служба печати поддерживает указание attrval в качестве атрибута уровня документа или задания в запросе печати, false — если нет.
Throws:
NullPointerException - (исключение, проверяемое во время выполнения) если attrval равно null.
IllegalArgumentException - если тип не поддерживается этой службой печати.

getUnsupportedAttributes

AttributeSet getUnsupportedAttributes(DocFlavor flavor,
                                      AttributeSet attributes)

Определяет атрибуты, которые не поддерживаются для запроса печати в контексте конкретного DocFlavor. Этот метод полезен для проверки потенциального задания печати и выявления конкретных атрибутов, которые не могут быть поддержаны. Важно предоставить только поддерживаемый DocFlavor, иначе будет брошено исключение IllegalArgumentException. Если возвращаемое значение этого метода равно null, все атрибуты поддерживаются.

Атрибуты, которые должны быть указаны в Doc, должны быть включены в этот набор для точного представления контекста.

Если возвращаемое значение не null, все атрибуты в возвращаемом наборе не поддерживаются с этим DocFlavor. Возвращаемый набор не различает категории атрибутов, которые не поддерживаются, от недопустимых значений атрибутов.

Поддерживаемый запрос печати затем может быть создан путем удаления всех неподдерживаемых атрибутов из исходного набора атрибутов, за исключением случая, когда DocFlavor не поддерживается.

Если какие-либо атрибуты не поддерживаются только потому, что они конфликтуют с другими атрибутами, то по усмотрению службы выбирается(ются) атрибут(ы), который(ые) будет(ют) определен(ы) как причина конфликта.

Используйте isDocFlavorSupported() для проверки того, что DocFlavor поддерживается, прежде чем вызывать этот метод.

Parameters:
flavor - Тип документа для проверки, или null
attributes - Набор атрибутов печати для предполагаемого задания (атрибуты уровня задания и документа), или null.
Returns:
null, если эта служба печати поддерживает спецификацию запроса печати, иначе — неподдерживаемые атрибуты.
Throws:
IllegalArgumentException - еслиflavor не поддерживается этой службой печати.

getServiceUIFactory

ServiceUIFactory getServiceUIFactory()

Возвращает фабрику для элементов пользовательского интерфейса, которые позволяют пользователям взаимодействовать со службой в различных ролях. Службы, которые не предоставляют пользовательский интерфейс, должны возвращать null. Службы печати, которые предоставляют пользовательский интерфейс, но хотят поддерживаться в среде без пользовательского интерфейса, должны гарантировать, что фабрика не инициализирована, пока приложение не вызовет этот метод для получения фабрики. См. ServiceUIFactory для получения дополнительной информации.

Returns:
null или фабрика для элементов пользовательского интерфейса.

equals

boolean equals(Object obj)

Определяет, ссылаются ли две службы на одну и ту же базовую службу. Объекты, инкапсулирующие службу печати, могут не демонстрировать равенства ссылок, даже если они ссылаются на одну и ту же базовую службу.

Клиенты должны вызывать этот метод, чтобы определить, ссылаются ли две службы на одну и ту же базовую службу.

Службы должны реализовывать этот метод и возвращать true только если объекты служб, которые сравниваются, могут быть использованы взаимозаменяемо клиентом. Службы могут свободно возвращать одну и ту же ссылку на базовую службу, но клиенты не должны полагаться на равенство ссылок.

Overrides:
equals в классе Object
Parameters:
obj - объект ссылки для сравнения.
Returns:
true, если эта служба совпадает с аргументом obj, false в противном случае.
See Also:
Object.hashCode(), HashMap

hashCode

int hashCode()

Этот метод должен быть реализован согласованно с equals(Object).

Overrides:
hashCode в классе Object
Returns:
хэш-код этого объекта.
See Also:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

© 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.

Spec-Zone.ru

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