- すべてのスーパー・インタフェース:
DocPrintJob
public interface CancelablePrintJob extends DocPrintJob
このインタフェースは、印刷ジョブを取り消す際に印刷アプリケーションにより使用されます。 このインタフェースは、
DocPrintJob
を拡張します。 印刷ジョブの取消しが可能な場合、印刷サービスから返されたDocPrintJob
実装はこのインタフェースを実装します。 印刷ジョブの取消しを試みる前に、クライアントは印刷サービスから返されたDocPrintJob
オブジェクトが実際にこのインタフェースを実装しているかどうかをテストする必要があります。 DocPrintJob
がこのインタフェースを実装していると想定して、クライアントが操作を実行しないようにしてください。 印刷サービスは、特定の型の印刷データおよび表現クラス名の取消しだけをサポートします。 つまり、サービスから返されるDocPrintJob
オブジェクトのうち、いくつかだけがこのインタフェースを実装するということです。
サービス実装者は、このオプションのインタフェースを実装し、このインタフェースの実装でジョブが正常に取り消された場合に、すべてのリスナーにPrintJobEvent.JOB_CANCELED
イベントを渡すことをお勧めします。 また、印刷要求を実行したスレッドとは別のクライアント・スレッドからも作成可能である点にも留意してください。 このため、このインタフェースの実装を、スレッドに対して安全にする必要があります。
-
メソッドのサマリー
インタフェースjavax.print.DocPrintJobで宣言されたメソッド
addPrintJobAttributeListener, addPrintJobListener, getAttributes, getPrintService, print, removePrintJobAttributeListener, removePrintJobListener
-
メソッドの詳細
-
cancel
void cancel() throws PrintExceptionこれ以降の印刷ジョブの処理を中止します。サービスがこのメソッドをサポートする場合、ジョブの取消しが常に成功すると結論付けることはできません。 ジョブがある処理段階に達するか、それを通過した場合には、ジョブを取り消すことができない場合があります。 取消しの成功は、ジョブがまったく印刷されないことを意味します。取消しが返された時点で一部が印刷されてしまっている場合もあります。
取消が成功しなかった場合、サービスは
PrintException
をスローします。 未送信の印刷ジョブは、この例外をスローする必要があります。 すでに取消しに成功した印刷ジョブの取消しはエラーとは見なされないため、常に成功します。サービスによっては、サーバーへの要求や印刷キューの処理などのために、取消しプロセスに時間がかかる場合があります。 クライアントによっては、アプリケーションの実行に影響しないスレッドで取消しを実行することが望ましい場合があります。
- 例外:
PrintException
- ジョブの取消しが成功しなかった場合
-