Skip to content

Commit

Permalink
YAMLParser now supports YAML lists not parsed by the parser itself.
Browse files Browse the repository at this point in the history
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.
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.
Now IConfiguration extends Serializable.
Reworked `FileConfiguration#newYaml` method to support older versions of SnakeYAML.
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.
Updated README.md.
Updated FulmiCollection.
  • Loading branch information
fulminazzo committed Mar 15, 2024
1 parent 93bd739 commit 475bc87
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 4 deletions.
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ plugins {
}

group = 'it.fulminazzo'
version = '1.5.10'
version = '1.5.11'

repositories {
mavenCentral()
Expand All @@ -19,7 +19,7 @@ dependencies {
compileOnly 'org.jetbrains:annotations:24.1.0'

implementation 'org.yaml:snakeyaml:2.2'
api 'it.fulminazzo:FulmiCollection:1.4'
api 'it.fulminazzo:FulmiCollection:1.4.1'

testImplementation platform('org.junit:junit-bom:5.9.1')
testImplementation 'org.junit.jupiter:junit-jupiter'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,8 +197,10 @@ public static <O, E extends Enum<E>> YAMLParser<O> getParser(@Nullable Class<O>
if (oClass.isArray()) return (YAMLParser<O>) new ArrayYAMLParser<O>();
if (IConfiguration.class.isAssignableFrom(oClass)) return null;
return (YAMLParser<O>) getParsers().stream()
.filter(p -> p.getOClass().isAssignableFrom(oClass))
.findFirst().orElse(null);
.filter(p -> p.getOClass().equals(oClass))
.findFirst().orElseGet(() -> getParsers().stream()
.filter(p -> p.getOClass().isAssignableFrom(oClass))
.findFirst().orElse(null));
}

/**
Expand Down

0 comments on commit 475bc87

Please sign in to comment.