-
- 既知のすべてのサブインタフェース:
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>
TgetAttribute(Class<T> category)
指定された単一のサービス属性の値を取得します。PrintServiceAttributeSet
getAttributes()
この印刷サービスのプリンタ記述属性セットを取得します。プリンタ記述属性セットは、このPrint Serviceの状態を指定します。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()
メソッド呼出し時の「スナップショット」です。つまり、この印刷サービスの属性セットの内容が将来変更されても、返される属性セットの内容は更新されません。 属性値の変更を検出するには、getAttributes()
を再度呼び出して、新規属性セットを以前の属性セットと比較します。もう1つの方法として、印刷サービス・イベントのリスナーを登録することもできます。- 戻り値:
- このPrint Serviceの属性セットの変更不可能なスナップショット。 空でも良いがnullであってはならない
-
getAttribute
<T extends PrintServiceAttribute> T getAttribute(Class<T> category)
指定された単一のサービス属性の値を取得します。 これは、クライアントが1つの属性の値のみを必要としており、オーバーヘッドを最小限に抑えようとする場合に有用です。- 型パラメータ:
T
- 指定されたサービス属性の型- パラメータ:
category
- この印刷サービスのサポートするPrintServiceAttribute - nullに設定することはできない。- 戻り値:
- サポートされる属性の値、または、属性がこのサービスでサポートされない場合はnull
- 例外:
NullPointerException
- カテゴリがnullの場合。IllegalArgumentException
- 非チェック例外。category
がPrintServiceAttribute
インタフェースを実装するClass
ではない場合。
-
getSupportedDocFlavors
DocFlavor[] getSupportedDocFlavors()
このPrintService
用のジョブ設定時に、クライアントが指定可能な印刷データ形式を判定します。 印刷データ形式は、MIMEタイプおよび印刷データ表現クラスで構成される「docフレーバ」(DocFlavor
クラス)により表されます。docフレーバの中には、すべての属性と組み合わせることのできないものもあります。
getUnsupportedAttributes(..)
を使用して、特定の組み合わせを検証してください。- 戻り値:
- サポートされるdocフレーバの配列。配列は、1つ以上の要素を保持する必要がある
-
isDocFlavorSupported
boolean isDocFlavorSupported(DocFlavor flavor)
この印刷サービスが特定のDocFlavor
をサポートするかどうかを判定します。 このメソッドを使用して、DocFlavor
がgetSupportedDocFlavors()
の結果のメンバーかどうかを判別できます。docフレーバの中には、すべての属性と組み合わせることのできないものもあります。
getUnsupportedAttributes(..)
を使用して、特定の組み合わせを検証してください。- パラメータ:
flavor
- サポートを照会するDocFlavor
。- 戻り値:
- この印刷サービスが指定された
DocFlavor
をサポートする場合はtrue
、サポートしない場合はfalse
。 - 例外:
NullPointerException
- 非チェック例外。flavor
がnullの場合にスローされる。
-
getSupportedAttributeCategories
Class<?>[] getSupportedAttributeCategories()
この印刷サービスのジョブ設定時に、クライアントが指定可能な印刷属性カテゴリを判別します。 印刷属性カテゴリは、Attribute
インタフェースを実装するClass
によって指定されます。 このメソッドは、サポートする属性カテゴリだけを返し、サポートする特定の属性値は返しません。このメソッドは、実行可能なすべてのジョブでこの印刷サービスがサポートする印刷属性カテゴリすべてを返します。 特定のコンテキスト(つまり、特定の
DocFlavor
)では、一部のカテゴリがサポートされない可能性があります。 送信前に、getSupportedAttributeValues(..)
など、DocFlavor
を含むいずれかのメソッドを使用して要求を検証してください。
-
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の場合にスローされる。IllegalArgumentException
- 非チェック例外。category
がAttribute
インタフェースを実装するClass
ではない場合にスローされる。
-
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の場合にスローされる。IllegalArgumentException
- 非チェック例外。category
がAttribute
インタフェースを実装するClass
でない場合にスローされる。
-
getSupportedAttributeValues
Object getSupportedAttributeValues(Class<? extends Attribute> category, DocFlavor flavor, AttributeSet attributes)
この印刷サービス用のジョブ設定時に、クライアントが特定のカテゴリ内で指定可能な印刷属性値を判別します。 印刷属性値は、Attribute
インタフェースを実装するクラスのインスタンスです。flavor
がnullで、attributes
がnullまたは空のセットの場合、このメソッドは、実行可能なすべてのジョブでこのPrint Serviceがサポートする印刷属性値すべてを返します。flavor
がnullでないか、attributes
が空のセットではない場合、このメソッドは指定されたdocフレーバや属性セットと互換性のある印刷属性値のみを返します。 つまり、戻り値nullは、この属性指定が指定されたDocFlavorと互換性がないことを示す場合があります。 また、DocFlavorがnullでない場合、このPrintServiceがサポートするフレーバである必要があります。それ以外の場合、IllegalArgumentExceptionがスローされます。attributes
パラメータに含まれるAttributeのカテゴリが、category
パラメータと同じ場合、サービスはAttributeSet内でこの属性を無視する必要があります。コンテキストを正確に表現するために、
Doc
上で指定するDocAttribute
をこのセットに含める必要があります。このメソッドは、Objectを返します。印刷属性カテゴリが異なると、サポートされる属性値が異なる方法で示されるためです。
javax.print.attribute.standard
パッケージ内の各印刷属性のドキュメントには、各属性がサポートする値を示す方法が記載されています。 サポートの表示方法を、次に示します。- 属性カテゴリの単一インスタンスを返して、任意の値が許容されることを示す。 これは、任意のテキスト文字列を値に持つことのできる属性などで使用される(返される属性オブジェクトの値は無関係)
-
正当な値を含む、属性カテゴリの1つ以上のインスタンスの配列を返す。これは、列挙値のリストを保持する属性などで使用される。 配列のタイプは、
getCategory(Class)
により返される、指定された属性カテゴリ・タイプの配列になる。 - 正当な値の境界を示す(属性カテゴリ以外のクラスの)単一のオブジェクトを返す。これは、特定の範囲内に存在する必要のある整数値属性などで使用される
- パラメータ:
category
- テスト対象の印刷属性カテゴリ。 これは、Attribute
インタフェースを実装するClass
である必要があります。flavor
- 想定されるジョブのdocフレーバ、またはnull。attributes
- 想定されるジョブの印刷属性のセット(ジョブ・レベル属性とドキュメント・レベル属性の両方)、またはnull。- 戻り値:
category
でサポートされる値を示すオブジェクト、またはnull (このPrint ServiceがPrint Requestのcategory
内でdocレベルまたはジョブ・レベルの属性指定をサポートしない場合)。- 例外:
NullPointerException
- 非チェック例外。category
がnullの場合にスローされる。IllegalArgumentException
- 非チェック例外。category
がAttribute
インタフェースを実装するClass
ではない場合、またはこのサービスがDocFlavor
をサポートしない場合にスローされる。
-
isAttributeValueSupported
boolean isAttributeValueSupported(Attribute attrval, DocFlavor flavor, AttributeSet attributes)
このPrint Service用のジョブ設定時に、クライアントが特定の印刷属性値を指定可能かどうかを判別します。 印刷属性値は、Attribute
インタフェースを実装するクラスのインスタンスです。flavor
がnullであるか、attributes
がnullまたは空のセットである場合、このメソッドは、docフレーバと属性セットの可能な組み合わせで、指定された印刷属性値をこのPrint Serviceがサポートするかどうかを示します。flavor
がnullでないか、attributes
が空のセットではない場合、このメソッドは、このPrint Serviceが、指定されたdocフレーバや属性セットと組み合わせて、指定された印刷属性値をサポートするかどうかを示します。また、DocFlavorがnullでない場合、このPrintServiceがサポートするフレーバである必要があります。それ以外の場合、IllegalArgumentExceptionがスローされます。
コンテキストを正確に表現するために、
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がスローされます。 このメソッドの戻り値がnullの場合、すべての属性がサポートされます。コンテキストを正確に表現するために、
Doc
上で指定するDocAttribute
をこのセットに含める必要があります。戻り値がnull以外の場合、このDocFlavorでは、返されるセット内のすべての属性がサポートされません。 返されるセットは、サポートされない属性カテゴリとサポートされない属性値とを区別しません。
サポートされる印刷要求は、DocFlavorがサポートされない場合を除き、元の属性セットからサポートされない属性をすべて削除して作成できます。
ほかの属性と競合しているだけの理由で属性がサポートされない場合、競合の原因として識別される属性の選択は、サービスに任されます。
isDocFlavorSupported()
を使用して、DocFlavorがサポートされていることを確認してから、このメソッドを呼び出してください。- パラメータ:
flavor
- テスト対象のdocフレーバ、またはnullattributes
- 想定されるジョブの印刷属性のセット(ジョブ・レベル属性とドキュメント・レベル属性の両方)、または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を返す必要があります。 この場合、サービスは同じオブジェクト参照を基本サービスに自由に返すことができますが、クライアントは参照が等しいことに依存してはいけません。
- オーバーライド:
equals
、クラス:Object
- パラメータ:
obj
- 比較対象の参照オブジェクト。- 戻り値:
- このサービスがobj引数と同じである場合はtrue、そうでない場合はfalse
- 関連項目:
Object.hashCode()
,HashMap
-
hashCode
int hashCode()
このメソッドの実装には、equals(Object)
を一貫して使用するようにしてください。- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- このオブジェクトのハッシュ・コード
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-