Package org.pkl.core
Class ValueFormatter
- java.lang.Object
-
- org.pkl.core.ValueFormatter
-
public final class ValueFormatter extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description ValueFormatter(boolean useMultilineStrings, boolean useCustomStringDelimiters)Constructs an instance of aValueFormatter.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ValueFormatterbasic()Equivalent tonew ValueFormatter(false, false).java.lang.StringformatStringValue(java.lang.String value, java.lang.CharSequence lineIndent)Formatsvalueas a Pkl/Pcf string literal (including quotes).voidformatStringValue(java.lang.String value, java.lang.CharSequence lineIndent, java.lang.Appendable appendable)Same asformatStringValue(String, CharSequence), except that output goes toappendable(which may causeIOException).voidformatStringValue(java.lang.String value, java.lang.CharSequence lineIndent, java.lang.StringBuilder builder)Same asformatStringValue(String, CharSequence), except that output goes tobuilder.static ValueFormatterwithCustomStringDelimiters()Equivalent tonew ValueFormatter(false, true).
-
-
-
Constructor Detail
-
ValueFormatter
public ValueFormatter(boolean useMultilineStrings, boolean useCustomStringDelimiters)Constructs an instance of aValueFormatter.If
useMultilineStringsistrue, string values containing newline characters are formatted as multiline string literals.If
useCustomStringDelimitersistrue, custom string delimiters (such as#"..."#) are preferred over escaping quotes and backslashes.
-
-
Method Detail
-
basic
public static ValueFormatter basic()
Equivalent tonew ValueFormatter(false, false).
-
withCustomStringDelimiters
public static ValueFormatter withCustomStringDelimiters()
Equivalent tonew ValueFormatter(false, true).
-
formatStringValue
public java.lang.String formatStringValue(java.lang.String value, java.lang.CharSequence lineIndent)Formatsvalueas a Pkl/Pcf string literal (including quotes).If
valuecontains a\ncharacter, a multiline string literal is returned, and subsequent lines are indented bylineIndent. Otherwise, a single line string literal is returned.
-
formatStringValue
public void formatStringValue(java.lang.String value, java.lang.CharSequence lineIndent, java.lang.StringBuilder builder)Same asformatStringValue(String, CharSequence), except that output goes tobuilder.
-
formatStringValue
public void formatStringValue(java.lang.String value, java.lang.CharSequence lineIndent, java.lang.Appendable appendable) throws java.io.IOExceptionSame asformatStringValue(String, CharSequence), except that output goes toappendable(which may causeIOException).- Throws:
java.io.IOException
-
-