package com.jediterm.terminal.debug; import com.jediterm.terminal.LoggingTtyConnector; import com.jediterm.terminal.ui.TerminalSession; /** * @author traff */ public enum DebugBufferType { Back() { public String getValue(TerminalSession session) { return session.getBackBuffer().getLines(); } }, BackStyle() { public String getValue(TerminalSession session) { return session.getBackBuffer().getStyleLines(); } }, Damage() { public String getValue(TerminalSession session) { return session.getBackBuffer().getDamageLines(); } }, Scroll() { public String getValue(TerminalSession session) { return session.getBackBuffer().getScrollBuffer().getLines(); } }, Text() { public String getValue(TerminalSession session) { return session.getBackBuffer().getTextBufferLines(); } }, ControlSequences() { private ControlSequenceVisualizer myVisualizer = new ControlSequenceVisualizer(); public String getValue(TerminalSession session) { if (session.getTtyConnector() instanceof LoggingTtyConnector) { return myVisualizer.getVisualizedString(((LoggingTtyConnector) session.getTtyConnector()).getChunks()); } else { return "Control sequences aren't logged"; } } }; public abstract String getValue(TerminalSession session); }