public abstract class DataBufferUtils extends ObjectSE
DataBuffers
を操作するためのユーティリティクラス。修飾子と型 | クラスと説明 |
---|---|
static interface | DataBufferUtils.Matcher データバッファを区切り文字と照合するオブジェクトを定義します。 |
コンストラクターと説明 |
---|
DataBufferUtils() |
修飾子と型 | メソッドと説明 |
---|---|
static reactor.core.publisher.Mono<DataBuffer> | join(org.reactivestreams.Publisher<? extends DataBuffer> dataBuffers) 指定された dataBuffers 要素を結合して構成される新しい DataBuffer を返します。 |
static reactor.core.publisher.Mono<DataBuffer> | join(org.reactivestreams.Publisher<? extends DataBuffer> buffers, int maxByteCount) バッファに指定された最大バイト数まで同じように動作する join(Publisher) のバリアント。 |
static DataBufferUtils.Matcher | matcher(byte[]... delimiters) 指定された区切り文字の DataBufferUtils.Matcher を返します。 |
static DataBufferUtils.Matcher | matcher(byte[] delimiter) 指定された区切り文字の DataBufferUtils.Matcher を返します。 |
static reactor.core.publisher.Flux<DataBuffer> | read(PathSE path, DataBufferFactory bufferFactory, int bufferSize, OpenOptionSE... options) 指定されたファイル Path から DataBuffer の Flux にバイトを読み取ります。 |
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<? extends DataBuffer> publisher, long maxByteCount) 合計バイト数が指定された最大バイト数に達するまで、またはパブリッシャーが完了するまで、指定された Publisher からバッファーをスキップします。 |
static reactor.core.publisher.Flux<DataBuffer> | takeUntilByteCount(org.reactivestreams.Publisher<? extends DataBuffer> publisher, long maxByteCount) 合計バイト数が指定された最大バイト数に達するまで、またはパブリッシャーが完了するまで、指定された Publisher からバッファを中継します。 |
static reactor.core.publisher.Flux<DataBuffer> | write(org.reactivestreams.Publisher<? extends DataBuffer> source, AsynchronousFileChannelSE channel, long position) DataBuffers の指定されたストリームを指定された AsynchronousFileChannel に書き込みます。 |
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, OutputStreamSE outputStream) DataBuffers の指定されたストリームを指定された OutputStream に書き込みます。 |
static reactor.core.publisher.Mono<VoidSE> | write(org.reactivestreams.Publisher<DataBuffer> source, PathSE destination, OpenOptionSE... options) 指定された DataBuffers のストリームを指定されたファイル Path SE に書き込みます。 |
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(PathSE path, DataBufferFactory bufferFactory, int bufferSize, OpenOptionSE... options)
Path
から DataBuffer
の Flux
にバイトを読み取ります。このメソッドは、flux が終了したときにファイルが閉じられることを保証します。path
- バイトを読み取るパス 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)
にフォールバックします。flux が終了するとチャネルが閉じられます。
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)
にフォールバックします。flux が終了するとチャネルが閉じられます。
resource
- 読み取るリソース position
- 読み取りを開始する位置 bufferFactory
- データバッファを作成するファクトリ bufferSize
- データバッファの最大サイズ public static reactor.core.publisher.Flux<DataBuffer> write(org.reactivestreams.Publisher<DataBuffer> source, OutputStreamSE outputStream)
DataBuffers
のストリームを指定された OutputStream
に書き込みます。flux が終了しても出力ストリームは閉じられず、ソース内のデータバッファーは解放されません。解放が必要な場合は、返された Flux
に releaseConsumer()
でサブスクライブします。 返された 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()
でサブスクライブします。 返された 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()
でサブスクライブします。 返された Flux
がサブスクライブされるまで、書き込みプロセスは開始されないことに注意してください。
source
- 書き込まれるデータバッファのストリーム channel
- 書き込むチャネル source
と同じバッファを含む Flux。サブスクライブされると書き込みプロセスを開始し、書き込みエラーと完了シグナルを発行します。public static reactor.core.publisher.Flux<DataBuffer> write(org.reactivestreams.Publisher<? extends DataBuffer> source, AsynchronousFileChannelSE channel, long position)
DataBuffers
のストリームを指定された AsynchronousFileChannel
に書き込みます。flux が終了してもチャネルは閉じられず、ソース内のデータバッファーは解放されません。解放が必要な場合は、返された Flux
を releaseConsumer()
でサブスクライブします。 返された Flux
がサブスクライブされるまで、書き込みプロセスは開始されないことに注意してください。
source
- 書き込まれるデータバッファのストリーム channel
- 書き込むチャネル position
- 書き込みを開始するファイルの位置。負でない必要があります source
と同じバッファを含む flux。サブスクライブされると書き込みプロセスを開始し、書き込みエラーと完了シグナルを発行します。public static reactor.core.publisher.Mono<VoidSE> write(org.reactivestreams.Publisher<DataBuffer> source, PathSE destination, OpenOptionSE... options)
DataBuffers
の指定されたストリームを指定されたファイル Path
SE に書き込みます。オプションの options
パラメーターは、ファイルの作成方法またはオープン方法を指定します(デフォルトは CREATE
SE、TRUNCATE_EXISTING
SE、WRITE
SE)。source
- 書き込まれるデータバッファのストリーム destination
- ファイルへのパス options
- ファイルを開く方法を指定するオプション Mono
public static reactor.core.publisher.Flux<DataBuffer> takeUntilByteCount(org.reactivestreams.Publisher<? extends DataBuffer> publisher, long maxByteCount)
Publisher
からバッファを中継します。publisher
- フィルタリングするパブリッシャー maxByteCount
- 最大バイト数 maxByteCount
である flux public static reactor.core.publisher.Flux<DataBuffer> skipUntilByteCount(org.reactivestreams.Publisher<? extends 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<? extends DataBuffer> dataBuffers)
dataBuffers
要素を結合して構成された新しい DataBuffer
を返します。DataBuffer
型に応じて、返されるバッファーは、提供されたバッファーのすべてのデータを含む単一のバッファーである場合もあれば、指定されたバッファーへの参照を含むゼロコピーのコンポジットである場合もあります。dataBuffers
でエラーが発生した場合、またはキャンセルシグナルが発生した場合は、蓄積されたすべてのバッファが解放されます。
指定されたデータバッファを解放する必要がないことに注意してください。それらは、返却されたコンポジットの一部としてリリースされます。
dataBuffers
- 構成されるデータバッファ dataBuffers
引数から構成されるバッファー public static reactor.core.publisher.Mono<DataBuffer> join(org.reactivestreams.Publisher<? extends DataBuffer> buffers, int maxByteCount)
join(Publisher)
のバリアント。制限を超えると、DataBufferLimitException
が発生します。buffers
- 構成されるデータバッファ maxByteCount
- バッファリングする最大バイト数、または無制限の場合は -1DataBufferLimitException
- maxByteCount を超えた場合 public static DataBufferUtils.Matcher matcher(byte[] delimiter)
DataBufferUtils.Matcher
を返します。マッチャーは、データバッファー内の区切り文字を見つけるために使用できます。delimiter
- 検索する区切り文字バイト public static DataBufferUtils.Matcher matcher(byte[]... delimiters)
DataBufferUtils.Matcher
を返します。マッチャーは、データバッファー内の区切り文字を見つけるために使用できます。delimiters
- 検索する区切り文字バイト