package org.stevewinfield.sunrise.communication;

import org.stevewinfield.sunrise.util.*;

public class MessageComposer {
	private StringBuilder message;
	public int id;
	
	public MessageComposer(int id) {
		this.init(id);
	}
	
	public void init(int id) {
		this.id = id;
		this.message = new StringBuilder(B64Encoding.encode(id));
	}
	
	public void pushString(String str) {
		this.message.append(B64Encoding.encode(str.length())).append(str);
	}
	
	public void pushInteger(int i) {
		this.message.append(WireEncoding.encode(i));
	}
	
	public void pushBoolean(boolean bool) {
		this.message.append(bool ? "I" : "H");
	}
	
	@Override
	public String toString() {
		return this.message.toString();
	}
	
}
