Spec-Zone.ru › OpenJDK 17

Класс PrintServiceLookup

java.lang.Object
javax.print.PrintServiceLookup
public abstract class PrintServiceLookup extends Object
Реализации этого класса предоставляют службы поиска служб печати (как правило, эквивалентных принтерам) определенного типа.

Несколько реализаций могут быть установлены одновременно. Все реализации должны уметь описывать найденные принтеры как экземпляры PrintService. Обычно реализации этого сервисного класса автоматически обнаруживаются в файлах JAR (см. спецификацию файла JAR SPI). Эти классы должны быть создаваемы с помощью конструктора по умолчанию. В качестве альтернативы, приложения могут явно регистрировать экземпляры во время выполнения.

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

Реализатор PrintServiceLookup рекомендуется проверять наличие SecurityManager.checkPrintJobAccess(), чтобы запретить доступ небезопасным кодам. Следование этой рекомендация означает, что небезопасный код не сможет найти какие-либо службы печати. Скачанные апплеты являются наиболее распространённым примером небезопасного кода.

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

Сервисы, зарегистрированные с помощью registerService(PrintService), не будут включены в результаты поиска, если установлен менеджер безопасности и его метод checkPrintJobAccess() запрещает доступ.

Краткое описание конструкторов

PrintServiceLookup()
Модификатор Конструктор Описание
protected
Конструктор для вызова подклассами.

Краткое описание методов

Модификатор и тип Метод Описание
abstract PrintService getDefaultPrintService()
Не вызывается напрямую приложениями.
abstract MultiDocPrintService[] getMultiDocPrintServices(DocFlavor[] flavors, AttributeSet attributes)
Не вызывается напрямую приложениями.
abstract PrintService[] getPrintServices()
Не вызывается напрямую приложениями.
abstract PrintService[] getPrintServices(DocFlavor flavor, AttributeSet attributes)
Находит службы, которые могут подтвердить поддержку сочетания атрибутов и DocFlavors спецификаций.
static final PrintService lookupDefaultPrintService()
Находит стандартную службу печати для данной среды.
static final MultiDocPrintService[] lookupMultiDocPrintServices(DocFlavor[] flavors, AttributeSet attributes)
Находит службы печати, способные печатать MultiDoc печати, способные печатать Services документы, содержащие все указанные типы документов.
static final PrintService[] lookupPrintServices(DocFlavor flavor, AttributeSet attributes)
Находит службы печати, способные печатать указанные DocFlavor.
static boolean registerService(PrintService service)
Позволяет приложению напрямую зарегистрировать экземпляр класса, реализующего службу печати.
static boolean registerServiceProvider(PrintServiceLookup sp)
Позволяет приложению явно зарегистрировать класс, реализующий службы поиска.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

PrintServiceLookup

protected PrintServiceLookup()
Конструктор для вызова подклассами.

Подробное описание методов

lookupPrintServices

public static final PrintService[] lookupPrintServices(DocFlavor flavor, AttributeSet attributes)
Определяет службы печати, способные печатать указанный DocFlavor.
Параметры:
flavor - формат печати. Если null, это ограничение не используется.
attributes - атрибуты, которые должна поддерживать служба печати. Если null, это ограничение не используется.
Возвращает:
массив соответствующих PrintService объектов, представляющих службы печати, которые поддерживают указанные атрибуты формата. Если соответствующих служб нет, массив имеет нулевую длину.

lookupMultiDocPrintServices

public static final MultiDocPrintService[] lookupMultiDocPrintServices(DocFlavor[] flavors, AttributeSet attributes)
Определяет службы MultiDoc печати, способные печатать MultiDocs, содержащие все указанные типы документов.

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

Параметры:
flavors - типы документов для печати. Если null или пустой, это ограничение не используется. В противном случае возвращаются только службы многодокументной печати, которые могут печатать все указанные типы документов.
attributes - атрибуты, которые должна поддерживать служба печати. Если null, это ограничение не используется.
Возвращает:
массив соответствующих MultiDocPrintService объектов. Если соответствующих служб нет, массив имеет нулевую длину.

lookupDefaultPrintService

public static final PrintService lookupDefaultPrintService()
Определяет стандартную службу печати для этой среды. Это может вернуть null. Если несколько служб поиска указывают стандартную, выбранная служба не определена точно, но обычно возвращается встроенная служба, а не установленная. Если нет явно определяемой встроенной стандартной службы печати, стандартной является первая, найденная в зависимости от реализации.

Это может включать использование любого API настроек, доступного в рамках Java или родной платформы. Этот алгоритм может быть переопределен пользователем путем установки свойства javax.print.defaultPrinter. Указанная служба должна быть обнаружена как действительная и доступная в настоящий момент, чтобы быть возвращенной в качестве стандартной.

Возвращает:
стандартную PrintService

registerServiceProvider

public static boolean registerServiceProvider(PrintServiceLookup sp)
Позволяет приложению явно зарегистрировать класс, который реализует службы поиска. Регистрация не сохраняется между вызовами JVM. Это полезно, если приложению нужно сделать доступной новую службу, которая не входит в установку. Если служба поиска уже зарегистрирована или не может быть зарегистрирована, метод возвращает false.
Параметры:
sp - реализация службы поиска
Возвращает:
true если новая служба поиска успешно зарегистрирована; false в противном случае

registerService

public static boolean registerService(PrintService service)
Позволяет приложению напрямую зарегистрировать экземпляр класса, который реализует службу печати. Операции поиска для этой службы будут выполняться классом PrintServiceLookup с использованием значений атрибутов и классов, предоставленных службой. Это может быть менее эффективно, чем служба поиска, настроенная для этой службы. Поэтому рекомендуется регистрация экземпляра PrintServiceLookup вместо этого. Метод возвращает true если эта служба не была зарегистрирована ранее и теперь зарегистрирована успешно. Этот метод не должен вызываться с экземплярами StreamPrintService. Они всегда будут не зарегистрированы, и метод вернет false.
Параметры:
service - реализация службы печати
Возвращает:
true если служба успешно зарегистрирована; false в противном случае

getPrintServices

public abstract PrintService[] getPrintServices(DocFlavor flavor, AttributeSet attributes)
Определяет службы, которые однозначно подтверждены как поддерживающие сочетание атрибутов и DocFlavors, указанных в запросе. Этот метод не вызывается непосредственно приложениями.

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

Результаты должны быть такими же, как получение всех PrintServices и запроса каждого из них на поддержку указанных атрибутов и форматов, но процесс может быть более эффективным за счёт использования возможностей служб поиска для служб печати.

Параметры:
flavor - требуемый формат документа. Если null , он игнорируется.
attributes - требуемые поддерживаемые атрибуты. Если null , это ограничение не используется.
Возвращает:
массив соответствующих PrintServices. Если соответствующие службы не найдены, массив имеет нулевую длину.

getPrintServices

public abstract PrintService[] getPrintServices()
Не вызывается непосредственно приложениями. Реализуется поставщиком службы и используется статическими методами этого класса.
Возвращает:
массив всех PrintServices, известных этой службе поиска.

getMultiDocPrintServices

public abstract MultiDocPrintService[] getMultiDocPrintServices(DocFlavor[] flavors, AttributeSet attributes)
Не вызывается непосредственно приложениями.

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

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

Параметры:
flavors - требуемый формат документов. Если null или пустой, он игнорируется.
attributes - требуемые поддерживаемые атрибуты. Если null , это ограничение не используется.
Возвращает:
массив соответствующих PrintServices. Если соответствующие службы не найдены, массив имеет нулевую длину.

getDefaultPrintService

public abstract PrintService getDefaultPrintService()
Не вызывается непосредственно приложениями. Реализуется поставщиком службы и вызывается службой поиска печати.
Возвращает:
стандартную PrintService для этой службы поиска. Если стандартной службы нет, возвращает null.

© 1993, 2021, 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/17/docs/api/java.desktop/javax/print/PrintServiceLookup.html

Spec-Zone.ru

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