Source: aeonbits-owner Section: java Priority: optional Maintainer: Debian Med Packaging Team Uploaders: Pierre Gruet Build-Depends: debhelper-compat (= 13), default-jdk-headless, javahelper, maven-debian-helper Build-Depends-Indep: junit4 , libcommons-codec-java , libcurator-framework-java, libcurator-test-java , libhamcrest-java , libmockito-java , libslf4j-java , libzookeeper-java Standards-Version: 4.6.2 Vcs-Browser: https://salsa.debian.org/med-team/aeonbits-owner Vcs-Git: https://salsa.debian.org/med-team/aeonbits-owner.git Homepage: https://owner.aeonbits.org/ Rules-Requires-Root: no Package: libaeonbits-owner-java Architecture: all Depends: ${misc:Depends}, ${maven:Depends} Suggests: ${maven:OptionalDepends} Multi-Arch: foreign Description: API to handle application configuration through Java properties file OWNER was written because the code dealing with the configuration is frequently repetitive, redundant, it’s made of static classes, singletons, long list of methods just doing conversion from a string property to a named method returning a Java primitive or a basic Java object. . OWNER solves the problem providing an interface object that - is easy to mock, easy to pass to other objects (via dependency injection); - declaratively maps the configuration without any redundancy; - can easily expand the loading logic in order to have multiple configuration files, multiple level of overriding (global configuration, user-level, defaults, etc); - doesn’t need to have an actual properties file backing the configuration, if one uses @DefaultValue. - provides a lot of features, like hot reloading, variables expansion, etc; - leaves one free to do everything one is already doing with java.util.Properties; - does support a super powerful type conversion, which includes arrays, collections, many standard Java objects, and even the possibility to plug one's own conversion logic.