diff --git a/src/main/java/de/swingbe/ifleet/TelegramParser.java b/src/main/java/de/swingbe/ifleet/TelegramParser.java new file mode 100644 index 0000000..8aea2d6 --- /dev/null +++ b/src/main/java/de/swingbe/ifleet/TelegramParser.java @@ -0,0 +1,17 @@ +package de.swingbe.ifleet; + +import de.swingbe.ifleet.model.Entity; + +/** + * Parses an {@link de.swingbe.ifleet.model.Entity}. + */ +public interface TelegramParser { + + /** + * Returns a new {@link Entity} that holds the parses telegram. + * + * @param input the {@link String} to be parsed + * @return the parsed {@link Entity} + */ + Entity parse(String input); +} diff --git a/src/main/java/de/swingbe/ifleet/TelegramParserImpl.java b/src/main/java/de/swingbe/ifleet/TelegramParserImpl.java new file mode 100644 index 0000000..d4a7f6f --- /dev/null +++ b/src/main/java/de/swingbe/ifleet/TelegramParserImpl.java @@ -0,0 +1,20 @@ +package de.swingbe.ifleet; + +import de.swingbe.ifleet.model.Entity; + +import static de.swingbe.ifleet.model.EntityParser.parseLogEntry; + +/** + * Parse telegram. + * + * Note that this class is package-private, so that the client can not use it. + */ +class TelegramParserImpl implements TelegramParser { + TelegramParserImpl() { + } + + @Override + public Entity parse(String input) { + return parseLogEntry(input); + } +}