|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.glassfish.grizzly.memory.Buffers
public class Buffers
Class has useful methods to simplify the work with Buffer
s.
Buffer
Field Summary | |
---|---|
static Buffer |
EMPTY_BUFFER
|
static ByteBuffer |
EMPTY_BYTE_BUFFER
|
static ByteBuffer[] |
EMPTY_BYTE_BUFFER_ARRAY
|
Constructor Summary | |
---|---|
Buffers()
|
Method Summary | |
---|---|
static Buffer |
appendBuffers(MemoryManager memoryManager,
Buffer buffer1,
Buffer buffer2)
Append two Buffer s. |
static Buffer |
appendBuffers(MemoryManager memoryManager,
Buffer buffer1,
Buffer buffer2,
boolean isCompositeBufferDisposable)
Append two Buffer s. |
static Buffer |
cloneBuffer(Buffer srcBuffer)
Clones the source Buffer . |
static Buffer |
cloneBuffer(Buffer srcBuffer,
int position,
int limit)
Clones the source Buffer . |
static void |
fill(Buffer buffer,
byte b)
Fill the Buffer with the specific byte value. |
static void |
fill(Buffer buffer,
int position,
int limit,
byte b)
Fill the Buffer 's part [position, limit) with the specific byte value starting from the
Buffer 's position won't be changed. |
static void |
fill(ByteBuffer byteBuffer,
byte b)
Fill the ByteBuffer with the specific byte value. |
static void |
fill(ByteBuffer byteBuffer,
int position,
int limit,
byte b)
Fill the ByteBuffer 's part [position, limit) with the specific byte value starting from the
ByteBuffer 's position won't be changed. |
static void |
get(ByteBuffer srcBuffer,
byte[] dstBytes,
int dstOffset,
int length)
|
static Appender<Buffer> |
getBufferAppender(boolean isCompositeBufferDisposable)
Get the Appender which knows how to append Buffer s. |
static void |
put(Buffer src,
int position,
int length,
Buffer dstBuffer)
|
static void |
put(byte[] srcBytes,
int srcOffset,
int length,
ByteBuffer dstBuffer)
|
static void |
put(ByteBuffer srcBuffer,
int srcOffset,
int length,
ByteBuffer dstBuffer)
|
static void |
setPositionLimit(Buffer buffer,
int position,
int limit)
|
static void |
setPositionLimit(ByteBuffer buffer,
int position,
int limit)
|
static ByteBuffer |
slice(ByteBuffer chunk,
int size)
Slice ByteBuffer of required size from big chunk. |
static ByteBuffer |
slice(ByteBuffer byteBuffer,
int position,
int limit)
Get the ByteBuffer 's slice basing on its passed position and limit. |
static String |
toStringContent(ByteBuffer byteBuffer,
Charset charset,
int position,
int limit)
|
static Buffer |
wrap(MemoryManager memoryManager,
byte[] array)
Returns Buffer , which wraps the byte array. |
static Buffer |
wrap(MemoryManager memoryManager,
byte[] array,
int offset,
int length)
Returns Buffer , which wraps the part of byte array with
specific offset and length. |
static Buffer |
wrap(MemoryManager memoryManager,
ByteBuffer byteBuffer)
Returns Buffer , which wraps the ByteBuffer . |
static Buffer |
wrap(MemoryManager memoryManager,
String s)
Returns Buffer , which wraps the String . |
static Buffer |
wrap(MemoryManager memoryManager,
String s,
Charset charset)
Returns Buffer , which wraps the String with the specific
Charset . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final ByteBuffer EMPTY_BYTE_BUFFER
public static final ByteBuffer[] EMPTY_BYTE_BUFFER_ARRAY
public static final Buffer EMPTY_BUFFER
Constructor Detail |
---|
public Buffers()
Method Detail |
---|
public static Appender<Buffer> getBufferAppender(boolean isCompositeBufferDisposable)
Appender
which knows how to append Buffer
s.
Returned Appender
uses the same Buffer
appending rules as
described here appendBuffers(org.glassfish.grizzly.memory.MemoryManager, org.glassfish.grizzly.Buffer, org.glassfish.grizzly.Buffer, boolean)
.
isCompositeBufferDisposable
- if as the result of Buffer
s
appending a new CompositeBuffer
will be created - its
Buffer.allowBufferDispose(boolean)
value will be set
according to this parameter.
Buffer
Appender
.public static Buffer wrap(MemoryManager memoryManager, String s)
Buffer
, which wraps the String
.
memoryManager
- MemoryManager
, which should be
used for wrapping.s
- String
Buffer
wrapper on top of passed String
.public static Buffer wrap(MemoryManager memoryManager, String s, Charset charset)
Buffer
, which wraps the String
with the specific
Charset
.
memoryManager
- MemoryManager
, which should be
used for wrapping.s
- String
charset
- Charset
, which will be used, when converting
String
to byte array.
Buffer
wrapper on top of passed String
.public static Buffer wrap(MemoryManager memoryManager, byte[] array)
Buffer
, which wraps the byte array.
memoryManager
- MemoryManager
, which should be
used for wrapping.array
- byte array to wrap.
Buffer
wrapper on top of passed byte array.public static Buffer wrap(MemoryManager memoryManager, byte[] array, int offset, int length)
Buffer
, which wraps the part of byte array with
specific offset and length.
memoryManager
- MemoryManager
, which should be
used for wrapping.array
- byte array to wrapoffset
- byte buffer offsetlength
- byte buffer length
Buffer
wrapper on top of passed byte array.public static Buffer wrap(MemoryManager memoryManager, ByteBuffer byteBuffer)
Buffer
, which wraps the ByteBuffer
.
memoryManager
- MemoryManager
, which should be
used for wrapping.byteBuffer
- ByteBuffer
to wrap
Buffer
wrapper on top of passed ByteBuffer
.public static ByteBuffer slice(ByteBuffer chunk, int size)
ByteBuffer
of required size from big chunk.
Passed chunk position will be changed, after the slicing (chunk.position += size).
chunk
- big ByteBuffer
pool.size
- required slice size.
ByteBuffer
of required size.public static ByteBuffer slice(ByteBuffer byteBuffer, int position, int limit)
ByteBuffer
's slice basing on its passed position and limit.
Position and limit values of the passed ByteBuffer
won't be changed.
The result ByteBuffer
position will be equal to 0, and limit
equal to number of sliced bytes (limit - position).
byteBuffer
- ByteBuffer
to slice/position
- the position in the passed byteBuffer, the slice will start from.limit
- the limit in the passed byteBuffer, the slice will be ended.
ByteBuffer
of required size.public static String toStringContent(ByteBuffer byteBuffer, Charset charset, int position, int limit)
public static void setPositionLimit(Buffer buffer, int position, int limit)
public static void setPositionLimit(ByteBuffer buffer, int position, int limit)
public static void put(ByteBuffer srcBuffer, int srcOffset, int length, ByteBuffer dstBuffer)
public static void put(Buffer src, int position, int length, Buffer dstBuffer)
public static void get(ByteBuffer srcBuffer, byte[] dstBytes, int dstOffset, int length)
public static void put(byte[] srcBytes, int srcOffset, int length, ByteBuffer dstBuffer)
public static Buffer appendBuffers(MemoryManager memoryManager, Buffer buffer1, Buffer buffer2)
Buffer
s.
If one of the Buffer
s is null - then another Buffer
will
be returned as result.
If the first Buffer
is CompositeBuffer
then the second
Buffer
will be appended to it via
Appendable.append(java.lang.Object)
, else if the second
Buffer
is CompositeBuffer
then the first Buffer
will be prepended to it via
CompositeBuffer.prepend(org.glassfish.grizzly.Buffer)
.
If none of the Buffer
parameters is null nor
CompositeBuffer
s - then new CompositeBuffer
will be created
and both Buffer
s will be added there. The resulting
CompositeBuffer
will be disallowed for disposal.
memoryManager
- buffer1
- buffer2
-
Buffer
s.public static Buffer appendBuffers(MemoryManager memoryManager, Buffer buffer1, Buffer buffer2, boolean isCompositeBufferDisposable)
Buffer
s.
If one of the Buffer
s is null - then another Buffer
will
be returned as result.
If the first Buffer
is CompositeBuffer
then the second
Buffer
will be appended to it via
Appendable.append(java.lang.Object)
, else if the second
Buffer
is CompositeBuffer
then the first Buffer
will be prepended to it via
CompositeBuffer.prepend(org.glassfish.grizzly.Buffer)
.
If none of the Buffer
parameters is null nor
CompositeBuffer
s - then new CompositeBuffer
will be created
and both Buffer
s will be added there. The resulting
CompositeBuffer
will be assigned according to the
isCompositeBufferDisposable
parameter.
memoryManager
- buffer1
- buffer2
- isCompositeBufferDisposable
-
Buffer
s.public static void fill(Buffer buffer, byte b)
Buffer
with the specific byte value. Buffer
's
position won't be changed.
buffer
- Buffer
b
- valuepublic static void fill(Buffer buffer, int position, int limit, byte b)
Buffer
's part [position, limit) with the specific byte value starting from the
Buffer
's position won't be changed.
buffer
- Buffer
position
- Buffer
position to start with (inclusive)limit
- Buffer
limit, where filling ends (exclusive)b
- valuepublic static void fill(ByteBuffer byteBuffer, byte b)
ByteBuffer
with the specific byte value. ByteBuffer
's
position won't be changed.
byteBuffer
- ByteBuffer
b
- valuepublic static void fill(ByteBuffer byteBuffer, int position, int limit, byte b)
ByteBuffer
's part [position, limit) with the specific byte value starting from the
ByteBuffer
's position won't be changed.
byteBuffer
- ByteBuffer
position
- ByteBuffer
position to start with (inclusive)limit
- Buffer
limit, where filling ends (exclusive)b
- valuepublic static Buffer cloneBuffer(Buffer srcBuffer)
Buffer
.
The method returns a new Buffer
instance, which has the same content.
Please note, source and result Buffer
s have the same content,
but it is *not* shared, so the following content changes in one of the
Buffer
s won't be visible in another one.
srcBuffer
- the source Buffer
.
Buffer
.public static Buffer cloneBuffer(Buffer srcBuffer, int position, int limit)
Buffer
.
The method returns a new Buffer
instance, which has the same content.
Please note, source and result Buffer
s have the same content,
but it is *not* shared, so the following content changes in one of the
Buffer
s won't be visible in another one.
srcBuffer
- the source Buffer
.position
- the start position in the srcBufferlimit
- the end position in the srcBuffer
Buffer
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |