aeon icon indicating copy to clipboard operation
aeon copied to clipboard

A de-/serialization library to manage simple configurations


Gradle Dependency

implementation 'com.github.HttpMarco:Aeon:TAG'

Maven Dependency

<dependency>
    <groupId>com.github.HttpMarco</groupId>
    <artifactId>Aeon</artifactId>
    <version>Tag</version>
</dependency>

Examples (Simple property object)


@Getter
@Options(path = "src/test/java/net/http/aeon/", name = "config")
public class TestConfiguration {

    private final String name;
    private final int testValue;
    private final TestObject testObject;

    public TestConfiguration() {
        this.name = "test";
        this.testValue = 22;
        this.testObject = new TestObject();
    }
}

Save, read & auto manage of configuration

public void handle(){
   TestConfiguration insert=Aeon.insert(new TestConfiguration());
   System.out.println(insert.getTestValue());
}

Result:

testObject: [
   value: 20
]
name: test
testValue: 22

Add header or spaces for configuration field

@Comment(comment = "Test comment", type = Emphasizing.PRIMARY)

Todo 'Release':

  • [ ] Handle of null parameters
  • [ ] rename for configuration files
  • [ ] Support Map, Pair
  • [ ] Add comments for fields
  • [ ] remove duplicated renamed fields
  • [ ] Customize handler for object serialization