35 lines
890 B
Java
35 lines
890 B
Java
package de.swingbe.ifleet.parser;
|
|
|
|
import de.swingbe.ifleet.model.Comm;
|
|
import de.swingbe.ifleet.model.Header;
|
|
import de.swingbe.ifleet.model.Telegr;
|
|
import de.swingbe.ifleet.utils.TelegramUtils;
|
|
|
|
class CommParserImpl implements CommParser {
|
|
|
|
CommParserImpl() {
|
|
}
|
|
|
|
@Override
|
|
public Comm parse(final String input) {
|
|
|
|
Header header = null;
|
|
Telegr telegr = null;
|
|
|
|
if (input.contains("<")) {
|
|
|
|
String inputSup = input.substring(input.indexOf("<") + 1,
|
|
input.lastIndexOf(">"));
|
|
|
|
//parse Header
|
|
header = HeaderParserFactory.createHeaderParser().parse(input);
|
|
|
|
//parse Telegram
|
|
String inputSupPop = TelegramUtils.popField(inputSup, 4);
|
|
telegr = TelegrParserFactory.createTelegrParser().parse(inputSupPop);
|
|
}
|
|
|
|
return new Comm(header, telegr);
|
|
}
|
|
}
|