JavaTM Platform
Standard Ed. 6

javax.print
인터페이스 PrintService

기존의 서브 인터페이스의 일람:
MultiDocPrintService
기존의 구현 클래스의 일람:
StreamPrintService


public interface PrintService

PrintService 인터페이스는, DocPrintJob 의 팩토리입니다. PrintService 는, Printer 의 기능을 기술합니다. 또, 프린터가 지원하는 속성에 관한 조회를 실행할 수 있습니다.  

례:

   DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;
   PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
   aset.add(MediaSizeName.ISO_A4);
   PrintService[] pservices =
                 PrintServiceLookup.lookupPrintServices(flavor, aset);
   if (pservices.length > 0) {
       DocPrintJob pj = pservices[0]. createPrintJob();
       try {
           FileInputStream fis = new FileInputStream("test.ps");
           Doc doc = new SimpleDoc(fis, flavor, null);
           pj.print(doc, aset);
       } catch (FileNotFoundException fe) {
       } catch (PrintException e) { 
       }
   }
   


메소드의 개요
 void addPrintServiceAttributeListener (PrintServiceAttributeListener  listener)
          이 PrintService 에 이벤트의 청취자를 등록합니다.
 DocPrintJob createPrintJob ()
          지원하는 어떤 것인가의 드큐먼트후레이바의 데이터를 처리 가능한 PrintJob 를 작성해 돌려줍니다.
 boolean equals (Object  obj)
          2 개의 서비스가 같은 기본 서비스를 참조하고 있을지 어떨지를 판별합니다.
<T extends PrintServiceAttribute >
T
getAttribute (Class <T> category)
          지정된 단일의 서비스 속성의 값을 가져옵니다.
 PrintServiceAttributeSet getAttributes ()
          이 인쇄 서비스의 프린터 기술 속성 세트를 가져옵니다.
 Object getDefaultAttributeValue (Class <? extends Attribute > category)
          이 인쇄 서비스의 지정된 카테고리내에서의 디폴트 인쇄 속성치를 판별합니다.
 String getName ()
          이 인쇄 서비스의 String 명을 돌려줍니다.
 ServiceUIFactory getServiceUIFactory ()
          다양한 롤의 서비스와의 대화 처리를 사용자에게 제공하는 UI 컴퍼넌트의 팩토리를 돌려줍니다.
 Class <? >[] getSupportedAttributeCategories ()
          이 인쇄 서비스의 작업 설정시에, 클라이언트가 지정 가능한 인쇄 속성 카테고리를 판별합니다.
 Object getSupportedAttributeValues (Class <? extends Attribute > category, DocFlavor  flavor, AttributeSet  attributes)
          이 인쇄 서비스용의 작업 설정시에, 클라이언트가 특정의 카테고리내에서 지정 가능한 인쇄 속성치를 판별합니다.
 DocFlavor [] getSupportedDocFlavors ()
          이 PrintService 용의 작업 설정시에, 클라이언트가 지정 가능한 인쇄 데이터 형식을 판별합니다.
 AttributeSet getUnsupportedAttributes (DocFlavor  flavor, AttributeSet  attributes)
          특정의 DocFlavor 의 문맥내의 인쇄 요구로 지원되지 않는 속성을 식별합니다.
 int hashCode ()
          이 메소드의 구현에는,equals(Object) 를 일관해 사용할 필요가 있습니다.
 boolean isAttributeCategorySupported (Class <? extends Attribute > category)
          이 인쇄 서비스의 작업 설정시에, 클라이언트가 특정의 인쇄 속성 카테고리를 지정 가능한가 어떤가를 판별합니다.
 boolean isAttributeValueSupported (Attribute  attrval, DocFlavor  flavor, AttributeSet  attributes)
          이 Print Service 용의 작업 설정시에, 클라이언트가 특정의 인쇄 속성치를 지정 가능한가 어떤가를 판별합니다.
 boolean isDocFlavorSupported (DocFlavor  flavor)
          이 인쇄 서비스가 특정의 DocFlavor 를 지원할지 어떨지를 판별합니다.
 void removePrintServiceAttributeListener (PrintServiceAttributeListener  listener)
          이 인쇄 서비스로부터 인쇄 서비스 청취자를 삭제합니다.
 

메소드의 상세

getName

String  getName()
이 인쇄 서비스의 String 명을 돌려줍니다. 어플리케이션은, 이것을 사용해 특정의 인쇄 서비스를 요구할 수 있습니다. 네임 서비스등이 적절한 문맥에서는, 이 이름은 일의가 아니면 안됩니다. 환경에 따라서는, 이 일의명을, PrinterName 속성으로서 정의된 사용자에게 있어 알기 쉬운 프린터명과 같게 할 수 있습니다.

반환값:
서비스의 이름

createPrintJob

DocPrintJob  createPrintJob()
지원하는 어떤 것인가의 드큐먼트후레이바의 데이터를 처리 가능한 PrintJob 를 작성해 돌려줍니다.

반환값:
DocPrintJob 객체

addPrintServiceAttributeListener

void addPrintServiceAttributeListener(PrintServiceAttributeListener  listener)
이 PrintService 에 이벤트의 청취자를 등록합니다.

파라미터:
listener - 인쇄 서비스 상태를 감시하는 PrintServiceAttributeListener
관련 항목:
removePrintServiceAttributeListener(javax.print.event.PrintServiceAttributeListener)

removePrintServiceAttributeListener

void removePrintServiceAttributeListener(PrintServiceAttributeListener  listener)
이 인쇄 서비스로부터 인쇄 서비스 청취자를 삭제합니다. 이것은, 이후, 청취자가 PrintService 이벤트에 관여하지 않는 것을 의미합니다.

파라미터:
listener - PrintServiceAttributeListener 객체
관련 항목:
addPrintServiceAttributeListener(javax.print.event.PrintServiceAttributeListener)

getAttributes

PrintServiceAttributeSet  getAttributes()
이 인쇄 서비스의 프린터 기술 속성 세트를 가져옵니다. 프린터 기술 속성 세트는, 이 Print Service 상태를 지정합니다. 반환되는 속성 세트 객체는 변경할 수 없습니다. 반환되는 속성 세트 객체는,getAttributes() 메소드 호출시의 Print Service 속성의 「snapshot」입니다. 즉, 이 인쇄 서비스의 속성 세트의 내용이 장래 변경되어도, 반환되는 속성 세트의 내용은 갱신되지 않습니다. 속성치의 변경을 검출하려면 ,getAttributes() 를 재차 호출해, 신규 속성 세트를 이전의 속성 세트와 비교합니다. 이제(벌써) 1 개의 방법으로서 인쇄 서비스 이벤트의 청취자를 등록할 수도 있습니다.

반환값:
이 Print Service 의 속성 세트의 변경 불가능한 snapshot. 빈 상태(empty)에서도 좋지만 null 여서는 안 된다

getAttribute

<T extends PrintServiceAttribute > T getAttribute(Class <T> category)
지정된 단일의 서비스 속성의 값을 가져옵니다. 이것은, 클라이언트가 1 개의 속성치만을 필요로 해, 오버헤드를 최소한으로 억제하는 경우에 유용합니다.

파라미터:
category - 이 인쇄 서비스의 지원하는 PrintServiceAttribute - null 로 설정할 수 없다
반환값:
지원되는 속성의 값, 또는, 속성이 이 서비스로 지원되지 않는 경우는 null
예외:
NullPointerException - 카테고리가 null 의 경우
IllegalArgumentException - (체크되지 않는 예외) categoryPrintServiceAttribute 인터페이스를 구현하는 Class 가 아닌 경우

getSupportedDocFlavors

DocFlavor [] getSupportedDocFlavors()
PrintService 용의 작업 설정시에, 클라이언트가 지정 가능한 인쇄 데이터 형식을 판별합니다. 인쇄 데이터 형식은, MIME 타입 및 인쇄 데이터 표현 클래스로 구성되는 「doc 후레이바」(DocFlavor 클래스)에 의해 나타내집니다.  

doc 후레이바안에는, 모든 속성과 조합할 수 없는 것도 있습니다. getUnsupportedAttributes(..) (을)를 사용해, 특정의 편성이 유효한가 어떤가를 확인해 주세요.

반환값:
지원되는 doc 후레이바의 배열. 배열은, 1 개(살) 이상의 요소를 보관 유지할 필요가 있다

isDocFlavorSupported

boolean isDocFlavorSupported(DocFlavor  flavor)
이 인쇄 서비스가 특정의 DocFlavor 를 지원할지 어떨지를 판별합니다. 이 메소드는,DocFlavorgetSupportedDocFlavors() 를 실행해 얻을 수 있던 멤버인가 어떤가를 판별하는데 이용할 수 있습니다.  

doc 후레이바안에는, 모든 속성과 조합할 수 없는 것도 있습니다. getUnsupportedAttributes(..) (을)를 사용해, 특정의 편성이 유효한가 어떤가를 확인해 주세요.

파라미터:
flavor - 지원를 조회하는 DocFlavor
반환값:
이 인쇄 서비스가 지정된 DocFlavor 를 지원하는 경우는 true, 지원하지 않는 경우는 false
예외:
NullPointerException - (체크되지 않는 예외) flavor 가 null 의 경우에 throw 된다

getSupportedAttributeCategories

Class <? >[] getSupportedAttributeCategories()
이 인쇄 서비스의 작업 설정시에, 클라이언트가 지정 가능한 인쇄 속성 카테고리를 판별합니다. 인쇄 속성 카테고리는,Attribute 인터페이스를 구현하는 Class 에 의해 나타납니다. 이 메소드는, 지원하는 속성 「카테고리」만을 돌려주어, 지원하는 특정의 속성 「값」은 돌려주지 않습니다.  

이 메소드는, 실행 가능한 모든 작업으로 이 인쇄 서비스가 지원하는 인쇄 속성 카테고리 모든 것을 돌려줍니다. 특정의 문맥 (DocFlavor)에서는, 지원되지 않는 카테고리도 있습니다. 송신전에,getSupportedAttributeValues(..) 등,DocFlavor 를 포함한 몇개의 메소드를 사용해 요구를 검증해 주세요.

반환값:
클라이언트가, Print Request 내에서 doc 레벨 또는 작업 레벨의 속성으로서 지정 가능한 인쇄 속성 카테고리의 배열. 배열내의 각 요소는,Attribute 인터페이스를 구현하는 Class 가 된다. 지원하는 카테고리가 존재하지 않는 경우, 배열은 비운다

isAttributeCategorySupported

boolean isAttributeCategorySupported(Class <?  extends Attribute > category)
이 인쇄 서비스의 작업 설정시에, 클라이언트가 특정의 인쇄 속성 카테고리를 지정 가능한가 어떤가를 판별합니다. 인쇄 속성 카테고리는,Attribute 인터페이스를 구현하는 Class 에 의해 나타납니다. 이 메소드는, 속성 「카테고리」가 지원될지 어떨지를 나타내, 특정의 속성 「값」이 지원될지 어떨지는 가리키지 않습니다.  

특정의 문맥 (DocFlavor)에서는, 지원되지 않는 카테고리도 있습니다. 송신전에,getSupportedAttributeValues(..) 등,DocFlavor 를 포함한 몇개의 메소드를 사용해 요구를 검증해 주세요.  

이 메소드를 사용해, 카테고리가 getSupportedAttributeCategories() 의 결과의 멤버인가 어떤가를 판별할 수 있습니다.

파라미터:
category - 테스트 대상의 인쇄 속성 카테고리. Attribute 인터페이스를 구현하는 Class 가 아니면 안된다
반환값:
이 인쇄 서비스가, Print Request 의 category 내의 doc 레벨 또는 작업 레벨의 속성 지정을 지원하는 경우는 true, 지원하지 않는 경우는 false
예외:
NullPointerException - (체크되지 않는 예외) category 가 null 의 경우에 throw 된다
IllegalArgumentException - (체크되지 않는 예외) categoryAttribute 인터페이스를 구현하는 Class 가 아닌 경우에 throw 된다

getDefaultAttributeValue

Object  getDefaultAttributeValue(Class <?  extends Attribute > category)
이 인쇄 서비스의 지정된 카테고리내에서의 디폴트 인쇄 속성치를 판별합니다. 인쇄 속성치는,Attribute 인터페이스를 구현하는 클래스의 인스턴스입니다. 클라이언트가 인쇄 작업을 설정해, 한편 지정된 카테고리내의 속성치를 지정하지 않는 경우, Print Service 는 디폴트 속성치를 사용합니다.  

특정의 문맥 (DocFlavor)에서는, 지원되지 않는 속성도 존재합니다. 송신전에,getSupportedAttributeValues(..) 등,DocFlavor 를 포함한 몇개의 메소드를 사용해 요구를 검증해 주세요.  

모든 속성이 디폴트 값를 보관 유지하는 것은 아닙니다. 예를 들어, 서비스는 RequestingUser 의 디폴트 값를 보관 유지하지 않습니다. 즉, 지원되는 카테고리로 null 가 반환되는 경우, 그 카테고리의 서비스의 디폴트 값가 존재하지 않는 것을 의미합니다. 이것에 들어맞는 경우를 분별하려면 ,isAttributeCategorySupported(Class) 를 사용해 주세요.

파라미터:
category - 디폴트 속성치가 요구되는 인쇄 속성 카테고리. Attribute 인터페이스를 구현하는 Class 가 아니면 안된다
반환값:
category 의 디폴트 속성치, 또는 null (이 Print Service 가, Print Request 의 category 내의 doc 레벨 또는 작업 레벨의 속성 지정을 지원하지 않는지, 서비스가 이 속성의 디폴트 값를 보관 유지하지 않는 경우)
예외:
NullPointerException - (체크되지 않는 예외) category 가 null 의 경우에 throw 된다
IllegalArgumentException - (체크되지 않는 예외) categoryAttribute 인터페이스를 구현하는 Class 가 아닌 경우에 throw 된다

getSupportedAttributeValues

Object  getSupportedAttributeValues(Class <?  extends Attribute > category,
                                   DocFlavor  flavor,
                                   AttributeSet  attributes)
이 인쇄 서비스용의 작업 설정시에, 클라이언트가 특정의 카테고리내에서 지정 가능한 인쇄 속성치를 판별합니다. 인쇄 속성치는,Attribute 인터페이스를 구현하는 클래스의 인스턴스입니다.  

flavor 가 null 로,attributes 가 null 또는 빈 상태(empty)세트의 경우, 이 메소드는, 실행 가능한 모든 작업으로 이 Print Service 가 지원하는 인쇄 속성치 모든 것을 돌려줍니다. flavor 가 null 가 아닌지,attributes 가 빈 상태(empty)세트가 아닌 경우, 이 메소드는 지정된 doc 후레이바나 속성 세트와 호환성이 있는 인쇄 속성치만을 돌려줍니다. 즉, 반환값 null 는, 이 속성 지정이 지정된 DocFlavor 와 호환성이 없는 것을 나타내는 경우가 있습니다. 또, DocFlavor 가 null 가 아닌 경우, 이 PrintService 가 지원하는 후레이바가 아니면 안됩니다. 그 이외의 경우, IllegalArgumentException 가 throw 됩니다.  

attributes 파라미터에 포함되는 Attribute 의 카테고리가,category 파라미터와 같은 경우, 서비스는 AttributeSet 내에서 이 속성을 무시할 필요가 있습니다.  

문맥을 정확하게 표현하기 위해서,Doc 상에서 지정하는 DocAttribute 를 이 세트에 포함할 필요가 있습니다.  

이 메소드는, Object 를 돌려줍니다. 인쇄 속성 카테고리가 다르면(자), 지원되는 속성치도 다르기 (위해)때문에입니다. javax.print.attribute.standard 패키지내의 각 인쇄 속성의 문서에는, 각 속성이 지원하는 값을 나타낼 방법이 기재되어 있습니다. 지원의 표시 방법을, 다음에 나타냅니다.

파라미터:
category - 테스트 대상의 인쇄 속성 카테고리. Attribute 인터페이스를 구현하는 Class 가 아니면 안되는
flavor - 지원하는 작업의 doc 후레이바, 또는 null
attributes - 지원되는 작업의 인쇄 속성 세트 (작업 레벨 속성 및 문서 레벨 속성), 또는 null
반환값:
category 로 지원되는 값을 나타내는 객체, 또는 null (이 Print Service 가 Print Request 의 category 내에서 doc 레벨 또는 작업 레벨의 속성 지정을 지원하지 않는 경우)
예외:
NullPointerException - (체크되지 않는 예외) category 가 null 의 경우에 throw 된다
IllegalArgumentException - (체크되지 않는 예외) categoryAttribute 인터페이스를 구현하는 Class 가 아닌 경우, 또는 이 서비스가 DocFlavor 를 지원하지 않는 경우

isAttributeValueSupported

boolean isAttributeValueSupported(Attribute  attrval,
                                  DocFlavor  flavor,
                                  AttributeSet  attributes)
이 Print Service 용의 작업 설정시에, 클라이언트가 특정의 인쇄 속성치를 지정 가능한가 어떤가를 판별합니다. 인쇄 속성치는,Attribute 인터페이스를 구현하는 클래스의 인스턴스입니다.  

flavor 가 null 인지,attributes 가 null 또는 빈 상태(empty)세트인 경우, 이 메소드는, doc 후레이바와 속성 세트의 가능한 편성으로, 지정된 인쇄 속성치를 이 Print Service 가 지원할지 어떨지를 나타냅니다. flavor 가 null 가 아닌지,attributes 가 빈 상태(empty)세트가 아닌 경우, 이 메소드는, 이 Print Service 가, 지정된 doc 후레이바나 속성 세트와 조합해, 지정된 인쇄 속성치를 지원할지 어떨지를 나타냅니다.  

또, DocFlavor 가 null 가 아닌 경우, 이 PrintService 가 지원하는 후레이바가 아니면 안됩니다. 그 이외의 경우, IllegalArgumentException 가 throw 됩니다.  

문맥을 정확하게 표현하기 위해서,Doc 상에서 지정하는 DocAttribute 를 이 세트에 포함할 필요가 있습니다.  

이 메소드를 사용해, 값이 getSupportedAttributeValues(...) 의 결과의 멤버인가 어떤가를 판별할 수 있습니다.

파라미터:
attrval - 테스트 대상의 인쇄 속성치
flavor - 지원하는 작업의 doc 후레이바, 또는 null
attributes - 지원되는 작업의 인쇄 속성 세트 (작업 레벨 속성 및 문서 레벨 속성), 또는 null
반환값:
이 Print Service 로, Print Request 내의 doc 레벨 또는 작업 레벨 속성으로서 attrval 를 지정 가능한 경우는 true, 그렇지 않은 경우는 false
예외:
NullPointerException - (체크되지 않는 예외) attrval 가 null 의 경우
IllegalArgumentException - 후레이바가 이 PrintService 로 지원되지 않는 경우

getUnsupportedAttributes

AttributeSet  getUnsupportedAttributes(DocFlavor  flavor,
                                      AttributeSet  attributes)
특정의 DocFlavor 의 문맥내의 인쇄 요구로 지원되지 않는 속성을 식별합니다. 이 메소드는, 실행될 가능성이 있는 인쇄 작업의 타당성을 검증하거나 지원 불가능한 특정의 속성을 식별하는 경우에 도움이 됩니다. 지원되는 DocFlavor 만을 지정하는 것이 중요합니다. 지원하지 않는 것을 지정하면(자) IllegalArgumentException 가 throw 됩니다. 이 메소드의 반환값이 null 의 경우, 모든 속성이 지원됩니다.  

문맥을 정확하게 표현하기 위해서,Doc 상에서 지정하는 DocAttribute 를 이 세트에 포함할 필요가 있습니다.  

반환값이 null 이외의 경우, 이 DocFlavor 에서는, 반환되는 세트내의 모든 속성이 지원되지 않습니다. 반환되는 세트는, 지원되지 않는 속성 카테고리와 지원되지 않는 속성치를 구별하지 않습니다.  

지원되는 인쇄 요구는, DocFlavor 가 지원되지 않는 경우를 제외해, 원의 속성 세트로부터 지원되지 않는 속성을 모두 삭제해 작성할 수 있습니다.  

다른 속성과 경합 하고 있을 뿐(만큼)의 이유로써 속성이 지원되지 않는 경우, 경합의 원인으로서 식별되는 속성의 선택은, 서비스에 맡습니다.  

isDocFlavorSupported() 를 사용해, DocFlavor 가 지원되고 있는 것을 확인하고 나서, 이 메소드를 호출해 주세요.

파라미터:
flavor - 테스트 대상의 doc 후레이바, 또는 null
attributes - 지원되는 작업의 인쇄 속성 세트 (작업 레벨 속성 및 문서 레벨 속성), 또는 null
반환값:
이 Print Service 가 인쇄 요구 스펙을 지원하는 경우는 null, 그 이외의 경우는 지원되지 않는 속성
예외:
IllegalArgumentException - flavor 가 이 PrintService 으로 지원되지 않는 경우

getServiceUIFactory

ServiceUIFactory  getServiceUIFactory()
다양한 롤의 서비스와의 대화 처리를 사용자에게 제공하는 UI 컴퍼넌트의 팩토리를 돌려줍니다. UI 를 일절 제공하지 않는 서비스는, null 를 돌려줄 필요가 있습니다. UI 를 제공하지만, UI 를 지원하지 않는 환경에서의 이용을 상정하고 있는 Print Service 는, 어플리케이션이 이 메소드를 호출해 팩토리를 취득하지 않는 한, 팩토리가 초기화되지 않게 할 필요가 있습니다. 자세한 것은,ServiceUIFactory 를 참조해 주세요.

반환값:
null 또는 UI 컴퍼넌트의 팩토리

equals

boolean equals(Object  obj)
2 개의 서비스가 같은 기본 서비스를 참조하고 있을지 어떨지를 판별합니다. 인쇄 서비스를 캡슐화하는 복수의 객체는, 동일한 기본 서비스를 참조하는 경우에서도, 참조가 동일한 일을 나타낼 수 없습니다.  

클라이언트는, 이 메소드를 호출해, 2 개의 서비스가 동일한 기본 서비스를 참조하고 있을지 어떨지를 판별할 필요가 있습니다.  

서비스는, 이 메소드를 구현해, 비교 대상의 서비스 객체가 클라이언트에 의해 교대로 사용 가능한 경우에만 true 를 돌려줄 필요가 있습니다. 이 경우, 서비스는 같은 객체 참조를 기본 서비스에 자유롭게 돌려줄 수가 있습니다만, 클라이언트는 참조가 동일한 것에 의존 해서는 안됩니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
obj - 비교 대상의 참조 객체
반환값:
이 서비스가 obj 인수와 같은 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Object.hashCode() , Hashtable

hashCode

int hashCode()
이 메소드의 구현에는,equals(Object) 를 일관해 사용할 필요가 있습니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
이 객체의 해시 코드
관련 항목:
Object.equals(java.lang.Object) , Hashtable

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 도 참조해 주세요.