JavaTM Platform
Standard Ed. 6

javax.print
인터페이스 Doc

기존의 구현 클래스의 일람:
SimpleDoc


public interface Doc

Doc 인터페이스는, Print Job 용 인쇄 데이터의 일부를 제공하는 객체에 대한 인터페이스를 지정합니다. 「Doc」는, 인쇄 데이터의 일부를 의미하는, 짧게 발음하기 쉬운 용어입니다. 클라이언트는 Print Job 에 Doc 인터페이스를 구현하는 객체를 건네주어, Print Job 는 객체에 대해서 메소드를 호출해 인쇄 데이터를 가져옵니다. Doc 인터페이스를 사용하는 것으로, Print Job 는 다음의 조작이 실행 가능하게 됩니다.

Doc 인터페이스의 구현내의 각 메소드에서는, 메소드의 호출로 항상 같은 객체를 돌려주는 것이 허가됩니다. 이것은, Print Job 또는 doc 객체외의 호출측의 경우, 호출측이 인쇄 데이터를 취득할 때, 스트림인 인쇄 데이터 표현 객체등의 인쇄 데이터를 「소비한다」일을 나타냅니다. Print Job 가 getPrintData() 를 호출해 스트림을 취득한 뒤에 getPrintData() 를 호출하면(자), 벌써 읽어들여 안의 같은 스트림 객체가 돌려주어집니다. 인쇄 데이터를 한번 더 최초부터 읽어들이는 신규 스트림 객체가 돌려주어질 것은 없습니다. 이러한 동작을 실행하는 doc 객체를 지정하면(자), doc 객체의 구현을 간략화할 수 있습니다. 이것은, 특정의 doc 가 1 개의 Print Job (복수가 다른 Print Job 는 아니고)에 인쇄 데이터를 송신하는 것을 생각하면(자), 이치에 필적하고 있습니다 (동일한 인쇄 데이터를 복수가 다른 Print Job 에 송신하는 경우는, 1 개의 인쇄 데이터 소스의 최상정도에 복수가 다른 doc 객체를 작성할 필요가 있다).  

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 로부터 바이트 인쇄 데이터를 추출하기 위한 입력 스트림을 가져옵니다.
 

메소드의 상세

getDocFlavor

DocFlavor  getDocFlavor()
이 doc 객체가 인쇄 데이터의 일부를 제공하는 doc 후레이바를 판별합니다.

반환값:
Doc 후레이바

getPrintData

Object  getPrintData()
                    throws IOException 
이 doc 객체의 인쇄 데이터의 일부를 포함한 인쇄 데이터 표현 객체를, 지원하는 doc 후레이바에 대응하는 형식에서 가져옵니다. getPrintData() 메소드는, 표현 클래스의 인스턴스를 돌려줍니다 (표현 클래스명은,getDocFlavor() . getRepresentationClassName() 에 의해 지정). 반환값은, Object 클래스로부터 표현 클래스에 캐스트 가능합니다.

반환값:
인쇄 데이터 표현 객체
예외:
IOException - 표현 클래스가 스트림이며, 스트림의 구축중에 입출력 에러가 발생했을 경우에 throw 된다

getAttributes

DocAttributeSet  getAttributes()
이 doc 객체의 인쇄 속성 세트를 가져옵니다. 반환되는 속성 세트에 특정의 속성 X 의 인스턴스가 포함되는 경우, 작업의 속성 세트의 속성 X 의 값을 오버라이드(override) 해, 프린터는 그 속성치를 이 doc 에 사용할 필요가 있습니다. 반환되는 속성 세트에 특정의 속성 X 의 인스턴스가 포함되지 않는가, null 가 반환되는 경우, 프린터는 작업의 속성 세트를 문의해 속성 X 의 값을 취득할 필요가 있습니다. 발견되지 않는 경우, 프린터는 구현 의존의 디폴트 값를 사용할 필요가 있습니다. 반환된 속성 세트는 변경할 수 없습니다.

반환값:
이 doc 의 변경 불가능한 인쇄 속성 세트. 또는, 작업의 속성 세트로부터 모든 속성치를 취득하는 경우는 null

getReaderForText

Reader  getReaderForText()
                        throws IOException 
이 doc 로부터 문자 인쇄 데이터를 추출하기 위한 리더를 가져옵니다. DocFlavor 가 다음의 인쇄 데이터 표현 클래스의 어떤 것인지를 보관 유지하는 경우, Doc 구현이 이 메소드를 지원할 필요가 있습니다. 보관 유지하지 않는 경우, null 가 돌려주어집니다. doc 의 인쇄 데이터 표현 객체를 사용해, 인쇄 데이터를 문자의 스트림로서 읽어내기 위한 Reader 를 구축해 돌려줍니다. 다만, 인쇄 데이터 표현 객체 자체가 Reader 의 경우, 인쇄 데이터 표현 객체가 돌려주어질 뿐입니다.  

반환값:
이 doc 로부터 인쇄 데이터 문자를 읽어내기 위한 리더. 이 doc 가 상기의 기준을 채우지 않기 위해(때문에) 리더를 사용할 수 없는 경우, null 가 반환된다
예외:
IOException - 리더의 작성중에 입출력 에러가 발생했을 경우에 throw 된다

getStreamForBytes

InputStream  getStreamForBytes()
                              throws IOException 
이 doc 로부터 바이트 인쇄 데이터를 추출하기 위한 입력 스트림을 가져옵니다. DocFlavor 가 다음의 인쇄 데이터 표현 클래스의 어떤 것인지를 보관 유지하는 경우, Doc 구현이 이 메소드를 지원할 필요가 있습니다. 보관 유지하지 않는 경우, null 가 돌려주어집니다. 이 doc 의 인쇄 데이터 표현 객체의 취득 후에, 인쇄 데이터 표현 객체로부터 인쇄 데이터를 바이트 스트림로서 읽어내기 위한 입력 스트림이 작성되어 돌려주어집니다. 다만, 인쇄 데이터 표현 객체 자체가 입력 스트림의 경우는, 인쇄 데이터 표현 객체가 돌려주어질 뿐입니다.  

반환값:
이 doc 로부터 인쇄 데이터 바이트를 읽어내기 위한 입력 스트림. 이 doc 가 상기의 기준을 채우지 않기 위해(때문에) 입력 스트림을 사용할 수 없는 경우, null 가 반환된다
예외:
IOException - 입력 스트림의 작성중에 입출력 에러가 발생했을 경우에 throw 된다

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.