com.vectorprint.configuration.binding.package.html Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of Config Show documentation
Show all versions of Config Show documentation
This project is about configuration of applications and about parameterization of Objects.
This library offers annotations (and annotation processors), parsers, typing, observing changes, serialization,
cloning and more when working with settings and/or object parameters. Settings and its features can be declared using an xml format.
The library offers syntax support for settings and parameters in a loosely coupled manner. You are not restricted to built in syntax, you
can provide your own.
At runtime this library tracks keys for which a default is used because they are not found in settings. Also it tracks
unused keys.
You can stack features for settings such as caching, preparing keys and values, readonlyness, threadsafety, helpsupport, reading / parsing from input. You can easily develop
your own features for settings.
Bind your settings and / or Parameterizable objects to a syntax of your choice. Syntax support is provided by three types of objects:
a parser, a serializer and a helper. For Parameterizables two syntaxes are supported:
a specialized syntax and JSON. You can also develop your own syntax:
- - extend the provided abstract classes for parsing, serialization and helper
- - your BindingHelper must be Threadsafe and provide a no argument constructor
- - your parser should provide a constructor accepting a Reader as argument
- - your serializer should provide a no argument constructor
- - use the provided factory implementations in your applications to get hold of your parser, serializer and bindinghelper