- 既知のすべてのサブインタフェース:
MultiDocPrintService
- 既知のすべての実装クラス:
StreamPrintService
PrintService
は、DocPrintJob
のファクトリです。 PrintService
はプリンタの機能を記述し、プリンタがサポートしている属性について問い合わせることができます。
例:
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
このPrintService
のイベントのリスナーを登録します。サポートされているドキュメント・フレーバのいずれかからデータを処理できるPrintJob
を作成して返します。boolean
2つのサービスが同じ基本サービスを参照しているかどうかを判別します。<T extends PrintServiceAttribute>
TgetAttribute(Class<T> category)
指定された単一のサービス属性の値を取得します。この印刷サービスのプリンタ記述属性セットを取得します。プリンタ記述属性セットは、このPrint Serviceの状態を指定します。getDefaultAttributeValue(Class<? extends Attribute> category)
この印刷サービスの指定されたカテゴリ内でのデフォルト印刷属性値を判別します。getName()
このプリント・サービスの文字列名を返します。この文字列名は、アプリケーションが特定のプリント・サービスをリクエストするために使用することができます。さまざまなロールのサービスとの対話処理をユーザーに提供するUIコンポーネントのファクトリを返します。Class<?>[]
この印刷サービスのジョブ設定時に、クライアントが指定可能な印刷属性カテゴリを判別します。getSupportedAttributeValues(Class<? extends Attribute> category, DocFlavor flavor, AttributeSet attributes)
この印刷サービス用のジョブ設定時に、クライアントが特定のカテゴリ内で指定可能な印刷属性値を判別します。このPrintService
用のジョブ設定時に、クライアントが指定可能な印刷データ形式を判定します。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
この印刷サービスから印刷サービス・リスナーを削除します。
-
メソッドの詳細
-
getName
String getName()このプリント・サービスの文字列名を返します。この文字列名は、アプリケーションが特定のプリント・サービスをリクエストするために使用することができます。 ネーム・サービスなどの適切なコンテキストでは、この名前は一意である必要があります。 環境によっては、この一意の名前を、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
この印刷サービスのジョブ設定時に、クライアントが特定の印刷属性カテゴリを指定可能かどうかを判別します。 印刷属性カテゴリは、Attribute
インタフェースを実装するClass
によって指定されます。 このメソッドは、属性カテゴリがサポートされるかどうかを示し、特定の属性値がサポートされるかどうかは示しません。特定のコンテキスト(つまり、特定の
DocFlavor
)では、一部のカテゴリがサポートされない可能性があります。 送信前に、getSupportedAttributeValues(..)
など、DocFlavor
を含むいずれかのメソッドを使用して要求を検証してください。このメソッドを使用して、カテゴリが
getSupportedAttributeCategories()
の結果のメンバーかどうかを判別できます。- パラメータ:
category
- テストする印刷属性カテゴリ。Attribute
インタフェースを実装するClass
でなければならない。- 戻り値:
- この印刷サービスが、Print Requestの
category
内のdocレベルまたはジョブ・レベルの属性指定をサポートする場合はtrue
、サポートしない場合はfalse
- 例外:
NullPointerException
-category
がnull
の場合IllegalArgumentException
-category
がインタフェースAttribute
を実装するClass
でない場合
-
getDefaultAttributeValue
この印刷サービスの指定されたカテゴリ内でのデフォルト印刷属性値を判別します。 印刷属性値は、Attribute
インタフェースを実装するクラスのインスタンスです。 クライアントが印刷ジョブを設定し、かつ指定されたカテゴリ内の属性値を指定しない場合、Print Serviceはデフォルト属性値を使用します。特定のコンテキスト(つまり、特定の
DocFlavor
)では、サポートされない属性も存在します。 送信前に、getSupportedAttributeValues(..)
など、DocFlavor
を含むいずれかのメソッドを使用して要求を検証してください。すべての属性がデフォルト値を保持するわけではありません。 たとえば、サービスには
RequestingUser
のデフォルト値はありません。つまり、サポートされているカテゴリのnull
戻り値は、そのカテゴリのサービス・デフォルト値がないことを意味します。 これに当てはまる場合を見分けるには、isAttributeCategorySupported(Class)
を使用してください。- パラメータ:
category
- デフォルトの属性値がリクエストされている印刷属性カテゴリ。 これは、Attribute
インタフェースを実装するClass
である必要があります。- 戻り値:
category
のデフォルト属性値、またはnull
この印刷サービスが、印刷リクエストのcategory
に文書レベルまたはジョブ・レベルの属性を指定することをサポートしていない場合、またはサービスがこの属性のデフォルト値を持たない場合- 例外:
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
パラメータに、category
パラメータと同じカテゴリのAttribute
が含まれている場合、サービスはAttributeSet
のこの属性を無視する必要があります。コンテキストを正確に表現するために、
Doc
上で指定するDocAttribute
をこのセットに含める必要があります。このメソッドは、異なる印刷属性カテゴリが異なる方法でサポートされている属性値を示すため、
Object
を返します。javax.print.attribute.standard
パッケージ内の各印刷属性のドキュメントには、各属性がサポートする値を示す方法が記載されています。 サポートの表示方法を、次に示します。- 属性カテゴリの単一インスタンスを返して、任意の値が許容されることを示す。 これは、任意のテキスト文字列を値に持つことのできる属性などで使用される(返される属性オブジェクトの値は無関係)
- 正当な値を含む、属性カテゴリの1つ以上のインスタンスの配列を返す。これは、列挙値のリストを保持する属性などで使用される。 配列のタイプは、
getCategory(Class)
により返される、指定された属性カテゴリ・タイプの配列になる。 - 正当な値の境界を示す(属性カテゴリ以外のクラスの)単一のオブジェクトを返す。これは、特定の範囲内に存在する必要のある整数値属性などで使用される
- パラメータ:
category
- テストする印刷属性カテゴリ。 これは、Attribute
インタフェースを実装するClass
である必要があります。flavor
- 想定されているジョブのdocバー、またはnull
attributes
- 想定ジョブ(ジョブ・レベル属性と文書レベル属性の両方)、またはnull
の印刷属性のセット- 戻り値:
category
、またはnull
のサポートされている値を示すオブジェクトこの印刷サービスで、印刷リクエストの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
の印刷属性のセット- 戻り値:
true
この印刷サービスが、印刷リクエストでdocレベルまたはジョブ・レベルの属性としてattrval
を指定することをサポートする場合はfalse
、そうでない場合はfalse
- 例外:
NullPointerException
-attrval
がnull
の場合IllegalArgumentException
- flavorがこのPrintService
でサポートされていない場合
-
getUnsupportedAttributes
AttributeSet getUnsupportedAttributes(DocFlavor flavor, AttributeSet attributes)特定のDocFlavor
のコンテキストで印刷リクエストに対してサポートされていない属性を識別します。 このメソッドは、実行される可能性のある印刷ジョブの妥当性を検証したり、サポート不可能な特定の属性を識別する場合に役立ちます。 サポートされているDocFlavor
のみを提供することが重要です。そうしないと、IllegalArgumentException
がスローされます。 このメソッドからの戻り値がnull
の場合、すべての属性がサポートされます。コンテキストを正確に表現するために、
Doc
上で指定するDocAttribute
をこのセットに含める必要があります。戻り値が
non-null
の場合、返されるセット内のすべての属性はこのDocFlavor
でサポートされません。 返されるセットは、サポートされない属性カテゴリとサポートされない属性値とを区別しません。DocFlavor
がサポートされていない場合を除き、元の属性セットからサポートされていないすべての属性を削除することで、サポートされている印刷リクエストを作成できます。ほかの属性と競合しているだけの理由で属性がサポートされない場合、競合の原因として識別される属性の選択は、サービスに任されます。
isDocFlavorSupported()
を使用して、このメソッドを呼び出す前にDocFlavor
がサポートされていることを確認します。- パラメータ:
flavor
- テストするdocフレーバ、またはnull
attributes
- 想定ジョブ(ジョブ・レベル属性と文書レベル属性の両方)、またはnull
の印刷属性のセット- 戻り値:
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)
-