package be.xhibit.teletask.parser.handler;
import be.xhibit.teletask.parser.Consumer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class OutputInterfaceLineHandler extends InterfaceLineHandlerSupport {
private static final Pattern INTERFACE_PATTERN = Pattern.compile("(\\d)\\s*(\\w)([^\\s]*)\\s([^\\s]*)\\s*(.*)");
private static final OutputInterfaceLineHandler INSTANCE = new OutputInterfaceLineHandler();
private static final Pattern START_PATTERN = Pattern.compile("\\s*O\\s\\-\\sINTERFACES");
private OutputInterfaceLineHandler() {
}
public static OutputInterfaceLineHandler getInstance() {
return INSTANCE;
}
@Override
public Pattern getStartPattern() {
return START_PATTERN;
}
@Override
protected Pattern getInterfacePattern() {
return INTERFACE_PATTERN;
}
@Override
protected void handle(Consumer consumer, Matcher matcher) {
consumer.outputInterface(matcher.group(1), matcher.group(2), matcher.group(3), matcher.group(4), matcher.group(5));
}
}