Class PrimitiveEncoder

java.lang.Object
dev.toonformat.jtoon.encoder.PrimitiveEncoder

public final class PrimitiveEncoder extends Object
Encodes primitive values and object keys for TOON format. Delegates validation to StringValidator, escaping to StringEscaper, and header formatting to HeaderFormatter.
  • Method Details

    • encodePrimitive

      public static String encodePrimitive(tools.jackson.databind.JsonNode value, String delimiter)
      Encodes a primitive JsonNode value.
      Parameters:
      value - the primitive value to encode
      delimiter - the delimiter to use (for string validation)
      Returns:
      the encoded string representation
    • encodeStringLiteral

      public static String encodeStringLiteral(String value, String delimiter)
      Encodes a string literal, quoting if necessary. Delegates validation to StringValidator and escaping to StringEscaper.
      Parameters:
      value - the string value to encode
      delimiter - the delimiter to use (for validation)
      Returns:
      the encoded string, quoted if necessary
    • encodeKey

      public static String encodeKey(String key)
      Encodes an object key, quoting if necessary. Delegates validation to StringValidator and escaping to StringEscaper.
      Parameters:
      key - the key to encode
      Returns:
      the encoded key, quoted if necessary
    • joinEncodedValues

      public static String joinEncodedValues(List<tools.jackson.databind.JsonNode> values, String delimiter)
      Joins encoded primitive values with the specified delimiter.
      Parameters:
      values - the list of primitive values to join
      delimiter - the delimiter to use between values
      Returns:
      the joined string of encoded values
    • formatHeader

      public static String formatHeader(int length, String key, List<String> fields, String delimiter, boolean lengthMarker)
      Formats a header for arrays and tables. Delegates to HeaderFormatter for implementation.
      Parameters:
      length - Array length
      key - Optional key prefix
      fields - Optional field names for tabular format
      delimiter - The delimiter being used
      lengthMarker - Whether to include # marker before length
      Returns:
      Formatted header string