Confectory Core 2.5.0 API

This is the API specification for the core part of the Confectory project.

Confectory logo

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 Configuration class, which is typically a combination of a Source and a Mapper, producing configuration data that can be retrieved in a variety of formats
  • The ConfigurationContainer class, for management of multiple configuration objects using namespaces and precendence levels in case of key/path collision
  • Built-in Source implementations for loading local resources from file system and classpath
  • Built-in Mapper implementations for delivering contents as String, Properties, JSONObject (using smart-json as 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.

Packages 
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.