org.apache.commons.fileupload
クラス ThresholdingOutputStream

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

public abstract class ThresholdingOutputStream
extends OutputStream

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

An output stream which triggers an event when a specified number of bytes of data have been written to it. The event can be used, for example, to throw an exception if a maximum has been reached, or to switch the underlying stream type when the threshold is exceeded.

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

This class overrides all OutputStream methods. However, these overrides ultimately call the corresponding methods in the underlying output stream implementation.

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

NOTE: This implementation may trigger the event before the threshold is actually reached, since it triggers when a pending write operation would cause the threshold to be exceeded.

バージョン:
$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
イベントが発生する閾値。
The threshold at which the event will be triggered.


written

private long written
出力ストリームに書き込むバイト数。
The number of bytes written to the output stream.


thresholdExceeded

private boolean thresholdExceeded
設定された閾値を超えたかどうか。
Whether or not the configured threshold has been exceeded.

コンストラクタの詳細

ThresholdingOutputStream

public ThresholdingOutputStream(int threshold)
指定した閾値でイベントを発生させるように、このクラスのインスタンスを生成します。
Constructs an instance of this class which will trigger an event at the specified threshold.

パラメータ:
threshold - イベントが発生するバイト数。
The number of bytes at which to trigger an event.
メソッドの詳細

write

public void write(int b)
           throws IOException
指定したバイト値をこの出力ストリームに書き出します。
Writes the specified byte to this output stream.

パラメータ:
b - 書き出し対象のバイト値。
b The byte to be written.
例外:
IOException - エラーが発生した場合。
if an error occurs.

write

public void write(byte[] b)
           throws IOException
指定したバイト配列の長さ分のバイト値をこの出力ストリームに書き出します。
Writes b.length bytes from the specified byte array to this output stream.

パラメータ:
b - 書き出されるバイト配列。
The array of bytes to be written.
例外:
IOException - エラーが発生した場合。
if an error occurs.

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException
指定されたバイト配列内の off で指定された位置から len で指定された長さ分のバイト値をこの出力ストリームに書き出します。
Writes len bytes from the specified byte array starting at offset off to this output stream.

パラメータ:
b - データの書き出されるバイト配列。
The byte array from which the data will be written.
off - バイト配列内の書き出し開始位置。
The start offset in the byte array.
len - 書き出されるバイト数。
The number of bytes to write.
例外:
IOException - エラーが発生した場合。
if an error occurs.

flush

public void flush()
           throws IOException
この出力ストリームをフラッシュし、バッファしている出力バイト値すべてを強制的に書き出します。
Flushes this output stream and forces any buffered output bytes to be written out.

例外:
IOException - エラーが発生した場合。
if an error occurs.

close

public void close()
           throws IOException
この出力ストリームをクローズし、このストリームに関連しているすべてのシステムリソースを開放します。
Closes this output stream and releases any system resources associated with this stream.

例外:
IOException - エラーが発生した場合。
if an error occurs.

getThreshold

public int getThreshold()
イベントが発生する閾値をバイト数で返します。
Returns the threshold, in bytes, at which an event will be triggered.

戻り値:
バイトの閾値。
The threshold point, in bytes.

getByteCount

public long getByteCount()
この出力ストリームに書き出したバイト数を返します。
Returns the number of bytes that have been written to this output stream.

戻り値:
書き出したバイト数。
The number of bytes written.

isThresholdExceeded

public boolean isThresholdExceeded()
この出力ストリームが設定された閾値に達しているかどうかを判別します。
Determines whether or not the configured threshold has been exceeded for this output stream.

戻り値:
true 既に閾値に達している場合; false それ以外の場合。
true if the threshold has been reached; false otherwise.

checkThreshold

protected void checkThreshold(int count)
                       throws IOException
指定したバイト数だけ書き出した場合に閾値を超えるかどうかをチェックします。 もし閾値を超える場合にはイベントを発生し、具象クラスがその際の処理を行えるようにします。
Checks to see if writing the specified number of bytes would cause the configured threshold to be exceeded. If so, triggers an event to allow a concrete implementation to take action on this.

パラメータ:
count - 内部の出力ストリームに対して書き出そうとするバイト数。
The number of bytes about to be written to the underlying output stream.
例外:
IOException - エラーが発生した場合。
if an error occurs.

getStream

protected abstract OutputStream getStream()
                                   throws IOException
このクラスが OutputStream から継承している各メソッドの最終的な委譲先となる、 内部の出力ストリームを返します。
Returns the underlying output stream, to which the corresponding OutputStream methods in this class will ultimately delegate.

戻り値:
内部の出力ストリーム。
The underlying output stream.
例外:
IOException - エラーが発生した場合。
if an error occurs.

thresholdReached

protected abstract void thresholdReached()
                                  throws IOException
指定された閾値に達し、サブクラスがこのイベントに対して必要な処理をすべて行なうべきことを示します。 必要な処理としては、内部の出力ストリームへの変更などがあります。
Indicates that the configured threshold has been reached, and that a subclass should take whatever action necessary on this event. This may include changing the underlying output stream.

例外:
IOException - エラーが発生した場合。
if an error occurs.


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