Skip to main content

Configuration System Reference

MittenLib's configuration system is designed to be both powerful and developer-friendly. It leverages an annotation processor to eliminate boilerplate while providing a robust, Guice-integrated runtime for managing your plugin's data.

This section provides detailed reference documentation for every aspect of the configuration system.

Reference Guides​

Getting Started​

A high-level overview of the core concepts, the annotation processor's behaviour, and how to integrate generated configs into your application.

Data Types & Collections​

Learn about the range of supported Java types, and how to define complex configuration types.

Naming & Keys​

Customize how your Java method and field names are transformed into configuration file keys using naming patterns (like kebab-case or snake_case) or explicit overrides.

Validation​

Ensure your configuration data is safe and correct before it ever reaches your business logic using built-in constraints like @Min, @NotBlank, or custom validators.

Guice Integration​

Information about the automatic loading, dependency injection, and powerful hot-reloading capabilities provided by ConfigProvider.

Persistence & Saving​

We can serialize too!


Advanced Topics​

For those looking to understand the internals or extend the system further:

  • Core System Internals: Understand the lifecycle of a ConfigProvider and how the caching and file-watching layers work.