|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.print.DocFlavor
public class DocFlavor
DocFlavor
클래스는, 인쇄 데이터 DocPrintJob
에의 제공 형식을 지정하는 객체를 캡슐화합니다. 「Doc」는, 인쇄 데이터의 일부를 의미하는, 짧게 발음하기 쉬운 용어입니다. 인쇄 데이터 형식인 「doc 후레이바」는, 이하의 2 개로 구성됩니다.
Class.getName()
메소드에 의해 돌려주어집니다. 이 때문에,byte[]
의 클래스명은 「[B」
,char[]
의 클래스명은 「[C」
가 됩니다.
DocPrintJob
는,Doc
인터페이스를 사용해 인쇄 데이터를 가져옵니다. DocPrintJob
는,Doc
객체를 사용해, 클라이언트가 제공 가능한 doc 후레이바를 판별할 수 있습니다. 또,DocPrintJob
는,Doc
객체를 사용해, doc 후레이바의 표현 클래스의 인스턴스를 취득할 수도 있습니다. DocPrintJob
는, 이 인스턴스로부터 인감 도장쇄데이터를 가져옵니다.
클라이언트 형식의 인쇄 데이터의 경우, 클라이언트는 인쇄 데이터 형식을 인식 또는 판별합니다. 예를 들어, 클라이언트는, JPEG 로 encode 된 이미지, HTML 코드의 URL, 또는 어떤 것인가의 인코딩의 plaintext 파일을 포함한 디스크 파일을 (외부 소스로부터 취득하는 등 해) 보관 유지할 수가 있어 인쇄 서비스에 데이터 형식을 기술하는 수단을 필요로 합니다.
doc 후레이바의 표현 클래스는, JPS DocPrintJob
의 안녕 제트입니다. 이 표현 클래스를 사용해, 클라이언트로부터 문자 또는 바이트 순서를 취득할 수 있습니다. doc 후레이바의 MIME 타입은, 문자 또는 바이트 순서의 해석 방법을 지정하는, 어떤 것인가의 표준 미디어 타입입니다. 표준 미디어 타입의 리스트에 대해서는, Internet Assigned Numbers Authority (IANA)의 「Media Types Directory」 를 참조해 주세요. 인터페이스 Doc
는,Doc
객체의 클라이언트가 클라이언트 형식의 인쇄 데이터를 추출할 때에 이용 가능한 2 개의 유틸리티 조작,getReaderForText
및 getStreamForBytes()
를 제공합니다.
일반적으로, 클라이언트 형식의 인쇄 데이터는, 다음의 어떤 것인가의 인쇄 데이터 표현 클래스가 됩니다 (다른 표현 클래스도 사용 가능).
char[]
) -- 인쇄 데이터는, 배열내의 Unicde 문자로 구성되는
String
-- 인쇄 데이터는, 캐릭터 라인내의 Unicode 문자로 구성되는
java.io.Reader
) -- 인쇄 데이터는, 스트림을 최초부터 끝까지 읽어들인 Unicode 문자로 구성되는
byte[]
) -- 인쇄 데이터는, 배열내의 바이트로 구성된다. 바이트는, doc 후레이바의 MIME 타입으로 지정된 캐릭터 세트에 encode 된다. MIME 타입으로 캐릭터 세트가 지정되지 않는 경우, 디폴트의 캐릭터 세트인 US-ASCII 가 사용되는
java.io.InputStream
) -- 인쇄 데이터는, 스트림을 최초부터 끝까지 읽어들인 바이트로 구성된다. 바이트는, doc 후레이바의 MIME 타입으로 지정된 캐릭터 세트에 encode 된다. MIME 타입으로 캐릭터 세트가 지정되지 않는 경우, 디폴트의 캐릭터 세트인 US-ASCII 가 사용된다
URL
) -- 인쇄 데이터는, URL 위치로부터 읽힌 바이트로 구성된다. 바이트는, doc 후레이바의 MIME 타입으로 지정된 캐릭터 세트에 encode 된다. MIME 타입으로 캐릭터 세트가 지정되지 않는 경우, 디폴트의 캐릭터 세트인 US-ASCII 가 사용되는 표현 클래스가 URL 의 경우, 클라이언트를 개좌도에, 인쇄 서비스 자체가, URL 주소의 문서에의 액세스 및 다운로드를 직접 실행합니다. 서비스의 형태는, 다른 환경에서 실행되는 네트워크 인쇄 서비스의 경우도 있습니다. 이 때문에, 클라이언트로부터는 가시이지만 프린터로부터는 가시가 아닌 제한된 URL 의 문서는, URL 인쇄 데이타후레이바를 사용해 인쇄하지 말아 주세요. 또, 클라이언트와는 별개에 액세스 가능한 URL 에서는 사용 불가능한 로컬 파일에 포함된 문서도, URL 인쇄 데이타후레이바를 사용해 인쇄하지 말아 주세요. HTTP 서버 또는 FTP 서버가 제공하고 있지 않는 파일이 그 예입니다. 이러한 파일을 인쇄하려면 , 클라이언트를 사용해, URL 또는 파일의 입력 스트림을 열어, 입력 스트림을 데이타후레이바로서 사용합니다.
doc 후레이바의 MIME 타입에 charset
파라미터가 포함되지 않는 바이트 인쇄 데이터의 경우, Java Print Service 인스턴스는, US-ASCII 캐릭터 세트가 디폴트로 설정되어 있는 것이라고 판단 합니다. 이것은, 디폴트 캐릭터 세트를 US-ASCII 로 한다고 하는,RFC 2046 에 근거하는 동작입니다. US-ASCII 는 UTF-8 의 부분집합이기 (위해)때문에, 장래 RFC 에 의해 UTF-8 가 디폴트로서 승인되었을 경우, US-ASCII 가 호환성을 유지하면서 확장될 가능성이 있습니다.
또, 이것은, 바이트 스트림을 텍스트 데이터로서 해석하는 경우의 Java 실행시의 동작과는 다른 경우가 있습니다. 이 경우에는, 사용자의 로케일의 디폴트 인코딩이라고 판단되기 (위해)때문에입니다. 이 때문에, 로컬 인코딩의 파일을 Java Print Service 에 spool 하는 경우에는, 인코딩을 정확하게 지정하는 것이 중요합니다. 특히, 영어 로케일로 작업을 실시하는 개발자는, 스스로의 플랫폼 인코딩이 디폴트 MIME 캐릭터 세트에 대응하고 있으므로, 이 점을 의식할 필요가 있습니다. 경우에 따라서는, 플랫폼 데이터의 인코딩을 지정하지 않아도 동작하는 것이 있기 때문에입니다.
Java 가상 머신의 각 인스턴스는, 가상 머신의 기동시로 결정되는 디폴트 캐릭터 세트를 보관 유지합니다. 또, 일반적으로, 기본 operating system가 사용하는 로케일 및 캐릭터 세트에 의존합니다. 분산환경에서는, 2 개의 VM 가 같은 디폴트 인코딩을 공유하는 것은 보증되지 않습니다. 이 때문에, 플랫폼에서 encode 된 텍스트 데이터를, 호스트 플랫폼으로부터 Java Print Service 인스턴스에 스트림 처리하는 클라이언트는, 캐릭터 세트를 명시적으로 선언해, 디폴트에 의존하지 않게 할 필요가 있습니다.
우선되는 형식은, 인코딩의 정식적 IANA primary명입니다. 텍스트 데이터를 스트림 처리하는 어플리케이션은, 캐릭터 세트를 항상 MIME 타입으로 지정할 필요가 있습니다. 이 때문에, 호스트 플랫폼의 인코딩으로 보존된 데이터 (파일 등)에 관한, 플랫폼의 인코딩을 취득할 필요가 있습니다. 이것에 대응해, DocFlavor 의 MIME 타입에서의 사용에 적절한 CharSet 는,
로부터 취득할 수 있습니다. 이것은, 항상 primary IANA 명이라고 하는 것은 아닙니다만, 확실히 이 가상 머신에 의해 이해됩니다. 일반적인 후레이바의 경우, 정의 끝난 *HOST DocFlavors 를 사용할 수 있습니다. DocFlavor.hostEncoding
Java 플랫폼에서 지원되는 캐릭터 세트의 자세한 것은,「캐릭터 세트」 를 참조해 주세요.
Java Print Service API 는, 강제적으로 지원되는 DocFlavor 를 정의하지 않습니다. 다만, Java Print Service 인스턴스가, 클라이언트 형식의 인쇄 데이터로 지원 가능한 MIME 타입의 예를 몇개인가 가리킵니다. DocFlavor 클래스 내부에서 상자가 된 클래스는, 이러한 샘플 doc 후레이바의 경우, 정의 끝난 static 정수 DocFlavor 객체를 선언합니다. DocFlavor 클래스의 생성자 을 사용해, 임의의 doc 후레이바를 작성할 수 있습니다.
MIME 타입 | 설명 |
---|---|
"text/plain" |
디폴트 캐릭터 세트 (US-ASCII)의 plaintext |
「text/plain; charset=xxx」 |
캐릭터 세트 xxx 의 plaintext |
"text/html" |
디폴트 캐릭터 세트 (US-ASCII)의 하이퍼 텍스트(hyper text) 마크업 언어 |
「text/html; charset=xxx」 |
캐릭터 세트 xxx 의 하이퍼 텍스트(hyper text) 마크업 언어 |
일반적으로, 서식 설정 끝난 텍스트 인쇄 데이터는, 문자 지향의 표현 클래스 (문자 배열, String, Reader), 또는 바이트 지향의 표현 클래스 (바이트 배열, InputStream, URL)에서 제공됩니다.
MIME 타입 | 설명 |
---|---|
「application/pdf」 |
Portable Document Format 문서 |
「application/postscript」 |
PostScript 문서 |
「application/vnd.hp-PCL」 |
Printer Control Language 문서 |
일반적으로, 서식 설정 끝난 PDL 인쇄 데이터는, 바이트 지향의 표현 클래스 (바이트 배열, InputStream, URL)에서 제공됩니다.
MIME 타입 | 설명 |
---|---|
「image/gif」 |
Graphics Interchange Format 이미지 |
「image/jpeg」 |
Joint Photographic Experts Group 이미지 |
「image/png」 |
Portable Network Graphics 이미지 |
일반적으로, 서식 설정 끝난 이미지 인쇄 데이터는, 바이트 지향의 표현 클래스 (바이트 배열, InputStream, URL)에서 제공됩니다.
MIME 타입 | 설명 |
---|---|
「application/octet-stream」 |
인쇄 데이터 형식은 지정되지 않는다 (octet 스트림만) |
프린터가, 인쇄 데이터의 해석 방법을 판별합니다. 이 「자동 인식」의 동작은, 구현에 따라서 다릅니다. 일반적으로, 서식 설정 끝난 autosense 인쇄 데이터는, 바이트 지향의 표현 클래스 (바이트 배열, InputStream, URL)에서 제공됩니다.
서비스 형식의 인쇄 데이터의 경우, Java Print Service 인스턴스가 인쇄 데이터 형식을 판별합니다. doc 후레이바의 표현 클래스가 가리키는 인터페이스 (draw 가능한 이미지 인터페이스나 Java 로 인쇄 가능한 인터페이스등)의 메소드가,DocPrintJob
에 의해 불려 가 인쇄하는 내용이 결정됩니다. doc 후레이바의 MIME 타입은, 특수한 값 「application/x-java-jvm-local-objectref」
가 됩니다. 이 값은, 표현 클래스로서 명명된 인터페이스를 구현하는 클라이언트가 Java 객체에의 참조를 제공하는 것을 나타냅니다. 이 MIME 타입은 단순한 플레이스홀더이며, 중요한 것은 인쇄 데이터 표현 클래스입니다.
서비스 형식의 인쇄 데이터의 경우, 인쇄 데이터 표현 클래스는 (다른 표현 클래스를 이용 가능한 경우에서도) 일반적으로다음의 어떤 것인가가 됩니다. DocFlavor 클래스 내부에서 상자가 된 클래스는, 이러한 샘플 doc 후레이바의 경우, 정의 끝난 static 정수 DocFlavor 객체를 선언합니다. DocFlavor 클래스의 생성자 을 사용해, 임의의 doc 후레이바를 작성할 수 있습니다.
RenderableImage
인터페이스를 구현하는 객체를 제공합니다. 프린터는 이 인터페이스내의 메소드를 호출해, 인쇄하는 이미지를 가져옵니다.
Printable
인터페이스를 구현하는 객체를 제공합니다. 프린터는 이 인터페이스내의 메소드를 호출해, 인쇄하는 페이지를 페이지 마다 가져옵니다. 프린터는 페이지 마다 그래픽스 문맥을 제공해, 클라이언트에 의해 그래픽스 문맥에 draw 된 내용이 모두 인쇄됩니다.
Pageable
인터페이스를 구현하는 객체를 제공합니다. 프린터는 이 인터페이스내의 메소드를 호출해, 인쇄하는 페이지를 페이지 마다 가져옵니다. 프린터는 페이지 마다 그래픽스 문맥을 제공해, 클라이언트에 의해 그래픽스 문맥에 draw 된 내용이 모두 인쇄됩니다.
("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 Print Service 인스턴스는, 상기의 필수 doc 후레이바에 가세해 임의의 doc 후레이바를 지원 가능합니다 (필수의 doc 후레이바인 만큼 한정하는 일도 가능).
상기의 doc 후레이바의 지원가 추천 되고 있기 (위해)때문에, 인쇄를 실시하는 클라이언트는, 프린터가 지원하는 doc 후레이바에 관계없이, 임의의 JPS 프린터에 인쇄 가능하다라고 판단해 서로 지장있습니다. 프린터가 클라이언트의 우선 doc 후레이바를 지원하지 않는 경우, 클라이언트는 적어도 plaintext는 인쇄할 수 있습니다. 또, 데이터를 draw 가능한 이미지로 변환하고 나서 이미지를 인쇄하는 일도 가능합니다.
각 Java Print Service 인스턴스는, 다음에 나타내는 plaintext 인쇄 데이터의 처리 요건도 채울 필요가 있습니다.
클라이언트는, 상기의 요건에 포함되지 않는, 모든 plaintext 인쇄 데이터의 서식 설정을 실행할 필요가 있습니다.
javax.print.data 패키지내의 DocFlavor 클래스는,DataFlavor
클래스에 유사하고 있습니다. Java Print Service (JPS) API 에서는,DataFlavor
클래스는 다음의 3 개의 이유로써 사용되지 않습니다. 이러한 이유는 모두, JSP API 를 공유 가능한 다른 인쇄 서비스 API 가, Java Platform, Standard Edition 의 모든 것을 포함하지 않는 Java 프로파일상에서 실행되는 경우가 있는 것에 유래하고 있습니다.
java.awt.datatransfer.DataFlavor
클래스의 구현은, 등가인 데이타후레이바가 같은 직렬화 표현을 보관 유지하는 것을 보증하지 않는다. DocFlavor 를 서비스로 사용하는 것으로, 등가인 데이타후레이바가 같은 직렬화 표현을 보관 유지하는 것이 보증되는
java.awt.datatransfer.DataFlavor
클래스의 구현에는, 판독 가능한 이름이 직렬화 표현의 일부에 포함된다. 이것은, 서비스 일치 제약의 일부로서는 부적절하다
DocFlavor 클래스의 직렬화 표현은, 다음에 나타내는 정규 형식의 MIME 타입 캐릭터 라인을 사용합니다. 이 때문에, 동일하지 않게 등가 (정규 형식이 같다)의 MIME 타입을 보관 유지하는 2 개의 doc 후레이바는, 동일하다고 볼 수가 있습니다.
DocFlavor 클래스의 직렬화 표현에는, 표현 클래스 그 자체 (Class 객체)는 아니고, 표현 클래스의 완전 지정된 클래스명 (String 객체)도 포함됩니다. 클라이언트는, 이 클래스명을 이용하는 것으로, 표현 클래스를 로드하지 않아도, Java Print Service 인스턴스가 지원하는 doc 후레이바를 검증할 수 있습니다. 클라이언트의 사용 가능한 자원이 한정되어 있는 경우, 표현 클래스의 로드에서 문제가 발생하는 것이 많기 때문에, 이것은 유용한 방법입니다.
상자의 클래스의 개요 | |
---|---|
static class |
DocFlavor.BYTE_ARRAY
DocFlavor.BYTE_ARRAY 클래스는, 사전 정의된 static 정수 DocFlavor 객체를 제공합니다. |
static class |
DocFlavor.CHAR_ARRAY
DocFlavor.CHAR_ARRAY 클래스는, 사전 정의된 static 정수 DocFlavor 객체를 제공합니다. |
static class |
DocFlavor.INPUT_STREAM
DocFlavor.INPUT_STREAM 클래스는, 사전 정의된 static 정수 DocFlavor 객체를 제공합니다. |
static class |
DocFlavor.READER
DocFlavor.READER 클래스는, 사전 정의된 static 정수 DocFlavor 객체를 제공합니다. |
static class |
DocFlavor.SERVICE_FORMATTED
DocFlavor.SERVICE_FORMATTED 클래스는, 정의 끝난 static 정수 DocFlavor 객체 (예, 서비스 형식의 인쇄 데이터용 doc 후레이바)를 제공합니다. |
static class |
DocFlavor.STRING
DocFlavor.STRING 클래스는, 정의 끝난 static 정수 DocFlavor 객체를 제공합니다. |
static class |
DocFlavor.URL
DocFlavor.URL 클래스는, 사전 정의된 static 정수 DocFlavor 객체를 제공합니다. |
필드의 개요 | |
---|---|
static String |
hostEncoding
호스트 operating system의 인코딩을 나타내는 캐릭터 라인입니다. |
생성자 의 개요 | |
---|---|
DocFlavor (String mimeType,
String className)
지정된 MIME 타입 및 표현 클래스명으로부터 신규 doc 후레이바객체를 구축합니다. |
메소드의 개요 | |
---|---|
boolean |
equals (Object obj)
이 doc 후레이바객체가 지정된 객체에 동일한지 어떤지를 판별합니다. |
String |
getMediaSubtype ()
이 doc 후레이바객체의 미디어 subtype을 (MIME 타입으로부터) 돌려줍니다. |
String |
getMediaType ()
이 doc 후레이바객체의 미디어 타입을 (MIME 타입으로부터) 돌려줍니다. |
String |
getMimeType ()
이 doc 후레이바객체의 MIME 타입 캐릭터 라인을, 정규 형식에서 돌려줍니다. |
String |
getParameter (String paramName)
MIME 파라미터를 나타내는 String 를 돌려줍니다. |
String |
getRepresentationClassName ()
이 doc 후레이바객체의 표현 클래스의 이름이 돌려주어집니다. |
int |
hashCode ()
이 doc 후레이바객체의 해시 코드를 돌려줍니다. |
String |
toString ()
이 DocFlavor 를 캐릭터 라인으로 변환합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , finalize , getClass , notify , notifyAll , wait , wait , wait |
필드의 상세 |
---|
public static final String hostEncoding
생성자 의 상세 |
---|
public DocFlavor(String mimeType, String className)
mimeType
- MIME 미디어 타입 캐릭터 라인className
- 완전 지정의 표현 클래스명
NullPointerException
- 미확인의 예외. mimeType
가 null 의 경우,
또는 className
가 null 의 경우, throw 된다
IllegalArgumentException
- 미확인의 예외. mimeType
가
MIME 미디어 타입 캐릭터 라인의 구문에 따르지 않는 경우에 throw 된다메소드의 상세 |
---|
public String getMimeType()
public String getMediaType()
public String getMediaSubtype()
public String getParameter(String paramName)
String
를 돌려줍니다. MIME 타입에는, 일반적으로 옵션의 파라미터를 포함할 수가 있습니다. 텍스트 타입의 캐릭터 세트는, 샘플로서 자주(잘) 사용됩니다. 이 메소드는, 지정된 파라미터의 값이 이 후레이바의 MIME 타입내로 지정되고 있는 경우에, 그 값을 돌려줍니다.
paramName
- 파라미터명. 매칭의 실행전에,
이 이름은 내부에서 정규의 소문자 형식에
변환된다
throws
- paramName 가 null 의 경우에 NullPointerException 가 throw 된다public String getRepresentationClassName()
public String toString()
DocFlavor
를 캐릭터 라인으로 변환합니다.
public int hashCode()
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
DocFlavor
의 인스턴스이며, 이 doc 후레이바객체의 MIME 타입과 등가인 MIME 타입을 보관 유지하는 (즉, MIME 타입이 같은 미디어 타입, 미디어 subtype, 및 파라미터를 보관 유지한다) 경우, 및 이 doc 후레이바객체와 같은 표현 클래스명을 보관 유지하는 경우, 2 개의 객체는 동일해집니다. 이 때문에, 2 개의 doc 후레이바객체의 MIME 타입이 코멘트를 제외해 동일한 경우, 이것들은 동일하다고 보여집니다. 다만, MIME 타입 「text/plain」 및 「text/plain; charset=US-ASCII」를 보관 유지하는 2 개의 doc 후레이바객체는, 같은 미디어 타입을 나타내는 경우에서도, 동일하다고는 보여지지 않습니다 (plaintext의 디폴트 캐릭터 세트가 US-ASCII 이기 (위해)때문에).
obj
- 판정되는 객체
obj
에 동일한 경우는 true,
그렇지 않은 경우는 falseObject.hashCode()
,
Hashtable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.