From cefeff77e0fee33b3cb4f89304c4b34479a24b0f Mon Sep 17 00:00:00 2001 From: Fulminazzo Date: Tue, 24 Dec 2024 02:41:16 +0100 Subject: [PATCH] YAMLParser now supports YAML lists not parsed by the parser itself. This means that list of type ```yaml list: - test: "Hello" - test: "Hi" ``` will be parsed as a list of (ConfigurationSection)[src/main/java/it/fulminazzo/yamlparser/configuration/ConfigurationSection]. Totally reworked classes separation to respect packaging conventions. Reworked FileConfiguration#addParsers method. Reworked `FileConfiguration#newYaml` method to support older versions of SnakeYAML. Renamed `it.fulminazzo.yamlparser.configurations` package to `it.fulminazzo.yamlparser.configuration`. Made FileConfiguration and ConfigurationSection final. Added support for escaped dot characters: now it will be able to use `\.` in paths to allow for dotted strings to be parsed. Added support for BigDecimal notation when getting Number types. Added `unquote` method to remove quoted strings when saving or loading. Added `getOptional` method in IConfiguration. Added `getOptionalList` method in IConfiguration. Added _gui_ formatting in `FileUtils#formatStringToYaml(String)`. Added `IConfiguration#setList` to save lists in dash form. Now IConfiguration extends Serializable. Removed nullity annotations from **YAMLParser** methods. Removed unnecessary println. Fixed dotted test error. Fixed `IConfiguration#getKeys` not returning an ordered set. Fixed NullPointerException in `IConfiguration#throwException` method. Fixed MapYAMLParser not supporting primitive types. Fixed `FileConfiguration#getParser` method to look first for equal object classes. Fixed `CollectionYAMLParser` not returning null values in non-specified indexes. Fixed `IConfiguration#getList(String, Class)` not checking correct paths. Fixed `IConfiguration#contains` not checking for valid section. Fixed `EnumYAMLParser` not making name uppercase. Fixed `CollectionYAMLParser` not returning null in case of invalid object. Fixed YAMLException being thrown recursively. Updated classes using FulmiCollection. Updated README.md. Updated FulmiCollection declaration to latest. Updated Javadoc. --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index dd83490..dd4b832 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ dependencies { compileOnly 'org.jetbrains:annotations:24.1.0' implementation 'org.yaml:snakeyaml:2.2' - api 'it.fulminazzo:FulmiCollection:+' + api 'it.fulminazzo:FulmiCollection:latest.release' testImplementation platform('org.junit:junit-bom:5.9.1') testImplementation 'org.junit.jupiter:junit-jupiter'