モジュール java.desktop
パッケージ javax.print

インタフェースCancelablePrintJob

  • すべてのスーパー・インタフェース:
    DocPrintJob

    public interface CancelablePrintJob
    extends DocPrintJob
    このインタフェースは、印刷ジョブを取り消す際に印刷アプリケーションにより使用されます。 このインタフェースは、DocPrintJobを拡張します。 印刷ジョブの取消しが可能な場合、印刷サービスから返されたDocPrintJob実装はこのインタフェースを実装します。 印刷ジョブの取消しを試みる前に、クライアントは印刷サービスから返されたDocPrintJobオブジェクトが実際にこのインタフェースを実装しているかどうかをテストする必要があります。 DocPrintJobがこのインタフェースを実装していると想定して、クライアントが操作を実行しないようにしてください。 印刷サービスは、特定の型の印刷データおよび表現クラス名の取消しだけをサポートします。 つまり、サービスから返されるDocPrintJobオブジェクトのうち、いくつかだけがこのインタフェースを実装するということです。

    サービス実装者は、このオプションのインタフェースを実装し、このインタフェースの実装でジョブが正常に取り消された場合に、すべてのリスナーにPrintJobEvent.JOB_CANCELEDイベントを渡すことをお勧めします。 また、印刷要求を実行したスレッドとは別のクライアント・スレッドからも作成可能である点にも留意してください。 このため、このインタフェースの実装を、スレッドに対して安全にする必要があります。

    • メソッドの詳細

      • cancel

        void cancel()
             throws PrintException
        これ以降の印刷ジョブの処理を中止します。

        サービスがこのメソッドをサポートする場合、ジョブの取消しが常に成功すると結論付けることはできません。 ジョブがある処理段階に達するか、それを通過した場合には、ジョブを取り消すことができない場合があります。 取消しの成功は、ジョブがまったく印刷されないことを意味します。取消しが返された時点で一部が印刷されてしまっている場合もあります。

        取消が成功しなかった場合、サービスはPrintExceptionをスローします。 未送信の印刷ジョブは、この例外をスローする必要があります。 すでに取消しに成功した印刷ジョブの取消しはエラーとは見なされないため、常に成功します。

        サービスによっては、サーバーへの要求や印刷キューの処理などのために、取消しプロセスに時間がかかる場合があります。 クライアントによっては、アプリケーションの実行に影響しないスレッドで取消しを実行することが望ましい場合があります。

        例外:
        PrintException - ジョブの取消しが成功しなかった場合