Класс PrintServiceLookup
public abstract class PrintServiceLookup extends Object
Одновременно может быть установлено несколько реализаций. Все реализации должны уметь описывать найденные принтеры как экземпляры PrintService. Обычно реализации этого класса службы автоматически обнаруживаются в JAR-файлах (см. спецификацию SPI JAR-файлов). Эти классы должны допускать создание экземпляров с помощью конструктора по умолчанию. Кроме того, приложения могут явно регистрировать экземпляры во время выполнения.
Приложения используют только статические методы этого абстрактного класса. Методы экземпляра реализуются поставщиком службы в подклассе, а статические методы этого класса при вызове приложением сообщают объединённые результаты всех установленных классов поиска.
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор, предназначенный для вызова подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract PrintService |
getDefaultPrintService() |
Не вызывается напрямую приложениями. |
abstract MultiDocPrintService[] |
getMultiDocPrintServices |
Не вызывается напрямую приложениями. |
abstract PrintService[] |
getPrintServices() |
Не вызывается напрямую приложениями. |
abstract PrintService[] |
getPrintServices |
Находит службы, для которых можно достоверно подтвердить поддержку указанного сочетания атрибутов и DocFlavors. |
static final PrintService |
lookupDefaultPrintService() |
Находит службу печати по умолчанию для этой среды. |
static final MultiDocPrintService[] |
lookupMultiDocPrintServices |
Находит MultiDoc службы печати Services, способные печатать MultiDocs, содержащие все указанные форматы документов. |
static final PrintService[] |
lookupPrintServices |
Находит службы печати, способные печатать указанный DocFlavor. |
static boolean |
registerService |
Позволяет приложению напрямую зарегистрировать экземпляр класса, реализующего службу печати. |
static boolean |
registerServiceProvider |
Позволяет приложению явно зарегистрировать класс, реализующий службы поиска. |
Подробное описание конструкторов
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 службы печати Services, способные печатать 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)
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()
- Возвращает:
- службу печати по умолчанию
PrintServiceдля этой службы поиска. Если служба по умолчанию отсутствует, возвращаетсяnull.
© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/print/PrintServiceLookup.html