Класс SimpleDoc
- java.lang.Object
-
- javax.print.SimpleDoc
- Все реализованные интерфейсы:
Doc
public final class SimpleDoc extends Object implements Doc
Этот класс является реализацией интерфейса Doc, который может использоваться во многих стандартных запросах печати. Он может обрабатывать все в настоящее время определённые "предварительно определённые" типы документов, определённые как статические переменные в классе DocFlavor.
В частности, этот класс реализует определённые необходимые семантические аспекты спецификации Doc следующим образом:
- создаёт поток для службы, если запрошено и применимо.
- обеспечивает возвращение одного и того же объекта при каждом вызове метода.
- обеспечивает доступ к
Docиз нескольких потоков. - выполняет некоторую валидацию, чтобы данные соответствовали типу документа.
MultiDoc, не должны использовать этот класс. Если данные печати являются потоком, или задание печати запрашивает данные как поток, тогда SimpleDoc не отслеживает, корректно ли служба закрывает поток после завершения передачи данных или завершения задания. Клиенты могут предпочесть использовать свою собственную реализацию документа, которая добавляет слушатель для отслеживания завершения задания и для валидации того, что ресурсы, такие как потоки, освобождены (т.е. закрыты).
Конструкторы
| Конструктор | Описание |
|---|---|
SimpleDoc(Object printData,
DocFlavor flavor,
DocAttributeSet attributes) |
Создаёт |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
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