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 intPRNT_INDENTIONprotected static intPRNT_MAX_DEPTHprotected static intPRNT_MAX_ROWSprotected 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, 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 voidhighlightAndPrint(java.util.Map<java.lang.String,java.lang.Object> options, java.lang.Throwable exception)Highlight and print an exceptionprotected voidmanageBooleanOptions(java.util.Map<java.lang.String,java.lang.Object> options)Boolean printing options Printer checks only if key is present.voidprintln(java.lang.Object object)Prints an object to the console using default formatting options.voidprintln(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.ExceptionprntCommand(CommandInput input)Executes a print command with the given input.booleanrefresh()Clears the printer's syntax highlighter cache and refreshes internal state.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() methodprotected Terminalterminal()-
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: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
public void println(java.util.Map<java.lang.String,java.lang.Object> optionsIn, java.lang.Object object)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
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: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
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
-
-