irt-parser/src/main/java/de/swingbe/ifleet/parser/TelegrParserImpl.java

36 lines
1.1 KiB
Java

package de.swingbe.ifleet.parser;
import de.swingbe.ifleet.model.Telegr;
import de.swingbe.ifleet.model.TelegrCntnt;
import de.swingbe.ifleet.model.TelegramHdr;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static de.swingbe.ifleet.model.TelegramHdr.TELEGRAM_HDR_FIELD_NO;
import static de.swingbe.ifleet.utils.TelegramUtils.popField;
class TelegrParserImpl implements TelegrParser {
private final static Logger LOG = LoggerFactory.getLogger(TelegrParserImpl.class);
TelegrParserImpl() {
}
public Telegr parse(final String input) {
TelegramHdr teleHeader = TelegramHdrParserFactory.createTelegramHdrParser().parse(input);
final String type = teleHeader.getTeleType();
LOG.debug("parse() teleHeader.getTeleType(): " + type);
String inputNew = popField(input, TELEGRAM_HDR_FIELD_NO);
TelegrCntnt telegrCntnt = null;
switch (type){
case "1":
default:
telegrCntnt = LctMsgParserFactory.createLctMsgParer().parse(type,inputNew);
break;
}
return new Telegr(teleHeader, telegrCntnt);
}
}