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 classDefaultPrinter.BadOptionValueExceptionprivate static classDefaultPrinter.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 ConfigurationPathconfigPathprivate ScriptEngineengineprivate java.util.Map<java.lang.String,java.util.function.Function<java.lang.Object,AttributedString>>highlightValueprivate static intNANORC_MAX_STRING_LENGTHprivate java.util.Map<java.lang.Class<?>,java.util.function.Function<java.lang.Object,java.util.Map<java.lang.String,java.lang.Object>>>objectToMapprivate java.util.Map<java.lang.Class<?>,java.util.function.Function<java.lang.Object,java.lang.String>>objectToStringprotected static intPRNT_INDENTIONprotected static intPRNT_MAX_DEPTHprotected static intPRNT_MAX_ROWSprivate StyleResolverprntStyleprivate inttotLinesprotected static java.lang.StringVAR_NANORCprotected static java.lang.StringVAR_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, 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.StringaddPadding(java.lang.String str, int width)private AttributedStringaddPadding(AttributedString str, int width)java.lang.String[]appendUsage(java.lang.String[] customUsage)private booleancanConvert(java.lang.Object obj)private intcellWidth(int pos, java.util.List<java.lang.Integer> columns, boolean rownum, java.lang.String columnSep)private booleancollectionObject(java.lang.Object obj)private java.lang.StringcolumnName(java.lang.String name, boolean shortName)private java.lang.StringcolumnValue(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 intdigits(int number)private booleandoRowHighlight(int row, Printer.TableRows tableRows)private booleandoValueHighlight(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.String value)private booleanhasMatch(java.util.List<java.lang.String> regexes, java.lang.String value)private AttributedStringhighlight(java.lang.Integer width, Nano.SyntaxHighlighter highlighter, java.lang.String object, boolean doValueHighlight)private AttributedStringhighlight(CmdDesc cmdDesc)private voidhighlightAndPrint(int width, Nano.SyntaxHighlighter highlighter, java.lang.String object, boolean doValueHighlight)private voidhighlightAndPrint(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Object obj)protected voidhighlightAndPrint(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Throwable exception)Highlight and print an exceptionprivate voidhighlightList(java.util.Map<java.lang.String,java.lang.Object> options, java.util.List<java.lang.Object> collection, int width)private voidhighlightList(java.util.Map<java.lang.String,java.lang.Object> options, java.util.List<java.lang.Object> collection, int width, int depth)private voidhighlightMap(java.util.Map<java.lang.String,java.lang.Object> options, java.util.Map<java.lang.String,java.lang.Object> map, int width)private voidhighlightMap(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 AttributedStringhighlightMapValue(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 AttributedStringhighlightValue(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.String column, java.lang.Object obj)private voidinternalPrintln(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Object object)private booleanisHighlighted(AttributedString value)private booleanisNumber(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 voidmanageBooleanOptions(java.util.Map<java.lang.String,java.lang.Object> options)Boolean printing options Printer checks only if key is present.private java.lang.ObjectmapValue(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.StringobjectToString(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.TableRowsoptionRowHighlight(java.lang.Object value)voidprintln(java.lang.Object object)voidprintln(java.util.Map<java.lang.String,java.lang.Object> optionsIn, java.lang.Object object)private voidprintln(AttributedString line, int maxrows)java.lang.ExceptionprntCommand(CommandInput input)voidsetHighlightValue(java.util.Map<java.lang.String,java.util.function.Function<java.lang.Object,AttributedString>> highlightValue)Highlight column valuevoidsetObjectToMap(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() methodvoidsetObjectToString(java.util.Map<java.lang.Class<?>,java.util.function.Function<java.lang.Object,java.lang.String>> objectToString)Override ScriptEngine toString() methodprivate booleansimilarSets(java.util.List<java.lang.String> ref, java.util.Set<java.lang.String> c2, int matchLimit)private booleansimpleObject(java.lang.Object obj)protected Terminalterminal()private voidtoTabStops(java.util.List<java.lang.Integer> columns, int rows, boolean rownum, java.lang.String columnSep)private java.lang.Stringtruncate4nanorc(java.lang.String obj)private java.lang.StringtruncateValue(int maxWidth, java.lang.String value)private AttributedStringtruncateValue(java.util.Map<java.lang.String,java.lang.Object> options, AttributedString value)private Nano.SyntaxHighlightervalueHighlighter(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
-
VAR_NANORC
protected static final java.lang.String VAR_NANORC
- 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
-
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
-
-
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)
-
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:
prntCommandin 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 Nano.SyntaxHighlighter valueHighlighter(java.lang.String style)
-
truncate4nanorc
private java.lang.String truncate4nanorc(java.lang.String obj)
-
highlight
private AttributedString highlight(java.lang.Integer width, Nano.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, Nano.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)
-
-