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
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 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 protected static int
PRNT_INDENTION
protected static int
PRNT_MAX_DEPTH
protected static int
PRNT_MAX_ROWS
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 java.lang.String[]
appendUsage(java.lang.String[] customUsage)
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.protected void
highlightAndPrint(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Throwable exception)
Highlight and print an exceptionprotected void
manageBooleanOptions(java.util.Map<java.lang.String,java.lang.Object> options)
Boolean printing options Printer checks only if key is present.void
println(java.lang.Object object)
Prints an object to the console using default formatting options.void
println(java.util.Map<java.lang.String,java.lang.Object> optionsIn, java.lang.Object object)
Prints an object to the console with the specified formatting options.java.lang.Exception
prntCommand(CommandInput input)
Executes a print command with the given input.boolean
refresh()
Clears the printer's syntax highlighter cache and refreshes internal state.void
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() methodprotected Terminal
terminal()
-
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
-
-
Constructor Detail
-
DefaultPrinter
public DefaultPrinter(ConfigurationPath configPath)
-
DefaultPrinter
public DefaultPrinter(ScriptEngine engine, ConfigurationPath configPath)
-
-
Method Detail
-
println
public void println(java.lang.Object object)
Description copied from interface:Printer
Prints 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
public void println(java.util.Map<java.lang.String,java.lang.Object> optionsIn, java.lang.Object object)
Description copied from interface:Printer
Prints 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:Printer
Clears 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
public java.lang.String[] appendUsage(java.lang.String[] customUsage)
-
compileOptions
public java.util.Map<java.lang.String,java.lang.Object> compileOptions(Options opt)
-
prntCommand
public java.lang.Exception prntCommand(CommandInput input)
Description copied from interface:Printer
Executes 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:
prntCommand
in 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
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
-
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
-
-