SimpleDoc
SimpleDoc
Doc 인터페이스의 구현 클래스로, 많은 일반적인 인쇄 요청에서 사용할 수 있어요. DocFlavor 클래스에 정적 변수로 정의된 현재의 모든 "미리 정의된" doc flavor를 처리할 수 있어요.
본문
javax.print 패키지에 속하는 final 클래스로, java.lang.Object를 상속하고 Doc 인터페이스를 구현해요.
이 클래스는 Doc 명세의 특정 필수 의미를 구현해요.
- 요청되고 적절하다면 서비스를 위해 스트림을 구성해요.
- 메서드를 호출할 때마다 같은 객체가 반환되도록 보장해요.
- 여러 스레드가
Doc에 접근할 수 있게 해요. - 데이터가 doc flavor와 일치하는지 검증을 수행해요.
다른 작업에서 doc 객체를 재사용하려는 클라이언트나 MultiDoc가 필요한 클라이언트는 이 클래스를 사용하지 않아야 해요. 인쇄 데이터가 스트림이거나 인쇄 작업이 데이터를 스트림으로 요청하면, SimpleDoc은 데이터 전송 완료나 작업 종료 후 서비스가 스트림을 제대로 닫는지 모니터링하지 않아요.
생성자
public SimpleDoc(Object printData, DocFlavor flavor, DocAttributeSet attributes)
지정된 인쇄 데이터, doc flavor, doc 속성 집합으로 SimpleDoc을 생성해요.
- 파라미터
printData: 인쇄 데이터 객체 - 파라미터
flavor:DocFlavor객체 - 파라미터
attributes:DocAttributeSet.null가능 - 예외
IllegalArgumentException:flavor또는printData가null이거나,printData가 지정된 doc flavor에 대응하지 않는 경우(예: 데이터가DocFlavor에 표현으로 지정된 타입이 아닌 경우)
getDocFlavor
public DocFlavor getDocFlavor()
이 doc 객체가 인쇄 데이터를 공급할 doc flavor를 알아내요.
- 반환값: doc flavor
getAttributes
public DocAttributeSet getAttributes()
이 doc 객체의 인쇄 속성 집합을 얻어요. 반환된 집합에 특정 속성 X의 인스턴스가 포함되어 있으면 프린터는 작업 속성 집합의 X 값을 덮어쓰고 그 속성 값을 이 doc에 사용해야 해요. 반환된 집합에 X가 없거나 null이면 프린터는 작업의 속성 집합에서 X 값을 찾고, 거기에도 없으면 구현에 의존하는 기본값을 사용해요. 반환된 집합은 수정할 수 없어요.
getPrintData
public Object getPrintData() throws IOException
지원되는 doc flavor에 대응하는 형식으로 이 doc 객체의 인쇄 데이터를 담은 인쇄 데이터 표현 객체를 얻어요. getDocFlavor().getRepresentationClassName()이 가리키는 표현 클래스의 인스턴스를 반환하고, 반환 값을 Object에서 그 표현 클래스로 캐스팅할 수 있어요.
- 예외
IOException: 표현 클래스가 스트림이고 스트림을 구성하는 동안 I/O 오류가 발생한 경우
getReaderForText
public Reader getReaderForText() throws IOException
이 doc에서 문자 인쇄 데이터를 추출하기 위한 reader를 얻어요. DocFlavor가 char[], java.lang.String, java.io.Reader 중 하나의 인쇄 데이터 표현 클래스를 가지면 이 메서드를 지원해야 하고, 그렇지 않으면 null을 반환해요. 인쇄 데이터 표현 객체가 그 자체로 Reader라면 그 객체를 그대로 반환해요.
- 반환값: 이 doc에서 인쇄 데이터 문자를 읽을
Reader. 위 조건을 충족하지 않아 reader를 제공할 수 없으면null - 예외
IOException: reader를 만드는 동안 I/O 오류가 발생한 경우
getStreamForBytes
public InputStream getStreamForBytes() throws IOException
이 doc에서 바이트 인쇄 데이터를 추출하기 위한 입력 스트림을 얻어요. DocFlavor가 byte[], java.io.InputStream 중 하나의 인쇄 데이터 표현 클래스를 가지면 이 메서드를 지원해야 하고, 그렇지 않으면 null을 반환해요. 인쇄 데이터 표현 객체가 그 자체로 입력 스트림이라면 그 객체를 그대로 반환해요.
- 반환값: 이 doc에서 인쇄 데이터 바이트를 읽을
InputStream. 입력 스트림을 제공할 수 없으면null - 예외
IOException: 입력 스트림을 만드는 동안 I/O 오류가 발생한 경우