Package org.tomlj

Class Toml

java.lang.Object
org.tomlj.Toml

public final class Toml extends Object
Methods for parsing data stored in Tom's Obvious, Minimal Language (TOML).

By default, documents may nest tables and arrays at most 128 levels deep, not counting the root table, and a value, table or array nested deeper than that is reported as a parse error. The limit bounds the stack depth needed to parse and serialize a document; change it with TomlParseOptions.withMaxNestingDepth(int).

  • Method Details

    • parse

      public static TomlParseResult parse(String input)
      Parse a TOML string.
      Parameters:
      input - The input to parse.
      Returns:
      The parse result.
    • parse

      public static TomlParseResult parse(String input, TomlVersion version)
      Parse a TOML string.
      Parameters:
      input - The input to parse.
      version - The version level to parse at.
      Returns:
      The parse result.
    • parse

      public static TomlParseResult parse(String input, TomlParseOptions options)
      Parse a TOML string.
      Parameters:
      input - The input to parse.
      options - The options to parse with.
      Returns:
      The parse result.
    • parse

      public static TomlParseResult parse(Path file) throws IOException
      Parse a TOML file.
      Parameters:
      file - The input file to parse.
      Returns:
      The parse result.
      Throws:
      IOException - If an IO error occurs.
    • parse

      public static TomlParseResult parse(Path file, TomlVersion version) throws IOException
      Parse a TOML file.
      Parameters:
      file - The input file to parse.
      version - The version level to parse at.
      Returns:
      The parse result.
      Throws:
      IOException - If an IO error occurs.
    • parse

      public static TomlParseResult parse(Path file, TomlParseOptions options) throws IOException
      Parse a TOML file.
      Parameters:
      file - The input file to parse.
      options - The options to parse with.
      Returns:
      The parse result.
      Throws:
      IOException - If an IO error occurs.
    • parse

      public static TomlParseResult parse(InputStream is) throws IOException
      Parse a TOML input stream.
      Parameters:
      is - The UTF-8 encoded input stream to read the TOML document from.
      Returns:
      The parse result.
      Throws:
      IOException - If an IO error occurs.
    • parse

      public static TomlParseResult parse(InputStream is, TomlVersion version) throws IOException
      Parse a TOML input stream.
      Parameters:
      is - The UTF-8 encoded input stream to read the TOML document from.
      version - The version level to parse at.
      Returns:
      The parse result.
      Throws:
      IOException - If an IO error occurs.
    • parse

      public static TomlParseResult parse(InputStream is, TomlParseOptions options) throws IOException
      Parse a TOML input stream.
      Parameters:
      is - The UTF-8 encoded input stream to read the TOML document from.
      options - The options to parse with.
      Returns:
      The parse result.
      Throws:
      IOException - If an IO error occurs.
    • parse

      public static TomlParseResult parse(Reader reader) throws IOException
      Parse a TOML reader.
      Parameters:
      reader - The reader to obtain the TOML document from.
      Returns:
      The parse result.
      Throws:
      IOException - If an IO error occurs.
    • parse

      public static TomlParseResult parse(Reader reader, TomlVersion version) throws IOException
      Parse a TOML input stream.
      Parameters:
      reader - The reader to obtain the TOML document from.
      version - The version level to parse at.
      Returns:
      The parse result.
      Throws:
      IOException - If an IO error occurs.
    • parse

      public static TomlParseResult parse(Reader reader, TomlParseOptions options) throws IOException
      Parse a TOML input stream.
      Parameters:
      reader - The reader to obtain the TOML document from.
      options - The options to parse with.
      Returns:
      The parse result.
      Throws:
      IOException - If an IO error occurs.
    • parse

      public static TomlParseResult parse(ReadableByteChannel channel) throws IOException
      Parse a TOML reader.
      Parameters:
      channel - The channel to read the TOML document from.
      Returns:
      The parse result.
      Throws:
      IOException - If an IO error occurs.
    • parse

      public static TomlParseResult parse(ReadableByteChannel channel, TomlVersion version) throws IOException
      Parse a TOML input stream.
      Parameters:
      channel - The UTF-8 encoded channel to read the TOML document from.
      version - The version level to parse at.
      Returns:
      The parse result.
      Throws:
      IOException - If an IO error occurs.
    • parse

      public static TomlParseResult parse(ReadableByteChannel channel, TomlParseOptions options) throws IOException
      Parse a TOML input stream.
      Parameters:
      channel - The UTF-8 encoded channel to read the TOML document from.
      options - The options to parse with.
      Returns:
      The parse result.
      Throws:
      IOException - If an IO error occurs.
    • parseDottedKey

      public static List<String> parseDottedKey(String dottedKey)
      Parse a dotted key into individual parts.
      Parameters:
      dottedKey - A dotted key (e.g. server.address.port).
      Returns:
      A list of individual keys in the path.
      Throws:
      IllegalArgumentException - If the dotted key cannot be parsed.
    • joinKeyPath

      public static String joinKeyPath(List<String> path)
      Join a list of keys into a single dotted key string.
      Parameters:
      path - The list of keys that form the path.
      Returns:
      The path string.
    • canonicalDottedKey

      public static String canonicalDottedKey(String dottedKey)
      Get the canonical form of the dotted key.
      Parameters:
      dottedKey - A dotted key (e.g. server.address.port).
      Returns:
      The canonical form of the dotted key.
      Throws:
      IllegalArgumentException - If the dotted key cannot be parsed.
    • tomlEscape

      public static StringBuilder tomlEscape(String text)
      Escape a text string using the TOML escape sequences.
      Parameters:
      text - The text string to escape.
      Returns:
      A StringBuilder holding the results of escaping the text.
    • equals

      public static boolean equals(TomlArray array1, TomlArray array2)
      Performs a deep comparison between two arrays to determine if they are equivalent.
      Parameters:
      array1 - First array
      array2 - Second array
      Returns:
      Returns true if the arrays are equivalent, else false.
    • equals

      public static boolean equals(TomlTable table1, TomlTable table2)
      Performs a deep comparison between two tables to determine if they are equivalent.
      Parameters:
      table1 - First table
      table2 - Second table
      Returns:
      Returns true if the tables are equivalent, else false.