Package org.jline.console.impl
Class DefaultPrinter
- java.lang.Object
-
- org.jline.console.impl.AbstractCommandRegistry
-
- org.jline.console.impl.JlineCommandRegistry
-
- org.jline.console.impl.DefaultPrinter
-
- All Implemented Interfaces:
CommandRegistry
,Printer
public class DefaultPrinter extends JlineCommandRegistry implements Printer
Print highlighted objects to console.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
DefaultPrinter.BadOptionValueException
private static class
DefaultPrinter.TruncatedOutputException
-
Nested classes/interfaces inherited from interface org.jline.console.CommandRegistry
CommandRegistry.CommandSession
-
Nested classes/interfaces inherited from interface org.jline.console.Printer
Printer.TableRows
-
-
Field Summary
Fields Modifier and Type Field Description private ConfigurationPath
configPath
private ScriptEngine
engine
private static int
HIGHLIGHTER_CACHE_SIZE
private java.util.LinkedHashMap<java.lang.String,SyntaxHighlighter>
highlighters
private java.util.Map<java.lang.String,java.util.function.Function<java.lang.Object,AttributedString>>
highlightValue
private static int
NANORC_MAX_STRING_LENGTH
private java.util.Map<java.lang.Class<?>,java.util.function.Function<java.lang.Object,java.util.Map<java.lang.String,java.lang.Object>>>
objectToMap
private java.util.Map<java.lang.Class<?>,java.util.function.Function<java.lang.Object,java.lang.String>>
objectToString
protected static int
PRNT_INDENTION
protected static int
PRNT_MAX_DEPTH
protected static int
PRNT_MAX_ROWS
private StyleResolver
prntStyle
private int
totLines
protected static java.lang.String
VAR_PRNT_OPTIONS
-
Fields inherited from interface org.jline.console.Printer
ALL, BOOLEAN_KEYS, BORDER, COLUMNS, COLUMNS_IN, COLUMNS_OUT, EXCLUDE, HIGHLIGHT_VALUE, INCLUDE, INDENTION, MAP_SIMILARITY, MAX_COLUMN_WIDTH, MAX_DEPTH, MAXROWS, MULTI_COLUMNS, OBJECT_TO_MAP, OBJECT_TO_STRING, ONE_ROW_TABLE, ROW_HIGHLIGHT, ROWNUM, SHORT_NAMES, SKIP_DEFAULT_OPTIONS, STRUCT_ON_TABLE, STYLE, TO_STRING, VALUE_STYLE, VALUE_STYLE_ALL, WIDTH
-
-
Constructor Summary
Constructors Constructor Description DefaultPrinter(ConfigurationPath configPath)
DefaultPrinter(ScriptEngine engine, ConfigurationPath configPath)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.String
addPadding(java.lang.String str, int width)
private AttributedString
addPadding(AttributedString str, int width)
java.lang.String[]
appendUsage(java.lang.String[] customUsage)
private boolean
canConvert(java.lang.Object obj)
private int
cellWidth(int pos, java.util.List<java.lang.Integer> columns, boolean rownum, java.lang.String columnSep)
private boolean
collectionObject(java.lang.Object obj)
private java.lang.String
columnName(java.lang.String name, boolean shortName)
private java.lang.String
columnValue(java.lang.String value)
java.util.Map<java.lang.String,java.lang.Object>
compileOptions(Options opt)
protected java.util.Map<java.lang.String,java.lang.Object>
defaultPrntOptions(boolean skipDefault)
Set default and mandatory printing options.private int
digits(int number)
private boolean
doRowHighlight(int row, Printer.TableRows tableRows)
private boolean
doValueHighlight(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.String value)
private boolean
hasMatch(java.util.List<java.lang.String> regexes, java.lang.String value)
private AttributedString
highlight(java.lang.Integer width, SyntaxHighlighter highlighter, java.lang.String object, boolean doValueHighlight)
private AttributedString
highlight(CmdDesc cmdDesc)
private void
highlightAndPrint(int width, SyntaxHighlighter highlighter, java.lang.String object, boolean doValueHighlight)
private void
highlightAndPrint(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Object obj)
protected void
highlightAndPrint(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Throwable exception)
Highlight and print an exceptionprivate void
highlightList(java.util.Map<java.lang.String,java.lang.Object> options, java.util.List<java.lang.Object> collection, int width)
private void
highlightList(java.util.Map<java.lang.String,java.lang.Object> options, java.util.List<java.lang.Object> collection, int width, int depth)
private void
highlightMap(java.util.Map<java.lang.String,java.lang.Object> options, java.util.Map<java.lang.String,java.lang.Object> map, int width)
private void
highlightMap(java.util.Map<java.lang.String,java.lang.Object> options, java.util.Map<java.lang.String,java.lang.Object> map, int width, int depth)
private AttributedString
highlightMapValue(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.String key, java.util.Map<java.lang.String,java.lang.Object> map)
private AttributedString
highlightValue(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.String column, java.lang.Object obj)
private void
internalPrintln(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Object object)
private boolean
isHighlighted(AttributedString value)
private boolean
isNumber(java.lang.String str)
private java.util.Map<java.lang.String,java.lang.Object>
keysToString(java.util.Map<java.lang.Object,java.lang.Object> map)
protected void
manageBooleanOptions(java.util.Map<java.lang.String,java.lang.Object> options)
Boolean printing options Printer checks only if key is present.private java.lang.Object
mapValue(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.String key, java.util.Map<java.lang.String,java.lang.Object> map)
private java.util.List<java.lang.Object>
objectToList(java.lang.Object obj)
private java.util.Map<java.lang.String,java.lang.Object>
objectToMap(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Object obj)
private java.lang.String
objectToString(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Object obj)
private java.util.List<java.lang.String>
optionList(java.lang.String key, java.util.Map<java.lang.String,java.lang.Object> options)
private Printer.TableRows
optionRowHighlight(java.lang.Object value)
void
println(java.lang.Object object)
void
println(java.util.Map<java.lang.String,java.lang.Object> optionsIn, java.lang.Object object)
private void
println(AttributedString line, int maxrows)
java.lang.Exception
prntCommand(CommandInput input)
boolean
refresh()
Clear printer syntax highlighter cachevoid
setHighlightValue(java.util.Map<java.lang.String,java.util.function.Function<java.lang.Object,AttributedString>> highlightValue)
Highlight column valuevoid
setObjectToMap(java.util.Map<java.lang.Class<?>,java.util.function.Function<java.lang.Object,java.util.Map<java.lang.String,java.lang.Object>>> objectToMap)
Override ScriptEngine toMap() methodvoid
setObjectToString(java.util.Map<java.lang.Class<?>,java.util.function.Function<java.lang.Object,java.lang.String>> objectToString)
Override ScriptEngine toString() methodprivate boolean
similarSets(java.util.List<java.lang.String> ref, java.util.Set<java.lang.String> c2, int matchLimit)
private boolean
simpleObject(java.lang.Object obj)
protected Terminal
terminal()
private void
toTabStops(java.util.List<java.lang.Integer> columns, int rows, boolean rownum, java.lang.String columnSep)
private java.lang.String
truncate4nanorc(java.lang.String obj)
private java.lang.String
truncateValue(int maxWidth, java.lang.String value)
private AttributedString
truncateValue(java.util.Map<java.lang.String,java.lang.Object> options, AttributedString value)
private SyntaxHighlighter
valueHighlighter(java.lang.String style)
-
Methods inherited from class org.jline.console.impl.JlineCommandRegistry
commandDescription, commandInfo, commandOptions, compileCommandDescription, compileCommandInfo, compileCommandOptions, defaultCompleter, parseOptions
-
Methods inherited from class org.jline.console.impl.AbstractCommandRegistry
alias, commandAliases, commandNames, compileCompleters, doHelpDesc, getCommandMethods, hasCommand, invoke, registerCommands, registerCommands, registeredCommand, rename, saveException
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.jline.console.CommandRegistry
name
-
-
-
-
Field Detail
-
VAR_PRNT_OPTIONS
protected static final java.lang.String VAR_PRNT_OPTIONS
- See Also:
- Constant Field Values
-
PRNT_MAX_ROWS
protected static final int PRNT_MAX_ROWS
- See Also:
- Constant Field Values
-
PRNT_MAX_DEPTH
protected static final int PRNT_MAX_DEPTH
- See Also:
- Constant Field Values
-
PRNT_INDENTION
protected static final int PRNT_INDENTION
- See Also:
- Constant Field Values
-
NANORC_MAX_STRING_LENGTH
private static final int NANORC_MAX_STRING_LENGTH
- See Also:
- Constant Field Values
-
HIGHLIGHTER_CACHE_SIZE
private static final int HIGHLIGHTER_CACHE_SIZE
- See Also:
- Constant Field Values
-
objectToMap
private java.util.Map<java.lang.Class<?>,java.util.function.Function<java.lang.Object,java.util.Map<java.lang.String,java.lang.Object>>> objectToMap
-
objectToString
private java.util.Map<java.lang.Class<?>,java.util.function.Function<java.lang.Object,java.lang.String>> objectToString
-
highlightValue
private java.util.Map<java.lang.String,java.util.function.Function<java.lang.Object,AttributedString>> highlightValue
-
totLines
private int totLines
-
engine
private final ScriptEngine engine
-
configPath
private final ConfigurationPath configPath
-
prntStyle
private StyleResolver prntStyle
-
highlighters
private final java.util.LinkedHashMap<java.lang.String,SyntaxHighlighter> highlighters
-
-
Constructor Detail
-
DefaultPrinter
public DefaultPrinter(ConfigurationPath configPath)
-
DefaultPrinter
public DefaultPrinter(ScriptEngine engine, ConfigurationPath configPath)
-
-
Method Detail
-
println
public void println(java.util.Map<java.lang.String,java.lang.Object> optionsIn, java.lang.Object object)
-
refresh
public boolean refresh()
Description copied from interface:Printer
Clear printer syntax highlighter cache
-
appendUsage
public java.lang.String[] appendUsage(java.lang.String[] customUsage)
-
compileOptions
public java.util.Map<java.lang.String,java.lang.Object> compileOptions(Options opt)
-
optionRowHighlight
private Printer.TableRows optionRowHighlight(java.lang.Object value)
-
prntCommand
public java.lang.Exception prntCommand(CommandInput input)
- Specified by:
prntCommand
in interfacePrinter
-
setObjectToMap
public void setObjectToMap(java.util.Map<java.lang.Class<?>,java.util.function.Function<java.lang.Object,java.util.Map<java.lang.String,java.lang.Object>>> objectToMap)
Override ScriptEngine toMap() method- Parameters:
objectToMap
- key: object class, value: toMap function
-
setObjectToString
public void setObjectToString(java.util.Map<java.lang.Class<?>,java.util.function.Function<java.lang.Object,java.lang.String>> objectToString)
Override ScriptEngine toString() method- Parameters:
objectToString
- key: object class, value: toString function
-
setHighlightValue
public void setHighlightValue(java.util.Map<java.lang.String,java.util.function.Function<java.lang.Object,AttributedString>> highlightValue)
Highlight column value- Parameters:
highlightValue
- key: regex for column name, value: highlight function
-
terminal
protected Terminal terminal()
- Returns:
- terminal to which will be printed
-
manageBooleanOptions
protected void manageBooleanOptions(java.util.Map<java.lang.String,java.lang.Object> options)
Boolean printing options Printer checks only if key is present. Boolean options that have false value are removed from the options Map.- Parameters:
options
- printing options
-
defaultPrntOptions
protected java.util.Map<java.lang.String,java.lang.Object> defaultPrntOptions(boolean skipDefault)
Set default and mandatory printing options. Also unsupported options will be removed when Printer is used without scriptEngine- Parameters:
skipDefault
- when true does not set default options- Returns:
- default, mandatory and supported options
-
internalPrintln
private void internalPrintln(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Object object)
-
highlightAndPrint
protected void highlightAndPrint(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Throwable exception)
Highlight and print an exception- Parameters:
options
- Printing optionsexception
- Exception to be printed
-
highlight
private AttributedString highlight(CmdDesc cmdDesc)
-
valueHighlighter
private SyntaxHighlighter valueHighlighter(java.lang.String style)
-
truncate4nanorc
private java.lang.String truncate4nanorc(java.lang.String obj)
-
highlight
private AttributedString highlight(java.lang.Integer width, SyntaxHighlighter highlighter, java.lang.String object, boolean doValueHighlight)
-
doValueHighlight
private boolean doValueHighlight(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.String value)
-
highlightAndPrint
private void highlightAndPrint(int width, SyntaxHighlighter highlighter, java.lang.String object, boolean doValueHighlight)
-
keysToString
private java.util.Map<java.lang.String,java.lang.Object> keysToString(java.util.Map<java.lang.Object,java.lang.Object> map)
-
mapValue
private java.lang.Object mapValue(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.String key, java.util.Map<java.lang.String,java.lang.Object> map)
-
optionList
private java.util.List<java.lang.String> optionList(java.lang.String key, java.util.Map<java.lang.String,java.lang.Object> options)
-
hasMatch
private boolean hasMatch(java.util.List<java.lang.String> regexes, java.lang.String value)
-
addPadding
private AttributedString addPadding(AttributedString str, int width)
-
addPadding
private java.lang.String addPadding(java.lang.String str, int width)
-
columnValue
private java.lang.String columnValue(java.lang.String value)
-
objectToMap
private java.util.Map<java.lang.String,java.lang.Object> objectToMap(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Object obj)
-
objectToString
private java.lang.String objectToString(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Object obj)
-
highlightMapValue
private AttributedString highlightMapValue(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.String key, java.util.Map<java.lang.String,java.lang.Object> map)
-
isHighlighted
private boolean isHighlighted(AttributedString value)
-
highlightValue
private AttributedString highlightValue(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.String column, java.lang.Object obj)
-
truncateValue
private AttributedString truncateValue(java.util.Map<java.lang.String,java.lang.Object> options, AttributedString value)
-
truncateValue
private java.lang.String truncateValue(int maxWidth, java.lang.String value)
-
objectToList
private java.util.List<java.lang.Object> objectToList(java.lang.Object obj)
-
similarSets
private boolean similarSets(java.util.List<java.lang.String> ref, java.util.Set<java.lang.String> c2, int matchLimit)
-
println
private void println(AttributedString line, int maxrows)
-
columnName
private java.lang.String columnName(java.lang.String name, boolean shortName)
-
isNumber
private boolean isNumber(java.lang.String str)
-
highlightAndPrint
private void highlightAndPrint(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Object obj)
-
doRowHighlight
private boolean doRowHighlight(int row, Printer.TableRows tableRows)
-
highlightList
private void highlightList(java.util.Map<java.lang.String,java.lang.Object> options, java.util.List<java.lang.Object> collection, int width)
-
highlightList
private void highlightList(java.util.Map<java.lang.String,java.lang.Object> options, java.util.List<java.lang.Object> collection, int width, int depth)
-
collectionObject
private boolean collectionObject(java.lang.Object obj)
-
simpleObject
private boolean simpleObject(java.lang.Object obj)
-
canConvert
private boolean canConvert(java.lang.Object obj)
-
digits
private int digits(int number)
-
cellWidth
private int cellWidth(int pos, java.util.List<java.lang.Integer> columns, boolean rownum, java.lang.String columnSep)
-
toTabStops
private void toTabStops(java.util.List<java.lang.Integer> columns, int rows, boolean rownum, java.lang.String columnSep)
-
highlightMap
private void highlightMap(java.util.Map<java.lang.String,java.lang.Object> options, java.util.Map<java.lang.String,java.lang.Object> map, int width)
-
highlightMap
private void highlightMap(java.util.Map<java.lang.String,java.lang.Object> options, java.util.Map<java.lang.String,java.lang.Object> map, int width, int depth)
-
-