org.apache.commons.fileupload
クラス ThresholdingOutputStream

java.lang.Object
  拡張java.io.OutputStream
      拡張org.apache.commons.fileupload.ThresholdingOutputStream
直系の既知のサブクラス:
DeferredFileOutputStream

public abstract class ThresholdingOutputStream
extends OutputStream

指定されたバイト数のデータが書き込まれた時にイベントを発生させる出力ストリームです。 このイベントは例えば、(データが)最大値に達した場合に例外を投げる場合や、 閾値に達して、使用するストリームを切り替える場合に使用されます。

このクラスは OutputStream のすべてのメソッドをオーバーライドしています。 しかし、これらのオーバーライドは最終的には内部の出力ストリーム実装の対応するメソッドを呼び出します。

注: このクラスの実装では、保留中の書き出し操作で閾値を超える場合もイベントが発生するので、 実際に閾値に達する前にイベントが発生する可能性があります。

バージョン:
$Id: ThresholdingOutputStream.java,v 1.3 2004/04/13 09:35:02 hioki Exp $
作成者:
Martin Cooper
翻訳者:
日置 聡
校正者:
高橋 達男

フィールドの概要
private  int threshold
          イベントが発生する閾値。
private  boolean thresholdExceeded
          設定された閾値を超えたかどうか。
private  long written
          出力ストリームに書き込むバイト数。
 
コンストラクタの概要
ThresholdingOutputStream(int threshold)
          指定した閾値でイベントを発生させるように、このクラスのインスタンスを生成します。
 
メソッドの概要
protected  void checkThreshold(int count)
          指定したバイト数だけ書き出した場合に閾値を超えるかどうかをチェックします。
 void close()
          この出力ストリームをクローズし、このストリームに関連しているすべてのシステムリソースを開放します。
 void flush()
          この出力ストリームをフラッシュし、バッファしている出力バイト値すべてを強制的に書き出します。
 long getByteCount()
          この出力ストリームに書き出したバイト数を返します。
protected abstract  OutputStream getStream()
          このクラスが OutputStream から継承している各メソッドの最終的な委譲先となる、 内部の出力ストリームを返します。
 int getThreshold()
          イベントが発生する閾値をバイト数で返します。
 boolean isThresholdExceeded()
          この出力ストリームが設定された閾値に達しているかどうかを判別します。
protected abstract  void thresholdReached()
          指定された閾値に達し、サブクラスがこのイベントに対して必要な処理をすべて行なうべきことを示します。
 void write(byte[] b)
          指定したバイト配列の長さ分のバイト値をこの出力ストリームに書き出します。
 void write(byte[] b, int off, int len)
          指定されたバイト配列内の off で指定された位置から len で指定された長さ分のバイト値をこの出力ストリームに書き出します。
 void write(int b)
          指定したバイト値をこの出力ストリームに書き出します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

threshold

private int threshold
イベントが発生する閾値。


written

private long written
出力ストリームに書き込むバイト数。


thresholdExceeded

private boolean thresholdExceeded
設定された閾値を超えたかどうか。

コンストラクタの詳細

ThresholdingOutputStream

public ThresholdingOutputStream(int threshold)
指定した閾値でイベントを発生させるように、このクラスのインスタンスを生成します。

パラメータ:
threshold - イベントが発生するバイト数。
メソッドの詳細

write

public void write(int b)
           throws IOException
指定したバイト値をこの出力ストリームに書き出します。

パラメータ:
b - 書き出し対象のバイト値。
例外:
IOException - エラーが発生した場合。

write

public void write(byte[] b)
           throws IOException
指定したバイト配列の長さ分のバイト値をこの出力ストリームに書き出します。

パラメータ:
b - 書き出されるバイト配列。
例外:
IOException - エラーが発生した場合。

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException
指定されたバイト配列内の off で指定された位置から len で指定された長さ分のバイト値をこの出力ストリームに書き出します。

パラメータ:
b - データの書き出されるバイト配列。
off - バイト配列内の書き出し開始位置。
len - 書き出されるバイト数。
例外:
IOException - エラーが発生した場合。

flush

public void flush()
           throws IOException
この出力ストリームをフラッシュし、バッファしている出力バイト値すべてを強制的に書き出します。

例外:
IOException - エラーが発生した場合。

close

public void close()
           throws IOException
この出力ストリームをクローズし、このストリームに関連しているすべてのシステムリソースを開放します。

例外:
IOException - エラーが発生した場合。

getThreshold

public int getThreshold()
イベントが発生する閾値をバイト数で返します。

戻り値:
バイトの閾値。

getByteCount

public long getByteCount()
この出力ストリームに書き出したバイト数を返します。

戻り値:
書き出したバイト数。

isThresholdExceeded

public boolean isThresholdExceeded()
この出力ストリームが設定された閾値に達しているかどうかを判別します。

戻り値:
true 既に閾値に達している場合; false それ以外の場合。

checkThreshold

protected void checkThreshold(int count)
                       throws IOException
指定したバイト数だけ書き出した場合に閾値を超えるかどうかをチェックします。 もし閾値を超える場合にはイベントを発生し、具象クラスがその際の処理を行えるようにします。

パラメータ:
count - 内部の出力ストリームに対して書き出そうとするバイト数。
例外:
IOException - エラーが発生した場合。

getStream

protected abstract OutputStream getStream()
                                   throws IOException
このクラスが OutputStream から継承している各メソッドの最終的な委譲先となる、 内部の出力ストリームを返します。

戻り値:
内部の出力ストリーム。
例外:
IOException - エラーが発生した場合。

thresholdReached

protected abstract void thresholdReached()
                                  throws IOException
指定された閾値に達し、サブクラスがこのイベントに対して必要な処理をすべて行なうべきことを示します。 必要な処理としては、内部の出力ストリームへの変更などがあります。

例外:
IOException - エラーが発生した場合。


このドキュメントは、Ja-Jakartaにより訳されました。 コメントがある場合は report@jajakarta.orgまでお願いします。
Translated into Japanese by jajakarta.org. The original page is here.
Copyright (c) 2002-2003 - Apache Software Foundation