SimpleDoc

SimpleDoc

Doc 인터페이스의 구현 클래스로, 많은 일반적인 인쇄 요청에서 사용할 수 있어요. DocFlavor 클래스에 정적 변수로 정의된 현재의 모든 "미리 정의된" doc flavor를 처리할 수 있어요.

출처: Java API Reference

본문

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 또는 printDatanull이거나, 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를 얻어요. DocFlavorchar[], java.lang.String, java.io.Reader 중 하나의 인쇄 데이터 표현 클래스를 가지면 이 메서드를 지원해야 하고, 그렇지 않으면 null을 반환해요. 인쇄 데이터 표현 객체가 그 자체로 Reader라면 그 객체를 그대로 반환해요.

  • 반환값: 이 doc에서 인쇄 데이터 문자를 읽을 Reader. 위 조건을 충족하지 않아 reader를 제공할 수 없으면 null
  • 예외 IOException: reader를 만드는 동안 I/O 오류가 발생한 경우

getStreamForBytes

public InputStream getStreamForBytes() throws IOException

이 doc에서 바이트 인쇄 데이터를 추출하기 위한 입력 스트림을 얻어요. DocFlavorbyte[], java.io.InputStream 중 하나의 인쇄 데이터 표현 클래스를 가지면 이 메서드를 지원해야 하고, 그렇지 않으면 null을 반환해요. 인쇄 데이터 표현 객체가 그 자체로 입력 스트림이라면 그 객체를 그대로 반환해요.

  • 반환값: 이 doc에서 인쇄 데이터 바이트를 읽을 InputStream. 입력 스트림을 제공할 수 없으면 null
  • 예외 IOException: 입력 스트림을 만드는 동안 I/O 오류가 발생한 경우

더 알아보기