|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface Doc
Doc 인터페이스는, Print Job 용 인쇄 데이터의 일부를 제공하는 객체에 대한 인터페이스를 지정합니다. 「Doc」는, 인쇄 데이터의 일부를 의미하는, 짧게 발음하기 쉬운 용어입니다. 클라이언트는 Print Job 에 Doc 인터페이스를 구현하는 객체를 건네주어, Print Job 는 객체에 대해서 메소드를 호출해 인쇄 데이터를 가져옵니다. Doc 인터페이스를 사용하는 것으로, Print Job 는 다음의 조작이 실행 가능하게 됩니다.
DocFlavor
클래스)을 판별한다. doc 후레이바는, 인쇄 데이터 형식 (MIME 타입) 및 인쇄 데이터의 송신원객체의 표현 클래스를 가리키는
javax.print.attribute
내에서 정의된다. doc 는,javax.print.attribute.DocAttributeSet
내에 포함된 출력 속성을 돌려준다
Doc 인터페이스의 구현내의 각 메소드에서는, 메소드의 호출로 항상 같은 객체를 돌려주는 것이 허가됩니다. 이것은, Print Job 또는 doc 객체외의 호출측의 경우, 호출측이 인쇄 데이터를 취득할 때, 스트림인 인쇄 데이터 표현 객체등의 인쇄 데이터를 「소비한다」일을 나타냅니다. Print Job 가
를 호출해 스트림을 취득한 뒤에 getPrintData()
를 호출하면(자), 벌써 읽어들여 안의 같은 스트림 객체가 돌려주어집니다. 인쇄 데이터를 한번 더 최초부터 읽어들이는 신규 스트림 객체가 돌려주어질 것은 없습니다. 이러한 동작을 실행하는 doc 객체를 지정하면(자), doc 객체의 구현을 간략화할 수 있습니다. 이것은, 특정의 doc 가 1 개의 Print Job (복수가 다른 Print Job 는 아니고)에 인쇄 데이터를 송신하는 것을 생각하면(자), 이치에 필적하고 있습니다 (동일한 인쇄 데이터를 복수가 다른 Print Job 에 송신하는 경우는, 1 개의 인쇄 데이터 소스의 최상정도에 복수가 다른 doc 객체를 작성할 필요가 있다). getPrintData()
Doc 인터페이스에서는, 구현에 꽤 유연성을 갖게할 수가 있습니다. doc 객체의 구축시에는, 인쇄 데이터가 벌써 존재하고 있는 경우가 있습니다. 이 경우, doc 의 메소드에 의해 반환되는 객체를 doc 의 생성자 에 제공해, 미리 doc 내에 포함해 두는 것으로, 호출시에 그대로 돌려주는 것만으로 끝납니다. 또, doc 객체의 구축시에 인쇄 데이터가 존재하고 있지 않는 경우도 있습니다. 이 경우, doc 객체는 「레이지」구현을 제공할 수 있습니다. Print Job 가
메소드를 호출하면(자), 「레이지」구현은 인쇄 데이터 표현 객체 (나 인쇄 데이터)를 생성합니다. getPrintData()
1 개의 doc 에 동시 액세스 가능한 클라이언트 thread수에 제한은 없습니다. 이 때문에, Doc 인터페이스의 구현은 모두, 복수의 thread 세이프이도록(듯이) 설계할 필요가 있습니다.
다만, Doc 로부터 취득된 인쇄 데이터의 컨슈머(consumer)는 1 개가 아니면 안됩니다.
Doc 의 getReaderForText()
나 getStreamForBytes()
메소드를 호출한다, 또는 인쇄 데이터 소스가 InputStream 또는 Reader 내에 존재하기 위해서, 인쇄 데이터가 클라이언트로부터 스트림로서 취득되는 경우, 인쇄 서비스는 어느 작업 완료 조건의 경우에도 클라이언트에 대해서 이러한 스트림을 항상 닫을 필요가 있습니다. 다음의 점에 주의해 주세요. 인쇄 데이터 자체가 스트림의 경우, 서비스는 항상 인쇄 데이터를 닫습니다. 인쇄 데이터가 다른 방법으로 스트림로서 요구 가능해, 종료전에 스트림을 취득 끝난 경우, 서비스는 스트림을 닫을 뿐입니다. 즉, 인쇄 서비스가 데이터를 스트림로서 요구할 가능성이 있다고 하는 것만으로, 스트림을 닫는 서비스를 이용하는 Doc 구현자가 서비스로부터의 요구에 응답해 스트림을 작성해야 하는 것은 아닙니다.
메소드의 개요 | |
---|---|
DocAttributeSet |
getAttributes ()
이 doc 객체의 인쇄 속성 세트를 가져옵니다. |
DocFlavor |
getDocFlavor ()
이 doc 객체가 인쇄 데이터의 일부를 제공하는 doc 후레이바를 판별합니다. |
Object |
getPrintData ()
이 doc 객체의 인쇄 데이터의 일부를 포함한 인쇄 데이터 표현 객체를, 지원하는 doc 후레이바에 대응하는 형식에서 가져옵니다. |
Reader |
getReaderForText ()
이 doc 로부터 문자 인쇄 데이터를 추출하기 위한 리더를 가져옵니다. |
InputStream |
getStreamForBytes ()
이 doc 로부터 바이트 인쇄 데이터를 추출하기 위한 입력 스트림을 가져옵니다. |
메소드의 상세 |
---|
DocFlavor getDocFlavor()
Object getPrintData() throws IOException
getDocFlavor()
. getRepresentationClassName()
에 의해 지정). 반환값은, Object 클래스로부터 표현 클래스에 캐스트 가능합니다.
IOException
- 표현 클래스가 스트림이며,
스트림의 구축중에 입출력 에러가 발생했을 경우에 throw 된다DocAttributeSet getAttributes()
Reader getReaderForText() throws IOException
IOException
- 리더의 작성중에 입출력 에러가 발생했을 경우에 throw 된다InputStream getStreamForBytes() throws IOException
IOException
- 입력 스트림의 작성중에 입출력 에러가 발생했을 경우에 throw 된다
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.