package Packet;
import java.nio.ByteBuffer;
public class ShortSMSPacket implements Packet{
private int address_size;
private String address;
private long date;
private int body_size;
private String body;
public ShortSMSPacket() {
}
public ShortSMSPacket(String ad, long dat, String body) {
this.address = ad;
this.address_size = ad.length();
this.date = dat;
this.body = body;
this.body_size = this.body.length();
}
public byte[] build() {
ByteBuffer b = ByteBuffer.allocate(4+4+address.length()+4+4+8+4+body.length()+4);
b.putInt(address_size);
b.put(address.getBytes());
b.putLong(date);
b.putInt(body_size);
b.put(body.getBytes());
return b.array();
}
public void parse(byte[] packet) {
ByteBuffer b = ByteBuffer.wrap(packet);
this.address_size = b.getInt();
byte[] tmp = new byte[address_size];
b.get(tmp);
this.address = new String(tmp);
this.date = b.getLong();
this.body_size = b.getInt();
tmp = new byte[body_size];
b.get(tmp);
this.body = new String(tmp);
}
public String getAddress() {
return address;
}
public long getDate() {
return date;
}
public String getBody() {
return body;
}
}