Spec-Zone .ru
спецификации, руководства, описания, API
|
public class DocFlavor extends Object implements Serializable, Cloneable
DocFlavor
инкапсулирует объект, который определяет формат, в котором данными печати снабжают к a DocPrintJob
. "Документ" является коротким, термин, "легкий объявить, что" это означает "часть данных печати." Формат данных печати, или "разновидность документа", состоит из двух вещей:
Class.getName()
метод. (Таким образом имя класса для byte[]
"[B"
, для char[]
это "[C"
.) A DocPrintJob
получает его данные печати посредством интерфейса Doc
. A Doc
объект позволяет DocPrintJob
определите разновидность документа, которую может предоставить клиент. A Doc
объект также позволяет DocPrintJob
получите экземпляр класса представления разновидности документа, от который DocPrintJob
тогда получает фактические данные печати.
Для клиента отформатированные данные печати клиент определяет или знает формат данных печати. Например клиент может иметь JPEG закодированное изображение, URL для кода HTML, или дисковый файл, содержащий простой текст в некотором кодировании, возможно полученном из внешнего источника, и требует способа описать формат данных к службе печати.
Класс представления разновидности документа является кабелепроводом для JPS DocPrintJob
получить последовательность символов или байтов от клиента. Тип MIME разновидности документа является одним из стандартных типов носителя, говорящих, как интерпретировать последовательность символов или байтов. Для списка стандартных типов носителя см. Doc
обеспечивает две служебных операции, getReaderForText
и getStreamForBytes()
, помочь a Doc
клиент объекта извлекает клиент отформатированные данные печати.
Для клиента отформатированные данные печати класс представления данных печати обычно является одним из следующих (хотя другие классы представления разрешаются):
char[]
) - Данные печати состоят из символов Unicde в массиве.
String
- Данные печати состоят из символов Unicode в строке.
java.io.Reader
) - Данные печати состоят из символов Unicode, считанных из потока до конца потока.
byte[]
) - Данные печати состоят из байтов в массиве. Байты кодируются в наборе символов, определенном типом MIME разновидности документа. Если тип MIME не определяет набор символов, набором символов по умолчанию является US-ASCII.
java.io.InputStream
) - Данные печати состоят из байтов, считанных из потока до конца потока. Байты кодируются в наборе символов, определенном типом MIME разновидности документа. Если тип MIME не определяет набор символов, набором символов по умолчанию является US-ASCII. URL
) - Данные печати состоят из байтов, считанных из расположения URL. Байты кодируются в наборе символов, определенном типом MIME разновидности документа. Если тип MIME не определяет набор символов, набором символов по умолчанию является US-ASCII. Когда класс представления является URL, служба печати непосредственно доступы и загружает документ непосредственно с его адреса URL, не включая клиент. Служба может быть некоторой формой сетевой службы печати, которая выполняется в различной среде. Это означает, что недопустимо использовать разновидность данных печати URL, чтобы напечатать документ в ограниченном URL, который может видеть клиент, но принтер не может видеть. Это также означает, что недопустимо использовать разновидность данных печати URL, чтобы напечатать документ, хранивший в локальном файле, который не доступен в URL, доступном независимо от клиента. Например, файл, который не подается сервером HTTP или сервером FTP. Чтобы напечатать такие документы, позвольте клиенту открывать входной поток на URL или файле и использовать входную потоковую разновидность данных.
Поскольку байт печатает данные, где тип MIME разновидности документа не включает a charset
параметр, экземпляр Службы печати Java принимает набор символов US-ASCII по умолчанию. Это в соответствии с
Также отметьте, что это отличается чем поведение Среды выполнения Java, интерпретируя поток байтов как текстовые данные. Это принимает кодировку по умолчанию для локали пользователя. Таким образом записывая в буферный файл файл в локальном кодировании к Службе печати Java важно правильно определить кодирование. Разработчики, работающие в английских локалях, должны особенно ощущать это, поскольку их кодирование платформы соответствует набору символов пантомимы по умолчанию. По этому совпадению, что особый случай может работать, не определяя кодирование данных платформы.
Каждому экземпляру виртуальной машины Java определили кодировку символов по умолчанию во время запуска виртуальной машины и обычно зависит от локали и набора символов, используемого базовой операционной системой. В распределенной среде нет никакого gurantee что доля двух VM та же самая кодировка по умолчанию. Таким образом клиенты, которые хотят передать платформу потоком закодированные текстовые данные от платформы узла до экземпляра Службы печати Java, должны явно объявить набор символов и не положиться на значения по умолчанию.
Привилегированная форма является официальным IANA основное имя для кодирования. Приложения, какие потоковые текстовые данные должны всегда определять набор символов в типе пантомимы, который требует получать кодирование платформы узла для данных (eg файлы) сохраненный в кодировании той платформы. CharSet, который соответствует этому и является подходящим для использования в типе пантомимы для DocFlavor, может быть получен из
Это, возможно, всегда не основное имя IANA, но, как гарантируют, будет понято под этим VM. Для общих разновидностей может использоваться предопределенный *HOST DocFlavors. DocFlavor.hostEncoding
См. кодировки символов для получения дополнительной информации о кодировках символов, поддерживаемых на платформе Java.
API Службы печати Java не определяет в обязательном порядке поддерживаемого DocFlavors. Однако, вот некоторые примеры типов MIME, что экземпляр Службы печати Java мог бы поддерживать для клиента отформатированные данные печати. Вложенные классы в классе DocFlavor объявляют предопределенные статические постоянные объекты DocFlavor для этих разновидностей документа в качестве примера; конструктор DocFlavor класса может использоваться, чтобы создать произвольную разновидность документа.
Тип MIME | Описание |
---|---|
"text/plain" |
Простой текст в наборе символов по умолчанию (US-ASCII) |
"text/plain; charset=xxx" |
Простой текст в наборе символов xxx |
"text/html" |
Язык разметки гипертекста в наборе символов по умолчанию (US-ASCII) |
"text/html; charset=xxx" |
Язык разметки гипертекста в наборе символов xxx |
Вообще, предварительно отформатированным текстовым данным печати предоставляют любому в символьно-ориентированном классе представления (символьный массив, Строка, Читатель) или в байте ориентированный класс представления (байтовый массив, InputStream, URL).
Тип MIME | Описание |
---|---|
"application/pdf" |
Документ Формата Переносимого документа |
"application/postscript" |
Документ PostScript |
"application/vnd.hp-PCL" |
Документ Языка управления принтера |
Вообще, предварительно отформатированные данные печати PDL обеспечиваются в байте ориентированный класс представления (байтовый массив, InputStream, URL).
Тип MIME | Описание |
---|---|
"image/gif" |
Изображение Формата обмена графическими данными |
"image/jpeg" |
Изображение Совместной экспертной группы по фотографии |
"image/png" |
Изображение Переносимой сетевой графики |
Вообще, предварительно отформатированные данные печати изображения обеспечиваются в байте ориентированный класс представления (байтовый массив, InputStream, URL).
Тип MIME | Описание |
---|---|
"application/octet-stream" |
Формат данных печати является неуказанным (только поток октета) |
Принтер решает, как интерпретировать данные печати; путем это "распознающее работы автоматически является зависящим от реализации. Вообще, предварительно отформатированный распознают данные печати автоматически, обеспечивается в байте ориентированный класс представления (байтовый массив, InputStream, URL).
Для службы отформатированные данные печати экземпляр Службы печати Java определяет формат данных печати. Класс представления разновидности документа обозначает интерфейс чьи методы DocPrintJob
вызывает, чтобы определить контент, который будет напечатан - такие как интерфейс изображения renderable или Java печатаемый интерфейс. Тип MIME разновидности документа является специальным значением "application/x-java-jvm-local-objectref"
указание на клиент предоставит ссылку на объект Java, который реализует интерфейс, названный как класс представления. Этот тип MIME является только заполнителем; то, что важно, является классом представления данных печати.
Для службы отформатированные данные печати класс представления данных печати обычно является одним из следующих (хотя другие классы представления разрешаются). Вложенные классы в классе DocFlavor объявляют предопределенные статические постоянные объекты DocFlavor для этих разновидностей документа в качестве примера; конструктор DocFlavor класса может использоваться, чтобы создать произвольную разновидность документа.
RenderableImage
. Принтер вызывает методы в том интерфейсе, чтобы получить изображение, которое будет напечатано.
Printable
. Принтер вызывает методы в том интерфейсе, чтобы получить страницы, которые будут напечатаны, один за другим. Для каждой страницы принтер предоставляет графический контекст, и независимо от того, что клиент тянет в том графическом контексте, печатается.
Pageable
. Принтер вызывает методы в том интерфейсе, чтобы получить страницы, которые будут напечатаны, один за другим. Для каждой страницы принтер предоставляет графический контекст, и независимо от того, что клиент тянет в том графическом контексте, печатается.
("text/plain", "java.io.InputStream")
("text/plain; charset=us-ascii", "java.io.InputStream")
("text/plain; charset=utf-8", "java.io.InputStream")
("application/x-java-jvm-local-objectref", "java.awt.image.renderable.RenderableImage")
Экземпляру Службы печати Java позволяют поддерживать любые другие разновидности документа (или ни один) в дополнение к вышеупомянутым обязательным по выбору реализации.
Поддержка вышеупомянутых разновидностей документа является требуемой, таким образом, клиент печати может положиться на возможность напечатать на любом принтере JPS, независимо от которых разновидностей документа принтер поддерживает. Если принтер не поддерживает привилегированную разновидность документа клиента, клиент может, по крайней мере, напечатать простой текст, или клиент может преобразовать его данные в renderable, отображают и печатают изображение.
Кроме того каждый экземпляр Службы печати Java должен выполнить эти требования для того, чтобы обработать данные печати простого текста:
Клиент должен самостоятельно выполнить все форматирование данных печати простого текста, не адресуемое вышеупомянутыми требованиями.
Класс DocFlavor в пакете javax.print.data подобен классу DataFlavor
. Класс DataFlavor
не используется в Службе печати Java (JPS) API по трем причинам, которые все базируются в разрешении API JPS быть совместно использованными другими API служб печати, которые, возможно, должны работать на профилях Java, которые не включают всю Платформу Java, Standard Edition.
java.awt.datatransfer.DataFlavor
не гарантирует, что у эквивалентных разновидностей данных будет то же самое сериализированное представление. DocFlavor делает, и может использоваться в службах, которые нуждаются в этом.
java.awt.datatransfer.DataFlavor
включает человеческое презентабельное имя как часть сериализированного представления. Это не является соответствующим как часть ограничения соответствия службы. Класс сериализированное представление DocFlavor использует следующую каноническую форму строки типа MIME. Таким образом две разновидности документа с типами MIME, которые не идентичны, но которые эквивалентны (у которых есть та же самая каноническая форма) можно считать равными.
Класс сериализированное представление DocFlavor также содержит полностью определенное имя класса класса представления (Строковый объект), а не класса представления непосредственно (объект Класса). Это позволяет клиенту исследовать разновидности документа, которые экземпляр Службы печати Java поддерживает, не имея необходимость загружать классы представления, которые могут быть проблематичными для клиентов ограниченного ресурса.
Модификатор и Тип | Класс и Описание |
---|---|
static class |
DocFlavor. BYTE_ARRAY
Класс DocFlavor. BYTE_ARRAY обеспечивает предопределенные статические постоянные объекты DocFlavor например разновидности документа, используя байтовый массив (
byte[] ) как класс представления данных печати. |
static class |
DocFlavor. CHAR_ARRAY
Класс DocFlavor. CHAR_ARRAY обеспечивает предопределенные статические постоянные объекты DocFlavor например разновидности документа, используя символьный массив (
char[] ) как класс представления данных печати. |
static class |
DocFlavor. INPUT_STREAM
Класс DocFlavor. INPUT_STREAM обеспечивает предопределенные статические постоянные объекты DocFlavor например разновидности документа, используя поток байтов (
) как класс представления данных печати. |
static class |
DocFlavor. ЧИТАТЕЛЬ
Класс DocFlavor. ЧИТАТЕЛЬ обеспечивает предопределенные статические постоянные объекты DocFlavor например разновидности документа, используя символьный поток (
) как класс представления данных печати. |
static class |
DocFlavor. SERVICE_FORMATTED
Класс DocFlavor. SERVICE_FORMATTED обеспечивает предопределенные статические постоянные объекты DocFlavor например разновидности документа для службы отформатированные данные печати.
|
static class |
DocFlavor. СТРОКА
Класс DocFlavor. СТРОКА обеспечивает предопределенные статические постоянные объекты DocFlavor например разновидности документа, используя строку (
) как класс представления данных печати. |
static class |
DocFlavor. URL
Класс DocFlavor. URL обеспечивает предопределенные статические постоянные объекты DocFlavor.
|
Модификатор и Тип | Поле и Описание |
---|---|
static String |
hostEncoding
Строка, представляющая кодирование операционной системы узла.
|
Конструктор и Описание |
---|
DocFlavor(String mimeType, String className)
Создает новый объект разновидности документа из данного типа MIME и имени класса представления.
|
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
equals(Object obj)
Определяет, равен ли этот объект разновидности документа данному объекту.
|
Строка |
getMediaSubtype()
Возвраты этот подтип носителей объекта разновидности документа (от типа MIME).
|
Строка |
getMediaType()
Возвраты этот тип носителя объекта разновидности документа (от типа MIME).
|
Строка |
getMimeType()
Возвраты эта строка типа MIME объекта разновидности документа, основанная на канонической форме.
|
Строка |
getParameter(String paramName)
Возвраты a
String представление параметра MIME. |
Строка |
getRepresentationClassName()
Возвращает имя этого класса представления объекта разновидности документа.
|
int |
hashCode()
Возвращает хэш-код для этого объекта разновидности документа.
|
Строка |
toString()
Преобразовывает это
DocFlavor к строке. |
public static final String hostEncoding
public DocFlavor(String mimeType, String className)
mimeType
- Строка типа носителя MIME.className
- Полностью определенное имя класса представления.NullPointerException
- (исключение непроверенное) Брошенный, если mimeType
нуль или className
нуль.IllegalArgumentException
- (исключение непроверенное) Брошенный, если mimeType
не повинуется синтаксису для строки типа носителя MIME.public String getMimeType()
public String getMediaType()
public String getMediaSubtype()
public String getParameter(String paramName)
String
представление параметра MIME. Типы пантомимы могут включать параметры, которые являются обычно дополнительными. Набор символов для типов текстов является обычно полезным примером. Этот метод удобства возвратит значение указанного параметра, если Вы были определены в типе пантомимы для этой разновидности. paramName
- имя параматери. Это имя внутренне преобразовывается в канонический формат нижнего регистра прежде, чем выполнить соответствие.throws
- NullPointerException, если paramName является нулем.public String getRepresentationClassName()
public String toString()
DocFlavor
к строке.public int hashCode()
hashCode
в классе Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
DocFlavor
, имеет тип MIME, эквивалентный этому типу MIME объекта разновидности документа (то есть, у типов MIME есть тот же самый тип носителя, подтип носителей, и параметры), и имеет то же самое имя класса представления как этот объект разновидности документа. Таким образом, если два типа MIME объектов разновидности документа являются тем же самым за исключением комментариев, их считают равными. Однако, две разновидности документа возражают с типами MIME "текста/плоскости" и "текста/плоскости; charset=US-ASCII" не считаются равными, даже при том, что они представляют тот же самый тип носителя (потому что набором символов по умолчанию для простого текста является US-ASCII).equals
в классе Object
obj
- Объект протестировать.obj
, ложь иначе.Object.hashCode()
, HashMap
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.