package php.runtime.memory.support;
import php.runtime.Memory;
import java.io.ByteArrayOutputStream;
public class BinaryStringBuilder {
private ByteArrayOutputStream buffer;
public BinaryStringBuilder(int size) {
buffer = new ByteArrayOutputStream(size);
}
public BinaryStringBuilder(){
buffer = new ByteArrayOutputStream();
}
public BinaryStringBuilder(String initValue){
this(initValue.length());
append(MemoryStringUtils.getBinaryBytes(initValue));
}
public BinaryStringBuilder(Memory initValue){
this(initValue.toString());
}
public void append(byte[] bytes, int off, int len){
buffer.write(bytes, off, len);
}
public void append(byte[] bytes) {
append(bytes, 0, bytes.length);
}
public void append(Memory value){
append(value.getBinaryBytes());
}
public void appendString(String value){
append(value.getBytes());
}
public void appendChar(char ch){
appendString(String.valueOf(ch));
}
public void append(byte b){
buffer.write(b);
}
public byte[] toByteArray(){
return buffer.toByteArray();
}
@Override
public String toString(){
return buffer.toString();
}
}