Releases: moltenjson/MoltenJSON
Releases · moltenjson/MoltenJSON
Fix paths in ConfigurationPack
Fixed path separators in ConfigurationPack.
ConfigurationPack API + bug fixes
Added:
- ConfigurationPack
- DeriveFrom
- DirectConfiguration#save(Gson, Consumer)
Bug fixes
- Fix SelectableConfiguration not entirely using the specified GSON
- Method additions
Full lazy handling support
Added:
- TreeConfigurationBuilder#setLazy(boolean)
- TreeConfiguration#lazySave()
Changed:
- TreeConfiguration#save() - Throws IllegalStateException if configuration is lazy
Implement lazy loading in TreeConfiguration, bug fixes
Added:
- TreeConfiguration#lazyLoad(N name, Type type): Loads the required data when requested only
Changed:
- TreeConfigurationBuilder#setRestrictedExtensions(ImmutableList) and TreeConfigurationBuilder#setExclusionPrefixes(ImmutableList) now require the list to contain at least 1 element, and otherwise throw an IllegalArgumentException.
Bug fixes:
- Fixed TreeFileFilter not allowing any file when restricted extensions was empty
Implement Refresh API
Most of the MoltenJSON components allow use of #refresh(), which updates any cached content appropriately to how the component is implemented.
Bug fixes, behind-the-scenes changes
Changes:
- Prepare the project for MoltenJSON migration
- Prepare the project for publishing to Maven Central
- Convert the project to use org.jetbrains.annotations instead of manual Preconditions checks
Bug fixes:
- A performance goof in TreeConfiguration, mapping the values twice instead of once when created (would have no effect in the map structure, but increases the calls to it).
Additions:
- Added TreeConfiguration#getOrDefault(name, fallback).
- Invalid files will throw net.moltenjson.exceptions.InvalidFileException if ignoreInvalidFiles is set to false.
TreeConfiguration implementation, bug fixes
Added:
- Create TreeConfiguration
- Create TreeConfigurationBuilder
- Create TreeNamingStrategy
- Create TreeFileFilter
- Added DirectConfiguration#getAs(Type, Gson). See documentations for details
- Added DirectConfiguration#getAs(Type). See documentations for details
Changed:
- Refactored DirectConfiguration package to be in ...configuration.direct.DirectConfiguration
- All checks use com.google.common.base.Preconditions instead of java.util.Objects (consistency)
- All sub-classes of Lockable now return their instance on #setFile()
Bug fixes:
- JsonWriter's #setFile() method not updating content
- JsonWriter's #setFile() method not updating file instance
New JsonResponse component, stability, performance, documents, null checks, bug fixes, and more convenience.
New JsonResponse:
This component is mainly for handling RESTful APIs JSON responses and extract any type of information from them easily, using simple and straightforward getters.
Reflection fixes
2.0.1-SNAPSHOT Update versioning