A resizable byte array.
Method from org.apache.http.io.ByteArrayBuffer Detail: |
public void append(int b) {
int newlen = this.len + 1;
if (newlen > this.buffer.length) {
expand(newlen);
}
this.buffer[this.len] = (byte)b;
this.len = newlen;
}
|
public void append(byte[] b,
int off,
int len) {
if (b == null) {
return;
}
if ((off < 0) || (off > b.length) || (len < 0) ||
((off + len) < 0) || ((off + len) > b.length)) {
throw new IndexOutOfBoundsException();
}
if (len == 0) {
return;
}
int newlen = this.len + len;
if (newlen > this.buffer.length) {
expand(newlen);
}
System.arraycopy(b, off, this.buffer, this.len, len);
this.len = newlen;
}
|
public void append(char[] b,
int off,
int len) {
if (b == null) {
return;
}
if ((off < 0) || (off > b.length) || (len < 0) ||
((off + len) < 0) || ((off + len) > b.length)) {
throw new IndexOutOfBoundsException();
}
if (len == 0) {
return;
}
int oldlen = this.len;
int newlen = oldlen + len;
if (newlen > this.buffer.length) {
expand(newlen);
}
for (int i1 = off, i2 = oldlen; i2 < newlen; i1++, i2++) {
this.buffer[i2] = (byte) b[i1];
}
this.len = newlen;
}
|
public void append(CharArrayBuffer b,
int off,
int len) {
if (b == null) {
return;
}
append(b.buffer(), off, len);
}
|
public byte[] buffer() {
return this.buffer;
}
|
public int byteAt(int i) {
return this.buffer[i];
}
|
public int capacity() {
return this.buffer.length;
}
|
public void clear() {
this.len = 0;
}
|
public boolean isEmpty() {
return this.len == 0;
}
|
public boolean isFull() {
return this.len == this.buffer.length;
}
|
public int length() {
return this.len;
}
|
public void setLength(int len) {
if (len < 0 || len > this.buffer.length) {
throw new IndexOutOfBoundsException();
}
this.len = len;
}
|
public byte[] toByteArray() {
byte[] b = new byte[this.len];
if (this.len > 0) {
System.arraycopy(this.buffer, 0, b, 0, this.len);
}
return b;
}
|