Spec-Zone.ru › OpenJDK 8

Класс PrintServiceLookup

  • java.lang.Object
    • javax.print.PrintServiceLookup

public abstract class PrintServiceLookup
extends Object

Реализации этого класса предоставляют службы поиска для служб печати (обычно эквивалентных принтерам) определенного типа.

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

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

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

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

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

Конструкторы

Конструктор и описание
PrintServiceLookup()

Методы

Модификатор и тип Метод и описание
abstract PrintService getDefaultPrintService()

Не вызывается напрямую приложениями.

abstract MultiDocPrintService[] getMultiDocPrintServices(DocFlavor[] flavors, AttributeSet attributes)

Не вызывается напрямую приложениями.

abstract PrintService[] getPrintServices()

Не вызывается напрямую приложениями.

abstract PrintService[] getPrintServices(DocFlavor flavor, AttributeSet attributes)

Находит службы, которые могут положительно подтвердить поддержку комбинации атрибутов и DocFlavors, указанных в запросе.

static PrintService lookupDefaultPrintService()

Находит службу печати по умолчанию для этой среды.

static MultiDocPrintService[] lookupMultiDocPrintServices(DocFlavor[] flavors, AttributeSet attributes)

Находит службы печати MultiDoc, способные печатать MultiDocs, содержащие все указанные типы документов (DocFlavors).

static 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

public 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, содержащие все указанные типы документов (DocFlavors).

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

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

lookupDefaultPrintService

public static final PrintService lookupDefaultPrintService()

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

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

Возвращает:
службу печати по умолчанию.

registerServiceProvider

public static boolean registerServiceProvider(PrintServiceLookup sp)

Позволяет приложению явно зарегистрировать класс, реализующий службы поиска. Регистрация не сохранится после вызова VM. Это полезно, если приложению необходимо сделать новую доступной службу, которая не является частью установки. Если служба поиска уже зарегистрирована или не может быть зарегистрирована, метод возвращает 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)

Не вызывается напрямую приложениями.

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

Находит службы печати MultiDoc, которые могут положительно подтвердить поддержку указанной комбинации атрибутов и DocFlavors.

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

getDefaultPrintService

public abstract PrintService getDefaultPrintService()

Не вызывается напрямую приложениями. Реализуется поставщиком службы и вызывается службой поиска печати.

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

© 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