package org.zu.ardulink.protocol.parser;
import org.zu.ardulink.protocol.ALProtocol;
import org.zu.ardulink.util.Strings;
public class ALProtocolMessageStore implements IProtocolMessageStore {
// implementation can be better than a simple String
private String buffer = "";
@Override
public void addMessageChunck(String chunck) {
buffer += chunck;
}
@Override
public boolean isMessageComplete() {
boolean retvalue = false;
int messageEnd = buffer.indexOf(Strings.bytes2String(ALProtocol.DEFAULT_OUTGOING_MESSAGE_DIVIDER));
if(messageEnd != -1) {
retvalue = true;
}
return retvalue;
}
@Override
public String getNextMessage() {
String retvalue = null;
int messageEnd = buffer.indexOf(Strings.bytes2String(ALProtocol.DEFAULT_OUTGOING_MESSAGE_DIVIDER));
if(messageEnd != -1) {
retvalue = buffer.substring(0, messageEnd + 1);
buffer = buffer.substring(messageEnd + 1);
}
return retvalue;
}
}