Interface Printer

All Known Implementing Classes:
DefaultPrinter

public interface Printer
Interface for printing objects to the console with various formatting options. The Printer interface provides methods for displaying objects in different formats, such as tables or structured output, with customizable styling and formatting options. Implementations of this interface handle the conversion of various object types to formatted text output, with support for syntax highlighting and structured display.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static enum 
    Enumeration specifying which rows in a table should be highlighted.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Value: Boolean
    Applies: TABLE
    Ignore columnsOut configuration.
    static final List<String>
     
    static final String
    Value: String
    Applies: TABLE
    Table cell vertical border character.
    static final String
    Value: List<String>
    Applies: MAP and TABLE
    Display given keys/columns on map/table.
    static final String
    Value: List<String>
    Applies: TABLE
    These map values will be added to the table before all the other keys.
    static final String
    Value: List<String>
    Applies: TABLE
    These map values will not be inserted to the table.
    static final String
    Value: List<String>
    Applies: TABLE
    Exclude given columns on table.
    static final String
    Value: Map<regex, function>.
    Applies: TABLE
    If command result map key matches with regex the highlight function is applied to the corresponding map value.
    static final String
    Value: List<String>
    Applies: TABLE
    Include given columns on table.
    static final String
    Value: Integer
    Applies: MAP
    Indention size.
    static final String
    Value: Double
    Applies: MAP and TABLE
    default value 0.8 i.e.
    static final String
    Value: Integer
    Applies: MAP and TABLE
    Maximum column width.
    static final String
    Value: Integer
    Applies: MAP
    Maximum depth objects are resolved.
    static final String
    Value: Integer
    Applies: MAP and TABLE
    Maximum number of lines to display.
    static final String
    Value: Boolean
    Applies: TABLE
    List the collection of simple values in multiple columns DEFAULT: list values in one column
    static final String
    Value: Map<class, function>
    Applies: MAP and TABLE
    Overrides the ScriptEngine toMap() method.
    static final String
    Value: Map<class, function>
    Applies: MAP and TABLE
    Overrides the ScriptEngine toString() method.
    static final String
    Value: Boolean
    Applies: TABLE
    Display one row data on table.
    static final String
    Value: TableRows
    Applies: TABLE
    Highlight table rows.
    static final String
    Value: Boolean
    Applies: TABLE
    Display table row numbers.
    static final String
    Value: Boolean
    Applies: TABLE
    Truncate table column names: property.field to field.
    static final String
    Value: Boolean
    Applies: MAP and TABLE
    Ignore all options defined in PRNT_OPTIONS.
    static final String
    Value: Boolean
    Applies: TABLE
    Display object structures and lists on table.
    static final String
    Value: String
    Use nanorc STYLE
    static final String
    Value: Boolean
    Applies: MAP and TABLE
    Use object's toString() method to get print value DEFAULT: object's fields are put to property map before printing
    static final String
    Value: String
    Applies: MAP and TABLE
    Nanorc syntax style used to highlight values.
    static final String
    Value: Boolean
    Applies: MAP and TABLE
    Highlight everything also strings with spaces DEFAULT: highlight only strings without spaces or enclosed by quotes or brackets
    static final String
    Value: Integer
    Applies: MAP and TABLE
    Display width (default terminal width).
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    println(Object object)
    Prints an object to the console using default formatting options.
    void
    println(Map<String,Object> options, Object object)
    Prints an object to the console with the specified formatting options.
    default Exception
    Executes a print command with the given input.
    boolean
    Clears the printer's syntax highlighter cache and refreshes internal state.
  • Field Details

    • ALL

      static final String ALL
      Value: Boolean
      Applies: TABLE
      Ignore columnsOut configuration.
      See Also:
    • COLUMNS

      static final String COLUMNS
      Value: List<String>
      Applies: MAP and TABLE
      Display given keys/columns on map/table.
      See Also:
    • EXCLUDE

      static final String EXCLUDE
      Value: List<String>
      Applies: TABLE
      Exclude given columns on table.
      See Also:
    • INCLUDE

      static final String INCLUDE
      Value: List<String>
      Applies: TABLE
      Include given columns on table.
      See Also:
    • INDENTION

      static final String INDENTION
      Value: Integer
      Applies: MAP
      Indention size.
      See Also:
    • MAX_COLUMN_WIDTH

      static final String MAX_COLUMN_WIDTH
      Value: Integer
      Applies: MAP and TABLE
      Maximum column width.
      See Also:
    • MAX_DEPTH

      static final String MAX_DEPTH
      Value: Integer
      Applies: MAP
      Maximum depth objects are resolved.
      See Also:
    • MAXROWS

      static final String MAXROWS
      Value: Integer
      Applies: MAP and TABLE
      Maximum number of lines to display.
      See Also:
    • ONE_ROW_TABLE

      static final String ONE_ROW_TABLE
      Value: Boolean
      Applies: TABLE
      Display one row data on table.
      See Also:
    • ROWNUM

      static final String ROWNUM
      Value: Boolean
      Applies: TABLE
      Display table row numbers.
      See Also:
    • SHORT_NAMES

      static final String SHORT_NAMES
      Value: Boolean
      Applies: TABLE
      Truncate table column names: property.field to field.
      See Also:
    • SKIP_DEFAULT_OPTIONS

      static final String SKIP_DEFAULT_OPTIONS
      Value: Boolean
      Applies: MAP and TABLE
      Ignore all options defined in PRNT_OPTIONS.
      See Also:
    • STRUCT_ON_TABLE

      static final String STRUCT_ON_TABLE
      Value: Boolean
      Applies: TABLE
      Display object structures and lists on table.
      See Also:
    • STYLE

      static final String STYLE
      Value: String
      Use nanorc STYLE
      See Also:
    • TO_STRING

      static final String TO_STRING
      Value: Boolean
      Applies: MAP and TABLE
      Use object's toString() method to get print value DEFAULT: object's fields are put to property map before printing
      See Also:
    • VALUE_STYLE

      static final String VALUE_STYLE
      Value: String
      Applies: MAP and TABLE
      Nanorc syntax style used to highlight values.
      See Also:
    • WIDTH

      static final String WIDTH
      Value: Integer
      Applies: MAP and TABLE
      Display width (default terminal width).
      See Also:
    • BORDER

      static final String BORDER
      Value: String
      Applies: TABLE
      Table cell vertical border character.
      See Also:
    • ROW_HIGHLIGHT

      static final String ROW_HIGHLIGHT
      Value: TableRows
      Applies: TABLE
      Highlight table rows.
      See Also:
    • COLUMNS_IN

      static final String COLUMNS_IN
      Value: List<String>
      Applies: TABLE
      These map values will be added to the table before all the other keys.
      See Also:
    • COLUMNS_OUT

      static final String COLUMNS_OUT
      Value: List<String>
      Applies: TABLE
      These map values will not be inserted to the table.
      See Also:
    • HIGHLIGHT_VALUE

      static final String HIGHLIGHT_VALUE
      Value: Map<regex, function>.
      Applies: TABLE
      If command result map key matches with regex the highlight function is applied to the corresponding map value. The regex = * is processed after all the other regexes and the highlight function will be applied to all map values that have not been already highlighted.
      See Also:
    • MAP_SIMILARITY

      static final String MAP_SIMILARITY
      Value: Double
      Applies: MAP and TABLE
      default value 0.8 i.e. if at least of 4 of the 5 results map keys match with reference key set the result will be printed out as a table.
      See Also:
    • OBJECT_TO_MAP

      static final String OBJECT_TO_MAP
      Value: Map<class, function>
      Applies: MAP and TABLE
      Overrides the ScriptEngine toMap() method.
      See Also:
    • OBJECT_TO_STRING

      static final String OBJECT_TO_STRING
      Value: Map<class, function>
      Applies: MAP and TABLE
      Overrides the ScriptEngine toString() method.
      See Also:
    • VALUE_STYLE_ALL

      static final String VALUE_STYLE_ALL
      Value: Boolean
      Applies: MAP and TABLE
      Highlight everything also strings with spaces DEFAULT: highlight only strings without spaces or enclosed by quotes or brackets
      See Also:
    • MULTI_COLUMNS

      static final String MULTI_COLUMNS
      Value: Boolean
      Applies: TABLE
      List the collection of simple values in multiple columns DEFAULT: list values in one column
      See Also:
    • BOOLEAN_KEYS

      static final List<String> BOOLEAN_KEYS
  • Method Details

    • println

      default void println(Object object)
      Prints an object to the console using default formatting options. This is a convenience method that calls println(Map, Object) with an empty options map.
      Parameters:
      object - the object to print
    • println

      void println(Map<String,Object> options, Object object)
      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.
      Parameters:
      options - a map of formatting options that control how the object is displayed
      object - the object to print
    • prntCommand

      default Exception prntCommand(CommandInput input)
      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.
      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
    • refresh

      boolean refresh()
      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.
      Returns:
      true if the refresh operation was successful, false otherwise