Confectory Core 2.5.0 API
This is the API specification for the core part of the Confectory project.
Confectory is a modular framework, designed to hide the complexity of handling configuration files for Java applications in general, providing a reliable and fast API for parsing data from different sources (e.g.: file or URL) in a variety of formats, and allowing data access using a unified data query language.
Main features:
- Easy configuration setup, using a fluent API
- Data query using JSONPath, XPath or user-defined beans
- Support for the best JSON providers available in the community (see additional modules)
- Lazy loading of configuration sources
- Merge of configuration data from different sources
The core part of the project defines the base API and provides basic standard functionality, including:
-
The
Configurationclass, which is typically a combination of aSourceand aMapper, producing configuration data that can be retrieved in a variety of formats -
The
ConfigurationContainerclass, for management of multiple configuration objects using namespaces and precendence levels in case of key/path collision -
Built-in
Sourceimplementations for loading local resources from file system and classpath -
Built-in
Mapperimplementations for delivering contents asString,Properties,JSONObject(usingsmart-jsonas default provider),Document(XML) and POJO (user-defined beans)
For additional modules, refer to the Confectory project Home.
For code samples, refer to the Confectory project Wiki.
| Package | Description |
|---|---|
| net.obvj.confectory |
The main package.
|
| net.obvj.confectory.internal.helper |
This package contains classes that support data retrieval for supported
Configuration formats. |
| net.obvj.confectory.mapper |
This package groups the
Mapper interface and its implementations, as well as
auxiliary classes. |
| net.obvj.confectory.merger |
This package contains the
ConfigurationMerger implementations, as well as
auxiliary classes. |
| net.obvj.confectory.settings |
Classes for settings that are particularly related to the Confectory project.
|
| net.obvj.confectory.source |
This package groups the
Source interface and its implementations, as well as
auxiliary classes. |
| net.obvj.confectory.util |
Utility classes in general.
|