public class DefaultDataBuffer extends ObjectSE implements DataBuffer
ByteBuffer
SE を使用する DataBuffer
インターフェースのデフォルト実装。読み取りと書き込みの位置が異なります。DefaultDataBufferFactory
を使用して構築されています。Netty の ByteBuf
に触発されました。非 Netty ランタイム(つまりサーブレット)がクラスパスに Netty を必要としないように導入されました。
DefaultDataBufferFactory
修飾子と型 | メソッドと説明 |
---|---|
ByteBufferSE | asByteBuffer() このバッファのバイトを ByteBuffer SE として公開します。 |
ByteBufferSE | asByteBuffer(int index, int length) このバッファのバイトのサブシーケンスを ByteBuffer SE として公開します。 |
InputStreamSE | asInputStream() このバッファのデータを InputStream SE として公開します。 |
InputStreamSE | asInputStream(boolean releaseOnClose) このバッファのデータを InputStream SE として公開します。 |
OutputStreamSE | asOutputStream() このバッファのデータを OutputStream SE として公開します。 |
int | capacity() このバッファに含めることができるバイト数を返します。 |
DefaultDataBuffer | capacity(int newCapacity) このバッファに含めることができるバイト数を設定します。 |
DataBuffer | ensureCapacity(int length) 現在のバッファーに、引数として指定されたデータ量を書き込むのに十分な DataBuffer.writableByteCount() があることを確認してください。 |
boolean | equals(ObjectSE other) |
DefaultDataBufferFactory | factory() このバッファーを作成した DataBufferFactory を返します。 |
byte | getByte(int index) このデータバッファから指定されたインデックスで 1 バイトを読み取ります。 |
ByteBufferSE | getNativeBuffer() 現在の readPosition() と readableByteCount() に一致するように、このバッファーが ByteBuffer's の位置と制限の更新にも基づいているネイティブ ByteBuffer を直接公開します。 |
int | hashCode() |
int | indexOf(IntPredicateSE predicate, int fromIndex) 指定された述語に一致するこのバッファーの最初のバイトのインデックスを返します。 |
int | lastIndexOf(IntPredicateSE predicate, int fromIndex) 指定された述語に一致するこのバッファの最後のバイトのインデックスを返します。 |
byte | read() このデータバッファーから現在の読み取り位置から 1 バイトを読み取ります。 |
DefaultDataBuffer | read(byte[] destination) このバッファの現在の読み取り位置から開始して、指定された宛先にこのバッファのデータを読み取ります。 |
DefaultDataBuffer | read(byte[] destination, int offset, int length) このバッファーの現在の読み取り位置から開始して、指定された宛先にこのバッファーの最大 length バイトを読み取ります。 |
int | readableByteCount() このデータバッファーから読み取ることができるバイト数を返します。 |
int | readPosition() このバッファが読み込む位置を返します。 |
DefaultDataBuffer | readPosition(int readPosition) このバッファが読み込む位置を設定します。 |
DefaultDataBuffer | slice(int index, int length) コンテンツがこのデータバッファのコンテンツの共有サブシーケンスである新しい DataBuffer を作成します。 |
StringSE | toString() |
StringSE | toString(int index, int length, CharsetSE charset) 指定された文字セットを使用して、このバッファのデータの一部を文字列として返します。 |
int | writableByteCount() このデータバッファに書き込むことができるバイト数を返します。 |
DefaultDataBuffer | write(byte b) このバッファの現在の書き込み位置に 1 バイトを書き込みます。 |
DefaultDataBuffer | write(byte[] source) このバッファの現在の書き込み位置から開始して、指定されたソースをこのバッファに書き込みます。 |
DefaultDataBuffer | write(byte[] source, int offset, int length) このバッファの現在の書き込み位置から開始して、指定されたソースの最大 length バイトをこのバッファに書き込みます。 |
DefaultDataBuffer | write(ByteBufferSE... buffers) 現在の書き込み位置から開始して、このバッファーに 1 つ以上の ByteBuffer SE を書き込みます。 |
DefaultDataBuffer | write(DataBuffer... buffers) 現在の書き込み位置から開始して、このバッファーに 1 つ以上の DataBuffer を書き込みます。 |
int | writePosition() このバッファが書き込む位置を返します。 |
DefaultDataBuffer | writePosition(int writePosition) このバッファが書き込む位置を設定します。 |
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
retainedSlice, toString, write
public ByteBufferSE getNativeBuffer()
readPosition()
と readableByteCount()
に一致するように、このバッファーが ByteBuffer's
の位置と制限の更新にも基づいているネイティブ ByteBuffer
を直接公開します。public DefaultDataBufferFactory factory()
DataBuffer
DataBufferFactory
を返します。DataBuffer
の factory
public int indexOf(IntPredicateSE predicate, int fromIndex)
DataBuffer
DataBuffer
の indexOf
predicate
- 一致する述語 fromIndex
- 検索を開始するインデックス predicate
に一致する最初のバイトのインデックス。または、一致するものがない場合は -1
public int lastIndexOf(IntPredicateSE predicate, int fromIndex)
DataBuffer
DataBuffer
の lastIndexOf
predicate
- 一致する述語 fromIndex
- 検索を開始するインデックス predicate
に一致する最後のバイトのインデックス。または、一致するものがない場合は -1
public int readableByteCount()
DataBuffer
DataBuffer
の readableByteCount
public int writableByteCount()
DataBuffer
DataBuffer
の writableByteCount
public int readPosition()
DataBuffer
DataBuffer
の readPosition
public DefaultDataBuffer readPosition(int readPosition)
DataBuffer
DataBuffer
の readPosition
readPosition
- 新しい読み取り位置 public int writePosition()
DataBuffer
DataBuffer
の writePosition
public DefaultDataBuffer writePosition(int writePosition)
DataBuffer
DataBuffer
の writePosition
writePosition
- 新しい書き込み位置 public int capacity()
DataBuffer
DataBuffer
の capacity
public DefaultDataBuffer capacity(int newCapacity)
DataBuffer
新しい容量が現在の容量よりも少ない場合、このバッファの内容は切り捨てられます。新しい容量が現在の容量よりも大きい場合、拡張されます。
DataBuffer
の capacity
newCapacity
- 新しい容量 public DataBuffer ensureCapacity(int length)
DataBuffer
DataBuffer.writableByteCount()
があることを確認してください。そうでない場合、不足している容量がバッファに追加されます。DataBuffer
の ensureCapacity
length
- チェックする書き込み可能な容量 public byte getByte(int index)
DataBuffer
DataBuffer
の getByte
index
- バイトが読み取られるインデックス public byte read()
DataBuffer
DataBuffer
の read
public DefaultDataBuffer read(byte[] destination)
DataBuffer
DataBuffer
の read
destination
- バイトが書き込まれる配列 public DefaultDataBuffer read(byte[] destination, int offset, int length)
DataBuffer
length
バイトを読み取ります。DataBuffer
の read
destination
- バイトが書き込まれる配列 offset
- 書き込まれる最初のバイトの destination
内のインデックス length
- destination
に書き込まれる最大バイト数 public DefaultDataBuffer write(byte b)
DataBuffer
DataBuffer
の write
b
- 書き込まれるバイト public DefaultDataBuffer write(byte[] source)
DataBuffer
DataBuffer
の write
source
- このバッファーに書き込まれるバイト public DefaultDataBuffer write(byte[] source, int offset, int length)
DataBuffer
length
バイトをこのバッファに書き込みます。DataBuffer
の write
source
- このバッファーに書き込まれるバイト offset
- 書き込みを開始する source
内のインデックス length
- source
から書き込まれる最大バイト数 public DefaultDataBuffer write(DataBuffer... buffers)
DataBuffer
DataBuffer
を書き込みます。与えられたデータバッファを解放するのは呼び出し側の責任です。DataBuffer
の write
buffers
- このバッファーに書き込むバイトバッファー public DefaultDataBuffer write(ByteBufferSE... buffers)
DataBuffer
ByteBuffer
SE を書き込みます。DataBuffer
の write
buffers
- このバッファーに書き込むバイトバッファー public DefaultDataBuffer slice(int index, int length)
DataBuffer
DataBuffer
を作成します。このデータバッファーと返されたバッファー間のデータは共有されます。ただし、返されたバッファーの位置の変更は、このデータバッファーの読み取りまたは書き込みの位置には反映されません。 このメソッドは結果のスライスで DataBufferUtils.retain(DataBuffer)
を呼び出さないことに注意してください。参照カウントは増加しません。
DataBuffer
の slice
index
- スライスを開始するインデックス length
- スライスの長さ public ByteBufferSE asByteBuffer()
DataBuffer
ByteBuffer
SE として公開します。この DataBuffer
と返された ByteBuffer
の間のデータは共有されます。ただし、返されたバッファの位置SEの変更は、このデータバッファの読み取りまたは書き込みの位置には反映されません。DataBuffer
の asByteBuffer
public ByteBufferSE asByteBuffer(int index, int length)
DataBuffer
ByteBuffer
SE として公開します。この DataBuffer
と返された ByteBuffer
の間のデータは共有されます。ただし、返されたバッファの位置SEの変更は、このデータバッファの読み取りまたは書き込みの位置には反映されません。DataBuffer
の asByteBuffer
index
- バイトバッファを開始するインデックス length
- 返されるバイトバッファーの長さ public InputStreamSE asInputStream()
DataBuffer
InputStream
SE として公開します。データと読み取り位置の両方が、返されたストリームとこのデータバッファの間で共有されます。入力ストリームが閉じSEられると、基になるバッファは解放されません。DataBuffer
の asInputStream
DataBuffer.asInputStream(boolean)
public InputStreamSE asInputStream(boolean releaseOnClose)
DataBuffer
InputStream
SE として公開します。データと読み取り位置の両方が、返されたストリームとこのデータバッファーの間で共有されます。DataBuffer
の asInputStream
releaseOnClose
- 入力ストリームが閉じられたSEときに基になるバッファが解放されるかどうか。public OutputStreamSE asOutputStream()
DataBuffer
OutputStream
SE として公開します。データと書き込み位置の両方が、返されたストリームとこのデータバッファーの間で共有されます。DataBuffer
の asOutputStream
public StringSE toString(int index, int length, CharsetSE charset)
DataBuffer
DataBuffer
の toString
index
- 文字列を開始するインデックス length
- 文字列に使用するバイト数 charset
- 使用する文字セット public int hashCode()
ObjectSE
の hashCodeSE
public StringSE toString()
ObjectSE
の toStringSE