Class MessageUtils

java.lang.Object
org.apache.maven.cli.jansi.MessageUtils

public class MessageUtils extends Object
Colored message utils, to manage colors. This is the core implementation of the JansiMessageBuilderFactory and JansiMessageBuilder classes. This class should not be used outside of maven-embedder and the public MessageBuilderFactory should be used instead.

Internally, Jansi is used to render ANSI colors on any platform.

Since:
4.0.0
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static org.apache.maven.api.services.MessageBuilder
    Create a default message buffer.
    static org.apache.maven.api.services.MessageBuilder
    builder(int size)
    Create a message buffer with an internal buffer of defined size.
    static org.apache.maven.api.services.MessageBuilder
    Create a message buffer with defined String builder.
    static int
    Get the terminal width or -1 if the width cannot be determined.
    static boolean
    Is message color enabled: requires Jansi available (through Maven) and the color has not been disabled.
    static void
    Register a shutdown hook with the JVM runtime, uninstalling Ansi support on JVM shutdown unless is has already been uninstalled at that time.
    static void
    setColorEnabled(boolean flag)
    Enables message color (if Jansi is available).
    static String
    Remove any ANSI code from a message (colors or other escape sequences).
    static void
    Install color support.
    static void
    Undo a previous systemInstall().

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • MessageUtils

      public MessageUtils()
  • Method Details

    • systemInstall

      public static void systemInstall()
      Install color support. This method is called by Maven core, and calling it is not necessary in plugins.
    • systemUninstall

      public static void systemUninstall()
      Undo a previous systemInstall(). If systemInstall() was called multiple times, systemUninstall() must be called call the same number of times before it is actually uninstalled.
    • setColorEnabled

      public static void setColorEnabled(boolean flag)
      Enables message color (if Jansi is available).
      Parameters:
      flag - to enable Jansi
    • isColorEnabled

      public static boolean isColorEnabled()
      Is message color enabled: requires Jansi available (through Maven) and the color has not been disabled.
      Returns:
      whether colored messages are enabled
    • builder

      public static org.apache.maven.api.services.MessageBuilder builder()
      Create a default message buffer.
      Returns:
      a new buffer
    • builder

      public static org.apache.maven.api.services.MessageBuilder builder(int size)
      Create a message buffer with an internal buffer of defined size.
      Parameters:
      size - size of the buffer
      Returns:
      a new buffer
    • builder

      public static org.apache.maven.api.services.MessageBuilder builder(StringBuilder builder)
      Create a message buffer with defined String builder.
      Parameters:
      builder - initial content of the message buffer
      Returns:
      a new buffer
    • stripAnsiCodes

      public static String stripAnsiCodes(String msg)
      Remove any ANSI code from a message (colors or other escape sequences).
      Parameters:
      msg - message eventually containing ANSI codes
      Returns:
      the message with ANSI codes removed
    • registerShutdownHook

      public static void registerShutdownHook()
      Register a shutdown hook with the JVM runtime, uninstalling Ansi support on JVM shutdown unless is has already been uninstalled at that time.

      Delegates to doSystemUninstall() for the actual uninstall procedure

      See Also:
    • getTerminalWidth

      public static int getTerminalWidth()
      Get the terminal width or -1 if the width cannot be determined.
      Returns:
      the terminal width