xsd.Settings.xsd 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.
Schema for Settings in applications.
basically settings are read from url's, features and preprocessors can be added
when you specify urls at this level settings wil be parsed using the current default parser.
You can control which parser is the default on the settings factory implementation. Instead you can also
read settings from urls using a feature where can declare the parser that will be used.
by default settings can be modified
by default settings will be cached to minimize expensive string conversion
by default settings will not be obervable, if they are you can add observables to the settings
You can extend your settings with features provided in this library or develop your own features
decorators may need input for their functionality, a URL to retrieve help info for example.
Such a feature requires a constructor with EnhancedMap and URL[].
Used by ParsingProperties. A feature class must extend AbstractPropertiesDecorator and requires a constructor with EnhancedMap as argument.
Used by ParsingProperties. You can define your own factory for syntax binding.
a preprocessor preprocesses keys and / or values before addition.
you can exclude certain keys from preprocessing
the preprocessor must be a subclass of AbstractPrepareKeyValue
definition of settings to use in an application