Class CommandLine.Help.Ansi.Text
- java.lang.Object
-
- org.apache.logging.log4j.core.tools.picocli.CommandLine.Help.Ansi.Text
-
- All Implemented Interfaces:
Cloneable
- Enclosing class:
- CommandLine.Help.Ansi
public class CommandLine.Help.Ansi.Text extends Object implements Cloneable
Encapsulates rich text with styles and colors. Text objects may be constructed with Strings containing markup like@|bg(red),white,underline some text|@, and this class converts the markup to ANSI escape codes.Internally keeps both an enriched and a plain text representation to allow layout components to calculate text width while remaining unaware of the embedded ANSI escape codes.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CommandLine.Help.Ansi.Textappend(String string)Returns a newTextinstance with the specified text appended.CommandLine.Help.Ansi.Textappend(CommandLine.Help.Ansi.Text other)Returns a newTextinstance with the specified text appended.Objectclone()booleanequals(Object obj)voidgetStyledChars(int from, int length, CommandLine.Help.Ansi.Text destination, int offset)Copies the specified substring of this Text into the specified destination, preserving the markup.inthashCode()StringplainString()Returns the plain text without any formatting.CommandLine.Help.Ansi.Text[]splitLines()CommandLine.Help.Ansi.Textsubstring(int start)Returns a newTextinstance that is a substring of this Text.CommandLine.Help.Ansi.Textsubstring(int start, int end)Returns a newTextinstance that is a substring of this Text.StringtoString()Returns a String representation of the text with ANSI escape codes embedded, unless ANSI is CommandLine.Help.Ansi.enabled() not enabled}, in which case the plain text is returned.
-
-
-
Constructor Detail
-
Text
public Text(int maxLength)
Constructs a Text with the specified max length (for use in a TextTable Column).- Parameters:
maxLength- max length of this text
-
Text
public Text(String input)
Constructs a Text with the specified String, which may contain markup like@|bg(red),white,underline some text|@.- Parameters:
input- the string with markup to parse
-
-
Method Detail
-
splitLines
public CommandLine.Help.Ansi.Text[] splitLines()
-
substring
public CommandLine.Help.Ansi.Text substring(int start)
Returns a newTextinstance that is a substring of this Text. Does not modify this instance!- Parameters:
start- index in the plain text where to start the substring- Returns:
- a new Text instance that is a substring of this Text
-
substring
public CommandLine.Help.Ansi.Text substring(int start, int end)
Returns a newTextinstance that is a substring of this Text. Does not modify this instance!- Parameters:
start- index in the plain text where to start the substringend- index in the plain text where to end the substring- Returns:
- a new Text instance that is a substring of this Text
-
append
public CommandLine.Help.Ansi.Text append(String string)
Returns a newTextinstance with the specified text appended. Does not modify this instance!- Parameters:
string- the text to append- Returns:
- a new Text instance
-
append
public CommandLine.Help.Ansi.Text append(CommandLine.Help.Ansi.Text other)
Returns a newTextinstance with the specified text appended. Does not modify this instance!- Parameters:
other- the text to append- Returns:
- a new Text instance
-
getStyledChars
public void getStyledChars(int from, int length, CommandLine.Help.Ansi.Text destination, int offset)Copies the specified substring of this Text into the specified destination, preserving the markup.- Parameters:
from- start of the substringlength- length of the substringdestination- destination Text to modifyoffset- indentation (padding)
-
plainString
public String plainString()
Returns the plain text without any formatting.- Returns:
- the plain text without any formatting
-
toString
public String toString()
Returns a String representation of the text with ANSI escape codes embedded, unless ANSI is CommandLine.Help.Ansi.enabled() not enabled}, in which case the plain text is returned.
-
-