-
- 既知のすべてのサブインタフェース:
MultiDocPrintService
- 既知のすべての実装クラス:
StreamPrintService
public interface PrintServiceインタフェース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) { } }
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 voidaddPrintServiceAttributeListener(PrintServiceAttributeListener listener)このPrintServiceのイベントのリスナーを登録します。DocPrintJobcreatePrintJob()サポートされている任意のドキュメント・フレーバのデータを処理できるPrintJobを作成および返します。booleanequals(Object obj)2つのサービスが同じ基本サービスを参照しているかどうかを判別します。<T extends PrintServiceAttribute>
TgetAttribute(Class<T> category)指定された単一のサービス属性の値を取得します。PrintServiceAttributeSetgetAttributes()この印刷サービスのプリンタ記述属性セットを取得します。プリンタ記述属性セットは、このPrint Serviceの状態を指定します。ObjectgetDefaultAttributeValue(Class<? extends Attribute> category)この印刷サービスの指定されたカテゴリ内でのデフォルト印刷属性値を判別します。StringgetName()アプリケーションが特定の印刷サービスを要求するために使用できる、この印刷サービスの文字列名を返します。ServiceUIFactorygetServiceUIFactory()さまざまなロールのサービスとの対話処理をユーザーに提供するUIコンポーネントのファクトリを返します。Class<?>[]getSupportedAttributeCategories()この印刷サービスのジョブ設定時に、クライアントが指定可能な印刷属性カテゴリを判別します。ObjectgetSupportedAttributeValues(Class<? extends Attribute> category, DocFlavor flavor, AttributeSet attributes)この印刷サービス用のジョブ設定時に、クライアントが特定のカテゴリ内で指定可能な印刷属性値を判別します。DocFlavor[]getSupportedDocFlavors()このPrintService用のジョブ設定時に、クライアントが指定可能な印刷データ形式を判定します。AttributeSetgetUnsupportedAttributes(DocFlavor flavor, AttributeSet attributes)特定のDocFlavorのコンテキストで印刷リクエストでサポートされていない属性を識別します。inthashCode()このメソッドの実装には、equals(Object)を一貫して使用するようにしてください。booleanisAttributeCategorySupported(Class<? extends Attribute> category)この印刷サービスのジョブ設定時に、クライアントが特定の印刷属性カテゴリを指定可能かどうかを判別します。booleanisAttributeValueSupported(Attribute attrval, DocFlavor flavor, AttributeSet attributes)このPrint Service用のジョブ設定時に、クライアントが特定の印刷属性値を指定可能かどうかを判別します。booleanisDocFlavorSupported(DocFlavor flavor)この印刷サービスが特定のDocFlavorをサポートするかどうかを判定します。voidremovePrintServiceAttributeListener(PrintServiceAttributeListener listener)この印刷サービスから印刷サービス・リスナーを削除します。
-
-
-
メソッドの詳細
-
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つの方法として、印刷サービス・イベントのリスナーを登録することもできます。- 戻り値:
- この印刷サービスの属性セットの変更不可能なスナップショット。 空の場合もありますが、
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のデフォルト属性値。この印刷サービスが印刷リクエストのcategoryでdoc-levelまたはjob-level属性の指定をサポートしていない場合、またはサービスにこの属性のデフォルト値がない場合、null。- 例外:
NullPointerException-categoryがnullの場合IllegalArgumentException-categoryがインタフェースAttributeを実装するClassでない場合
-
getSupportedAttributeValues
Object getSupportedAttributeValues(Class<? extends Attribute> category, DocFlavor flavor, AttributeSet attributes)
この印刷サービス用のジョブ設定時に、クライアントが特定のカテゴリ内で指定可能な印刷属性値を判別します。 印刷属性値は、Attributeインタフェースを実装するクラスのインスタンスです。flavorがnullで、attributesがnullの場合、または空のセットの場合、このメソッドは、印刷サービスでサポートされるすべての出力属性値をジョブとして返します。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フレーバ、またはnullattributes- 想定されるジョブ(ジョブ・レベル属性とドキュメント・レベル属性の両方)の印刷属性のセット、またはnull- 戻り値:
categoryでサポートされている値を示すオブジェクト。この印刷サービスがcategoryのdoc-level属性またはjob-level属性の指定をサポートしていない場合はnull。- 例外:
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フレーバと属性セットの可能な組合せに対して、指定された印刷属性値をサポートするかどうかを示します。flavorがnullでないか、attributesが空のセットでない場合、このメソッドは、指定されたドキュメント・フレーバまたは属性セット(あるいはその両方)と組み合せて、指定された印刷属性値をこの印刷サービスがサポートするかどうかを示します。また、
DocFlavorがnullでない場合は、このPrintServiceでサポートされているフレーバである必要があります。そうでない場合は、IllegalArgumentExceptionがスローされます。コンテキストを正確に表現するために、
Doc上で指定するDocAttributeをこのセットに含める必要があります。このメソッドを使用して、値が
getSupportedAttributeValues(...)の結果のメンバーかどうかを判別できます。- パラメータ:
attrval- テストする属性値の出力flavor- 想定されるジョブのdocフレーバ、またはnullattributes- 想定されるジョブ(ジョブ・レベル属性とドキュメント・レベル属性の両方)の印刷属性のセット、またはnull- 戻り値:
- この印刷サービスで、印刷リクエストでのドキュメント・レベル属性またはジョブ・レベル属性としての
attrvalの指定がサポートされる場合はtrue、そうでない場合はfalse - 例外:
NullPointerException-attrvalがnullの場合IllegalArgumentException- このPrintServiceでフレーバがサポートされていない場合
-
getUnsupportedAttributes
AttributeSet getUnsupportedAttributes(DocFlavor flavor, AttributeSet attributes)
特定のDocFlavorのコンテキストで印刷リクエストでサポートされていない属性を識別します。 このメソッドは、実行される可能性のある印刷ジョブの妥当性を検証したり、サポート不可能な特定の属性を識別する場合に役立ちます。 サポートされるDocFlavorのみを指定するか、IllegalArgumentExceptionがスローされることが重要です。 このメソッドからの戻り値がnullの場合、すべての属性がサポートされます。コンテキストを正確に表現するために、
Doc上で指定するDocAttributeをこのセットに含める必要があります。戻り値が
non-nullの場合、返されるセットのすべての属性は、このDocFlavorではサポートされません。 返されるセットは、サポートされない属性カテゴリとサポートされない属性値とを区別しません。その後、
DocFlavorがサポートされていない場合を除き、サポートされていないすべての属性を元の属性セットから削除することで、サポートされている印刷リクエストを作成できます。ほかの属性と競合しているだけの理由で属性がサポートされない場合、競合の原因として識別される属性の選択は、サービスに任されます。
isDocFlavorSupported()を使用して、このメソッドをコールする前にDocFlavorがサポートされていることを確認します。- パラメータ:
flavor- テストするdocフレーバ、またはnullattributes- 想定されるジョブ(ジョブ・レベル属性とドキュメント・レベル属性の両方)の印刷属性のセット、または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)
-
-