Skip to content

Overview

Oswaldo Baptista Vicente Junior edited this page Jul 1, 2024 · 15 revisions

Confectory is a modular framework designed to hide the complexity of handling multiple configuration files for Java applications in general, providing a reliable and fast API for parsing data from different sources (file or URL) in a variety of formats and allowing data access using a unified query language.

flowchart TD
    User(["User"]) -->|"property"| c((("`**confectory**`"))):::larger
    User -->|"xpath"| c
    User -->|"jsonpath"| c

    c-->properties("properties"):::condensed
    c-->ini("INI"):::expanded
    c-->xml("XML"):::expanded
    c-->json("JSON"):::expanded
    c-->yaml("YAML"):::expanded
    c-->toml("TOML"):::expanded

    classDef larger font-size:18pt
    classDef condensed letter-spacing:-0.8px
    classDef expanded letter-spacing:1.2px
Loading

Features

  • Easy configuration setup, always combining a Source (e.g.: classpath, file system, or URL) and a Mapper
  • Data query using JSONPath, XPath or user-defined beans
  • Support for the best JSON providers available in the community (e.g.: Jackson, GSON)
  • Multiple configuration formats (e.g.: Properties, INI, XML, JSON, YAML, or TOML) with custom precedence levels
  • Lazy loading of configuration sources
  • Configuration data organization using namespaces
  • Merge of configuration data from different sources
Clone this wiki locally