package org.shanbo.feluca.paddle.common.collection;
/**
*
* @author lgn
*
*/
public class ByteArray {
final static int MAX_ENLARGE_SIZE = 1024*1024*8;
public byte[] array;
public int startIdx;
public int endIdx;
private int currentIdx;
public ByteArray(byte[] array, int start, int end){
this.array = array;
this.setSegment(start, end);
}
public void setSegment(int start, int end){
this.startIdx = start;
this.endIdx = end;
currentIdx = startIdx;
}
public ByteArray(byte[] array){
this(array, 0, array.length);
}
public void add(byte elem){
}
public ByteArray(int size ){
this.array = new byte[size];
this.setSegment(0, size);
}
public int capacity(){
return array.length - startIdx;
}
public int size(){
return endIdx - startIdx ;
}
public byte quickGet(int idx){
return array[idx + startIdx];
}
public byte get(int idx){
if (idx + startIdx >= endIdx)
throw new IndexOutOfBoundsException();
return array[idx + startIdx];
}
public String toString(){
return new String(array, startIdx, endIdx - startIdx);
}
}