package be.xhibit.teletask.parser.handler; import be.xhibit.teletask.parser.Consumer; import java.util.ListIterator; import java.util.regex.Matcher; import java.util.regex.Pattern; public class GeneralMoodLineHandler extends LineHandlerSupport { private static final GeneralMoodLineHandler INSTANCE = new GeneralMoodLineHandler(); private static final Pattern START_PATTERN = Pattern.compile("\\s*GENERAL MOODS"); private static final Pattern LOCAL_MOOD_PATTERN = Pattern.compile("^\\s*GMD\\s*(\\d*)\\s*([^�]*)�\\s*([^�]*)�\\s*(.*)"); private GeneralMoodLineHandler() { } public static GeneralMoodLineHandler getInstance() { return INSTANCE; } @Override public Pattern getStartPattern() { return START_PATTERN; } @Override protected void handle(String startLine, Consumer consumer, ListIterator<String> iterator, String line, int counter) { //GMD 01 � � Alles Uit gelijkvloers vooraan Matcher matcher = LOCAL_MOOD_PATTERN.matcher(line); if (matcher.find()) { consumer.generalMood(matcher.group(1), matcher.group(2).trim(), matcher.group(3).trim(), matcher.group(4).trim()); } } }