Commit Graph

62 Commits (c78f4b290174163f29c32ff7d3d4e77854a62828)
 

Author SHA1 Message Date
Exlll c78f4b2901 Change TypeComponent and SerializerSelector to use AnnotatedType 3 years ago
Exlll 1c38f85177 Refactor SerializerSelectorTest 3 years ago
Exlll 96321dd682 Add support for SerializeWith annotation 3 years ago
Exlll 0a291fe922 Move SerializerMapper functionality to TypeSerializer 3 years ago
Exlll 3c25327f7f Refactor TypeComponent 3 years ago
Exlll 7ce9c6b1c6 Add componentGenericType to TypeComponent 3 years ago
Exlll 48aef6a48c Let generic type of TypeComponent extend AnnotatedElement 3 years ago
Exlll 0f3656a21b Update version to 4.1.0
* Added jitpack.io support (by @RobotHanzo)
* Added two new NameFormatters (by @Insprill)
  - LOWER_KEBAB_CASE
  - UPPER_KEBAB_CASE
* Fixed handling of comments that contain newlines (by @Insprill)
3 years ago
Exlll e1dcacb1a1 Update documentation 3 years ago
Pierce Thompson ce87129094
Properly handle multi-line comments split with the newline character (#17)
* Properly handle multi-line comments split with the newline character
* Don't discard trailing newlines
* Add unit tests
3 years ago
Pierce Thompson 26dfd4d6b5
Add kebab-case name formatters (#16) 3 years ago
RobotHanzo 54762f8bb5
Support building with jitpack (#13) 3 years ago
Exlll bfbda2f629 Update version to 4.0.0
This update contains several new features:

* Support for Java records
* Support for File, Path, URL, URI, Instant
* New project structure that makes it easier to add support
  for additional file types

... and some breaking changes:

* The code for saving and loading YAML files was moved from the
  configlib-core to the configlib-yaml module:
  * The Configurations class has been renamed to YamlConfigurations
    and its methods lost their -YamlConfiguration affix.
* FieldFormatter has been renamed to NameFormatter
3 years ago
Exlll d1acb875c2 Remove update with default configuration.
Default values for Records can now be provided through constructors
that have no parameters.
3 years ago
Exlll 5b9c7754b4 Move to new project structure 3 years ago
Exlll bff27c06b1 Allow calls to update with a default configuration 3 years ago
Exlll 6ee99ff619 Update documentation for Records 3 years ago
Exlll e5028e6199 Add top-level saving/loading support for Records
Records can now be saved and loaded directly using one of the several
methods available.

Also, the TypeSerializer has been refactored.
3 years ago
Exlll a2153106b5 Add support for Record component comments 3 years ago
Exlll 7e79597cdd Add support for Record serialization 3 years ago
Exlll 31748db01b Add support for Instant, File, Path, URL, and URI 3 years ago
Exlll 5216a889af
Update issue templates 3 years ago
Exlll 3112ea1bce Update version to 3.1.0 3 years ago
Exlll 57a9b33673 Add UUID serializer 3 years ago
Exlll c2c35daab2 Add documantation about ConfigurationSerializable support 3 years ago
Exlll 3ea01199db Add serialization support for Bukkit's ConfigurationSerializable types 3 years ago
Exlll f70c44f159 Add toBuilder method to create a builder from a properties object 3 years ago
Exlll 7c4f630f7c ConfigLib v3 3 years ago
Exlll 65555f7dd6 Publish on master push, update "Import" README section 3 years ago
Exlll 84f38cdc71 Migrate build scripts to Kotlin DSL. 3 years ago
Exlll b047ddcb6e Add Github action to test on PR or on a push to "dev" 3 years ago
Exlll 445e39f8ae Update Gradle to version 7.1 3 years ago
Exlll 38b1a1aca4 Added @Format annotation
This annotation can be used to apply a FieldNameFormatter
to a Configuration without having to instantiate a Properties
object. The FieldNameFormatter returned by the annotation
takes precedence over the value returned by the Properties object.

Added FieldNameFormatters.UPPER_UNDERSCORE
7 years ago
Exlll 58b81f3314 Added FieldFilter
If your configuration has a lot of fields and you want to exclude some
of these fields without making them final, static or transient, you can
configure your properties object to use additional FieldFilters.

A FieldFilter filters the fields of a configuration class by a specified
criterion. For example, if you only want to include fields whose names
don't start with 'ignore', you would add the following filter:

YamlProperties properties = YamlProperties.builder()
                .addFilter(field -> !field.getName().startsWith("ignore"))
                // ...
                .build();
7 years ago
Exlll b8caedc86d Fix: Converting back fails for nested collections of complex ConfigurationElements
Note that you now have to set a nesting level when using nested
collections that require the ElementType annotation.
7 years ago
Exlll ee53d0c609 Fix: Comments not saved if FieldNameFormatter is used 7 years ago
Exlll 9681114e69
Create LICENSE 7 years ago
Exlll 7f600834ff Improve documentation 7 years ago
Exlll 71a6052e29 Make ConfigLib Java 8 compatible 7 years ago
Exlll f4795ca21a Update gradle-wrapper to Gradle version 4.8 7 years ago
Exlll 88838d5b96 Update .travis.yml to Java 10 7 years ago
Exlll 49e5b56b5c Update ConfigLib to version 2.0.0 7 years ago
Exlll e1b629d5df update version 7 years ago
Exlll e4f604a2cd fix: long files not read correctly 7 years ago
Exlll 108133abc0 added versioning 8 years ago
Exlll 9ae4731de4 fix postLoadHook not executed 8 years ago
Exlll a61363aefd fix type conversion 8 years ago
Exlll 71f342783b clean-up, improvements, fixes, docs 8 years ago
Exlll 6b72d6293c support for lists, sets and maps of custom objects 8 years ago
Exlll 0e9b474db1 better support for custom classes 8 years ago