Класс SimpleDoc

Все реализованные интерфейсы:
Doc
public final class SimpleDoc
extends Object
implements Doc

Этот класс является реализацией интерфейса Doc, который может использоваться во многих стандартных запросах печати. Он может обрабатывать все в настоящее время определённые "предварительно определённые" типы документов, определённые как статические переменные в классе DocFlavor.

В частности, этот класс реализует определённые необходимые семантические аспекты спецификации Doc следующим образом:

  • создаёт поток для службы, если запрошено и применимо.
  • обеспечивает возвращение одного и того же объекта при каждом вызове метода.
  • обеспечивает доступ к Doc из нескольких потоков.
  • выполняет некоторую валидацию, чтобы данные соответствовали типу документа.
Клиенты, которые хотят повторно использовать объект документа в других заданиях или нуждаются в MultiDoc, не должны использовать этот класс.

Если данные печати являются потоком, или задание печати запрашивает данные как поток, тогда SimpleDoc не отслеживает, корректно ли служба закрывает поток после завершения передачи данных или завершения задания. Клиенты могут предпочесть использовать свою собственную реализацию документа, которая добавляет слушатель для отслеживания завершения задания и для валидации того, что ресурсы, такие как потоки, освобождены (т.е. закрыты).

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

Конструктор Описание
SimpleDoc​(Object printData, DocFlavor flavor, DocAttributeSet attributes)

Создаёт SimpleDoc с указанными данными печати, типом документа и набором атрибутов документа.

Методы

Модификатор и тип Метод Описание
DocAttributeSet getAttributes()

Получает набор атрибутов печати для этого объекта документа.

DocFlavor getDocFlavor()

Определяет тип документа, в котором этот объект документа предоставит свои данные печати.

Object getPrintData()

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

Reader getReaderForText()

Получает чтец для извлечения данных печати символов из этого документа.

InputStream getStreamForBytes()

Получает входной поток для извлечения данных печати байтов из этого документа.

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

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

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

SimpleDoc

public SimpleDoc(Object printData,
                 DocFlavor flavor,
                 DocAttributeSet attributes)

Создаёт SimpleDoc с указанными данными печати, типом документа и набором атрибутов документа.

Параметры:
printData - объект данных печати
flavor - объект типа DocFlavor
attributes - набор DocAttributeSet, который может быть null
Исключения:
IllegalArgumentException - если flavor или printData имеет null, или printData не соответствует указанному типу документа — например, данные не имеют типа, указанного в качестве представления в DocFlavor

Методы

getDocFlavor

public DocFlavor getDocFlavor()

Определяет тип документа, в котором этот объект документа предоставит свои данные печати.

Указано в:
getDocFlavor в интерфейсе Doc
Возвращает:
тип документа

getAttributes

public DocAttributeSet getAttributes()

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

Указано в:
getAttributes в интерфейсе Doc
Возвращает:
неизменяемый набор атрибутов печати для этого документа или null для получения всех значений атрибутов из набора атрибутов задания

getPrintData

public Object getPrintData()
                    throws IOException

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

Указано в:
getPrintData в интерфейсе Doc
Возвращает:
объект представления данных печати
Исключения:
IOException - если класс представления является потоком и при построении потока произошла ошибка ввода-вывода

getReaderForText

public Reader getReaderForText()
                        throws IOException

Получает чтец для извлечения данных печати символов из этого документа. Реализация Doc обязана поддерживать этот метод, если DocFlavor имеет один из следующих классов представления данных печати, и вернуть null в противном случае:

  • char[]
  • java.lang.String
  • java.io.Reader
Объект представления данных печати документа используется для построения и возврата Reader для чтения данных печати как потока символов из объекта представления данных печати. Однако, если сам объект представления данных печати является Reader, то просто возвращается объект представления данных печати.

Указано в:
getReaderForText в интерфейсе Doc
Возвращает:
чтец Reader для чтения символов данных печати из этого документа. Если чтец не может быть предоставлен, потому что этот документ не отвечает указанным выше критериям, возвращается null
Исключения:
IOException - если при создании читателя произошла ошибка ввода-вывода

getStreamForBytes

public InputStream getStreamForBytes()
                              throws IOException

Получает входной поток для извлечения данных печати байтов из этого документа. Реализация Doc обязана поддерживать этот метод, если DocFlavor имеет один из следующих классов представления данных печати; в противном случае этот метод возвращает null:

  • byte[]
  • java.io.InputStream
Получается объект представления данных печати документа. Затем создаётся и возвращается входной поток для чтения данных печати из объекта представления данных печати как потока байтов. Однако, если сам объект представления данных печати является входным потоком, то возвращается просто объект представления данных печати.

Указано в:
getStreamForBytes в интерфейсе Doc
Возвращает:
входной поток InputStream для чтения байтов данных печати из этого документа. Если входной поток не может быть предоставлен, потому что этот документ не отвечает указанным выше критериям, возвращается null
Исключения:
IOException - если при создании входного потока произошла ошибка ввода-вывода

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/print/SimpleDoc.html

Spec-Zone .ru
спецификации, руководства, описания, API