Class Yamls

java.lang.Object
com.axelor.ai.seed.Yamls

public final class Yamls extends Object
Nested-YAML parse/dump plus typed accessors, for config-shaped seed files.
  • Method Details

    • parse

      public static Map<String,Object> parse(String content)
      Parses a YAML document into a nested map; empty map if null/blank/not a mapping.
    • parseStrict

      public static Map<String,Object> parseStrict(String content)
      Parses a YAML document into a nested map, refusing one that does not parse, is not a mapping, or holds nothing — blank, or every line commented out: an empty map would read as a file that declares nothing, and replace what one declared.
      Throws:
      IllegalArgumentException - when the document is malformed, empty or not a mapping
    • requireKeys

      public static void requireKeys(Map<?,?> doc, String... keys)
      Refuses a document naming a key that is none of these: a key dropped unread, misspelled or left from an older format, could have been the one restricting what the file grants.
      Throws:
      IllegalArgumentException - naming the unknown keys
    • dump

      public static String dump(Map<String,Object> data)
      Dumps a map to block-style YAML; multi-line string values use literal block scalars.
    • str

      public static String str(Map<String,Object> map, String key)
    • str

      public static String str(Map<String,Object> map, String key, String defaultValue)
    • enumOr

      public static <E extends Enum<E>> E enumOr(String value, E defaultValue)
      Parses a scalar into an enum constant (case-insensitive), or defaultValue if absent/unknown.
    • enumOrNull

      public static <E extends Enum<E>> E enumOrNull(String value, Class<E> type)
      Parses a scalar into an enum constant (case-insensitive), or null if absent/unknown.
    • intOrNull

      public static Integer intOrNull(Map<String,Object> map, String key)
    • intOr

      public static int intOr(Map<String,Object> map, String key, int defaultValue)
    • bool

      public static boolean bool(Map<String,Object> map, String key, boolean defaultValue)
    • decimalOrNull

      public static BigDecimal decimalOrNull(Map<String,Object> map, String key)
    • put

      public static void put(Map<String,Object> map, String key, Object value)
      Puts value under key only when it is non-null (for building export maps).
    • putIfNotBlank

      public static void putIfNotBlank(Map<String,Object> map, String key, String value)
      Puts value under key only when it is non-null and not blank.
    • strings

      public static List<String> strings(Map<String,Object> map, String key)
      The scalars listed under key, blanks dropped; a lone scalar is a list of one.
    • slug

      public static String slug(String name)
      A file name for a record keyed by a free-text name.
    • maps

      public static List<Map<String,Object>> maps(Map<String,Object> map, String key)