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
Default implementation of the Printer interface that provides syntax highlighting and formatting.
DefaultPrinter provides functionality for printing various types of objects to the console with syntax highlighting and formatting. It supports printing:
- Simple objects (strings, numbers, etc.)
- Collections and maps
- Tables with row highlighting
- JSON and other structured data
- Source code with syntax highlighting
The printer can be configured with various options to control the formatting and highlighting of the output, such as maximum number of rows, indentation, and highlighting styles.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate static classNested classes/interfaces inherited from interface org.jline.console.CommandRegistry
CommandRegistry.CommandSessionNested classes/interfaces inherited from interface org.jline.console.Printer
Printer.TableRows -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ConfigurationPathprivate final ScriptEngineprivate static final intprivate final LinkedHashMap<String, SyntaxHighlighter> private Map<String, Function<Object, AttributedString>> private static final intprotected static final intprotected static final intprotected static final intprivate StyleResolverprivate intprotected static final StringFields 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
ConstructorsConstructorDescriptionDefaultPrinter(ConfigurationPath configPath) DefaultPrinter(ScriptEngine engine, ConfigurationPath configPath) -
Method Summary
Modifier and TypeMethodDescriptionprivate StringaddPadding(String str, int width) private AttributedStringaddPadding(AttributedString str, int width) String[]appendUsage(String[] customUsage) private booleancanConvert(Object obj) private intprivate booleancollectionObject(Object obj) private StringcolumnName(String name, boolean shortName) private StringcolumnValue(String value) compileOptions(Options opt) defaultPrntOptions(boolean skipDefault) Set default and mandatory printing options.private intdigits(int number) private booleandoRowHighlight(int row, Printer.TableRows tableRows) private booleandoValueHighlight(Map<String, Object> options, String value) private booleanprivate AttributedStringhighlight(Integer width, SyntaxHighlighter highlighter, String object, boolean doValueHighlight) private AttributedStringprivate voidhighlightAndPrint(int width, SyntaxHighlighter highlighter, String object, boolean doValueHighlight) private voidhighlightAndPrint(int width, SyntaxHighlighter highlighter, String object, boolean doValueHighlight, int maxRows) private voidhighlightAndPrint(Map<String, Object> options, Object obj) protected voidhighlightAndPrint(Map<String, Object> options, Throwable exception) Highlight and print an exceptionprivate voidprivate voidprivate voidprivate voidprivate AttributedStringprivate AttributedStringprivate voidinternalPrintln(Map<String, Object> options, Object object) private booleanisHighlighted(AttributedString value) private booleankeysToString(Map<Object, Object> map) protected voidmanageBooleanOptions(Map<String, Object> options) Boolean printing options Printer checks only if key is present.private ObjectobjectToList(Object obj) objectToMap(Map<String, Object> options, Object obj) private StringobjectToString(Map<String, Object> options, Object obj) optionList(String key, Map<String, Object> options) private Printer.TableRowsoptionRowHighlight(Object value) voidPrints an object to the console using default formatting options.voidPrints an object to the console with the specified formatting options.private voidprintln(AttributedString line, int maxrows) prntCommand(CommandInput input) Executes a print command with the given input.booleanrefresh()Clears the printer's syntax highlighter cache and refreshes internal state.voidsetHighlightValue(Map<String, Function<Object, AttributedString>> highlightValue) Highlight column valuevoidOverride ScriptEngine toMap() methodvoidOverride ScriptEngine toString() methodprivate booleansimilarSets(List<String> ref, Set<String> c2, int matchLimit) private booleansimpleObject(Object obj) protected Terminalterminal()private voidtoTabStops(List<Integer> columns, int rows, boolean rownum, String columnSep) private Stringtruncate4nanorc(String obj) private StringtruncateValue(int maxWidth, String value) private AttributedStringtruncateValue(Map<String, Object> options, AttributedString value) private SyntaxHighlightervalueHighlighter(String style) Methods inherited from class org.jline.console.impl.JlineCommandRegistry
commandDescription, commandInfo, commandOptions, compileCommandDescription, compileCommandInfo, compileCommandOptions, defaultCompleter, parseOptionsMethods inherited from class org.jline.console.impl.AbstractCommandRegistry
alias, commandAliases, commandNames, compileCompleters, doHelpDesc, getCommandMethods, hasCommand, invoke, registerCommands, registerCommands, registeredCommand, rename, saveExceptionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.jline.console.CommandRegistry
name
-
Field Details
-
VAR_PRNT_OPTIONS
- See Also:
-
PRNT_MAX_ROWS
protected static final int PRNT_MAX_ROWS- See Also:
-
PRNT_MAX_DEPTH
protected static final int PRNT_MAX_DEPTH- See Also:
-
PRNT_INDENTION
protected static final int PRNT_INDENTION- See Also:
-
NANORC_MAX_STRING_LENGTH
private static final int NANORC_MAX_STRING_LENGTH- See Also:
-
HIGHLIGHTER_CACHE_SIZE
private static final int HIGHLIGHTER_CACHE_SIZE- See Also:
-
objectToMap
-
objectToString
-
highlightValue
-
totLines
private int totLines -
engine
-
configPath
-
prntStyle
-
highlighters
-
-
Constructor Details
-
DefaultPrinter
-
DefaultPrinter
-
-
Method Details
-
println
Description copied from interface:PrinterPrints an object to the console using default formatting options. This is a convenience method that callsPrinter.println(Map, Object)with an empty options map. -
println
Description copied from interface:PrinterPrints an object to the console with the specified formatting options. The method handles different object types and formats them according to the provided options. -
refresh
public boolean refresh()Description copied from interface:PrinterClears the printer's syntax highlighter cache and refreshes internal state. This method should be called when the highlighting rules or styles have changed and need to be reapplied. -
appendUsage
-
compileOptions
-
optionRowHighlight
-
prntCommand
Description copied from interface:PrinterExecutes a print command with the given input. This method can be implemented by printer implementations to handle specific print commands. The default implementation returns null, indicating no error occurred.- Specified by:
prntCommandin interfacePrinter- Parameters:
input- the command input containing the command and its arguments- Returns:
- an Exception if an error occurred during command execution, or null if successful
-
setObjectToMap
Override ScriptEngine toMap() method- Parameters:
objectToMap- key: object class, value: toMap function
-
setObjectToString
Override ScriptEngine toString() method- Parameters:
objectToString- key: object class, value: toString function
-
setHighlightValue
Highlight column value- Parameters:
highlightValue- key: regex for column name, value: highlight function
-
terminal
- Returns:
- terminal to which will be printed
-
manageBooleanOptions
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
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
-
highlightAndPrint
Highlight and print an exception- Parameters:
options- Printing optionsexception- Exception to be printed
-
highlight
-
valueHighlighter
-
truncate4nanorc
-
highlight
private AttributedString highlight(Integer width, SyntaxHighlighter highlighter, String object, boolean doValueHighlight) -
doValueHighlight
-
highlightAndPrint
private void highlightAndPrint(int width, SyntaxHighlighter highlighter, String object, boolean doValueHighlight, int maxRows) -
highlightAndPrint
private void highlightAndPrint(int width, SyntaxHighlighter highlighter, String object, boolean doValueHighlight) -
keysToString
-
mapValue
-
optionList
-
hasMatch
-
addPadding
-
addPadding
-
columnValue
-
objectToMap
-
objectToString
-
highlightMapValue
-
isHighlighted
-
highlightValue
-
truncateValue
-
truncateValue
-
objectToList
-
similarSets
-
println
-
columnName
-
isNumber
-
highlightAndPrint
-
doRowHighlight
-
highlightList
-
highlightList
-
collectionObject
-
simpleObject
-
canConvert
-
digits
private int digits(int number) -
cellWidth
-
toTabStops
-
highlightMap
-
highlightMap
-