public abstract class DataBufferUtils extends ObjectSE
DataBuffers
を操作するためのユーティリティクラス。コンストラクターと説明 |
---|
DataBufferUtils() |
修飾子と型 | メソッドと説明 |
---|---|
static reactor.core.publisher.Mono<DataBuffer> | join(org.reactivestreams.Publisher<DataBuffer> dataBuffers) 指定された dataBuffers 要素を結合して構成される新しい DataBuffer を返します。 |
static reactor.core.publisher.Flux<DataBuffer> | read(Resource resource, DataBufferFactory bufferFactory, int bufferSize) 指定された Resource を DataBuffer の Flux に読み取ります。 |
static reactor.core.publisher.Flux<DataBuffer> | read(Resource resource, long position, DataBufferFactory bufferFactory, int bufferSize) 指定された Resource を、指定された位置から DataBuffer の Flux に読み込みます。 |
static reactor.core.publisher.Flux<DataBuffer> | readAsynchronousFileChannel(CallableSE<AsynchronousFileChannelSE> channelSupplier, DataBufferFactory bufferFactory, int bufferSize) 指定されたサプライヤーから AsynchronousFileChannel を取得し、DataBuffer の Flux に読み込みます。 |
static reactor.core.publisher.Flux<DataBuffer> | readAsynchronousFileChannel(CallableSE<AsynchronousFileChannelSE> channelSupplier, long position, DataBufferFactory bufferFactory, int bufferSize) 指定されたサプライヤーから AsynchronousFileChannel を取得し、指定された位置から DataBuffer の Flux に読み込みます。 |
static reactor.core.publisher.Flux<DataBuffer> | readByteChannel(CallableSE<ReadableByteChannelSE> channelSupplier, DataBufferFactory bufferFactory, int bufferSize) |
static reactor.core.publisher.Flux<DataBuffer> | readInputStream(CallableSE<InputStreamSE> inputStreamSupplier, DataBufferFactory bufferFactory, int bufferSize) |
static boolean | release(DataBuffer dataBuffer) 指定されたデータバッファが PooledDataBuffer であり、割り当てられている場合は、解放します。 |
static ConsumerSE<DataBuffer> | releaseConsumer() 渡されたすべてのデータバッファで release(DataBuffer) を呼び出すコンシューマーを返します。 |
static <T extends DataBuffer> | retain(T dataBuffer) 指定されたデータバッファーを保持します。これは PooledDataBuffer です。 |
static reactor.core.publisher.Flux<DataBuffer> | skipUntilByteCount(org.reactivestreams.Publisher<DataBuffer> publisher, long maxByteCount) 合計バイト数が指定された最大バイト数に達するまで、またはパブリッシャーが完了するまで、指定された Publisher からバッファーをスキップします。 |
static reactor.core.publisher.Flux<DataBuffer> | takeUntilByteCount(org.reactivestreams.Publisher<DataBuffer> publisher, long maxByteCount) 合計バイト数が指定された最大バイト数に達するまで、またはパブリッシャーが完了するまで、指定された Publisher からバッファを中継します。 |
static reactor.core.publisher.Flux<DataBuffer> | write(org.reactivestreams.Publisher<DataBuffer> source, AsynchronousFileChannelSE channel) DataBuffers の指定されたストリームを指定された AsynchronousFileChannel に書き込みます。 |
static reactor.core.publisher.Flux<DataBuffer> | write(org.reactivestreams.Publisher<DataBuffer> source, AsynchronousFileChannelSE channel, long position) DataBuffers の指定されたストリームを指定された AsynchronousFileChannel に書き込みます。 |
static reactor.core.publisher.Flux<DataBuffer> | write(org.reactivestreams.Publisher<DataBuffer> source, OutputStreamSE outputStream) DataBuffers の指定されたストリームを指定された OutputStream に書き込みます。 |
static reactor.core.publisher.Flux<DataBuffer> | write(org.reactivestreams.Publisher<DataBuffer> source, WritableByteChannelSE channel) DataBuffers の指定されたストリームを指定された WritableByteChannel に書き込みます。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public static reactor.core.publisher.Flux<DataBuffer> readInputStream(CallableSE<InputStreamSE> inputStreamSupplier, DataBufferFactory bufferFactory, int bufferSize)
inputStreamSupplier
- 読み取り元の入力ストリームのサプライヤー bufferFactory
- データバッファを作成するファクトリ bufferSize
- データバッファの最大サイズ public static reactor.core.publisher.Flux<DataBuffer> readByteChannel(CallableSE<ReadableByteChannelSE> channelSupplier, DataBufferFactory bufferFactory, int bufferSize)
channelSupplier
- チャンネルの読み取り元のサプライヤー bufferFactory
- データバッファを作成するファクトリ bufferSize
- データバッファの最大サイズ public static reactor.core.publisher.Flux<DataBuffer> readAsynchronousFileChannel(CallableSE<AsynchronousFileChannelSE> channelSupplier, DataBufferFactory bufferFactory, int bufferSize)
AsynchronousFileChannel
を取得し、それを DataBuffer
の Flux
に読み取ります。Flux が終了したときにチャネルを閉じます。channelSupplier
- チャンネルの読み取り元のサプライヤー bufferFactory
- データバッファを作成するファクトリ bufferSize
- データバッファの最大サイズ public static reactor.core.publisher.Flux<DataBuffer> readAsynchronousFileChannel(CallableSE<AsynchronousFileChannelSE> channelSupplier, long position, DataBufferFactory bufferFactory, int bufferSize)
AsynchronousFileChannel
を取得し、指定された位置から DataBuffer
の Flux
に読み込みます。Flux が終了したときにチャネルを閉じます。channelSupplier
- チャンネルの読み取り元のサプライヤー position
- 読み取りを開始する位置 bufferFactory
- データバッファを作成するファクトリ bufferSize
- データバッファの最大サイズ public static reactor.core.publisher.Flux<DataBuffer> read(Resource resource, DataBufferFactory bufferFactory, int bufferSize)
Resource
を DataBuffer
の Flux
に読み取ります。 リソースがファイルの場合、AsynchronousFileChannel
に読み込まれ、readAsynchronousFileChannel(Callable, DataBufferFactory, int)
を介して Flux
に変換されるか、readByteChannel(Callable, DataBufferFactory, int)
にフォールバックします。フラックスが終了したときにチャネルを閉じます。
resource
- 読み取るリソース bufferFactory
- データバッファを作成するファクトリ bufferSize
- データバッファの最大サイズ public static reactor.core.publisher.Flux<DataBuffer> read(Resource resource, long position, DataBufferFactory bufferFactory, int bufferSize)
Resource
を、指定された位置から DataBuffer
の Flux
に読み込みます。 リソースがファイルの場合、AsynchronousFileChannel
に読み込まれ、readAsynchronousFileChannel(Callable, DataBufferFactory, int)
を介して Flux
に変換されるか、readByteChannel(Callable, DataBufferFactory, int)
にフォールバックします。フラックスが終了したときにチャネルを閉じます。
resource
- 読み取るリソース position
- 読み取りを開始する位置 bufferFactory
- データバッファを作成するファクトリ bufferSize
- データバッファの最大サイズ public static reactor.core.publisher.Flux<DataBuffer> write(org.reactivestreams.Publisher<DataBuffer> source, OutputStreamSE outputStream)
DataBuffers
の指定されたストリームを指定された OutputStream
に書き込みます。flux が終了したときに出力ストリームを閉じないし、ソースのデータバッファを解放しません。リリースが必要な場合は、返された Flux
を releaseConsumer()
で subscribe します。 返された Flux
がサブスクライブされるまで、書き込みプロセスは開始されないことに注意してください。
source
- 書き込まれるデータバッファのストリーム outputStream
- 書き込む出力ストリーム source
と同じバッファーを含む Flux。サブスクライブ時に書き込みプロセスを開始し、書き込みエラーと完了信号を発行します public static reactor.core.publisher.Flux<DataBuffer> write(org.reactivestreams.Publisher<DataBuffer> source, WritableByteChannelSE channel)
DataBuffers
の指定されたストリームを指定された WritableByteChannel
に書き込みます。flux が終了したときにチャネルを閉じないし、ソースのデータバッファを解放しません。リリースが必要な場合は、返された Flux
を releaseConsumer()
で subscribe します。 返された Flux
がサブスクライブされるまで、書き込みプロセスは開始されないことに注意してください。
source
- 書き込まれるデータバッファのストリーム channel
- 書き込むチャネル source
と同じバッファーを含む Flux。サブスクライブ時に書き込みプロセスを開始し、書き込みエラーと完了信号を発行します public static reactor.core.publisher.Flux<DataBuffer> write(org.reactivestreams.Publisher<DataBuffer> source, AsynchronousFileChannelSE channel)
DataBuffers
の指定されたストリームを指定された AsynchronousFileChannel
に書き込みます。flux が終了したときにチャネルを閉じないし、ソースのデータバッファを解放しません。リリースが必要な場合は、返された Flux
を releaseConsumer()
で subscribe します。 返された Flux
がサブスクライブされるまで、書き込みプロセスは開始されないことに注意してください。
source
- 書き込まれるデータバッファのストリーム channel
- 書き込むチャネル source
と同じバッファーを含む Flux。サブスクライブ時に書き込みプロセスを開始し、書き込みエラーと完了信号を発行します public static reactor.core.publisher.Flux<DataBuffer> write(org.reactivestreams.Publisher<DataBuffer> source, AsynchronousFileChannelSE channel, long position)
DataBuffers
の指定されたストリームを指定された AsynchronousFileChannel
に書き込みます。flux が終了したときにチャネルを閉じないし、ソースのデータバッファを解放しません。リリースが必要な場合は、返された Flux
を releaseConsumer()
で subscribe します。 返された Flux
がサブスクライブされるまで、書き込みプロセスは開始されないことに注意してください。
source
- 書き込まれるデータバッファのストリーム channel
- 書き込むチャネル position
- ファイル位置書き込み書き込みが開始されます。負でない必要があります source
と同じバッファーを含むフラックス。サブスクライブ時に書き込みプロセスを開始し、書き込みエラーと完了信号を発行します public static reactor.core.publisher.Flux<DataBuffer> takeUntilByteCount(org.reactivestreams.Publisher<DataBuffer> publisher, long maxByteCount)
Publisher
からバッファを中継します。publisher
- フィルタリングするパブリッシャー maxByteCount
- 最大バイト数 maxByteCount
であるフラックス public static reactor.core.publisher.Flux<DataBuffer> skipUntilByteCount(org.reactivestreams.Publisher<DataBuffer> publisher, long maxByteCount)
Publisher
からバッファーをスキップします。publisher
- フィルタリングするパブリッシャー maxByteCount
- 最大バイト数 public static <T extends DataBuffer> T retain(T dataBuffer)
PooledDataBuffer
です。dataBuffer
- 保持するデータバッファ public static boolean release(@Nullable DataBuffer dataBuffer)
PooledDataBuffer
であり、割り当てられている場合は、解放します。dataBuffer
- 解放するデータバッファ true
。それ以外の場合は false
。public static ConsumerSE<DataBuffer> releaseConsumer()
release(DataBuffer)
を呼び出すコンシューマーを返します。public static reactor.core.publisher.Mono<DataBuffer> join(org.reactivestreams.Publisher<DataBuffer> dataBuffers)
dataBuffers
要素を結合して構成された新しい DataBuffer
を返します。DataBuffer
型に応じて、返されるバッファーは、提供されたバッファーのすべてのデータを含む単一のバッファーである場合もあれば、指定されたバッファーへの参照を含むゼロコピーのコンポジットである場合もあります。dataBuffers
でエラーが発生した場合、またはキャンセル信号が発生した場合は、蓄積されたすべてのバッファが解放されます。
指定されたデータバッファを解放する必要がないことに注意してください。それらは、返却されたコンポジットの一部としてリリースされます。
dataBuffers
- 構成されるデータバッファ dataBuffers
引数から構成されるバッファー