Skip to content

Latest commit

 

History

History
34 lines (28 loc) · 1.93 KB

File metadata and controls

34 lines (28 loc) · 1.93 KB

Build Status Coverage Status License

gaffer

"Configuration" means many different things to many different people. There are a myriad of libraries that handle configuration, and many of them mean something different. For instance, basic Properties files provide a somewhat nested key-value pair style configuration, while Apache Commons Configuration basically provides multiple ways to specify hierarchies of properties. On the other hand, if we look at a project like tofigurator, we see a strategy to build up an object graph. We also see similar configuration strategies if we look at the shiro.ini file in Apache Shiro, or the Jetty configuration, or most any of the logging frameworks.

gaffer fulfills this second style of configuration, meant to be used to configure application components that require or allow for complex object graph instantiation. It provides a more flexible, less verbose, and more intuitive syntax than tofigurator. Inspiration (and a good bit of code) has been drawn from logback's groovy configuration mechanism. The general idea with gaffer is to take the ideas in the logback groovy configuration and make a set of utilities generic enough to allow for the same general style of configuration in any library.