Module dev.metaschema.core
Package dev.metaschema.core.configuration
package dev.metaschema.core.configuration
Provides a type-safe configuration framework for processors and parsers.
This package implements a feature-based configuration system inspired by Jackson's configuration model. Configuration options are defined as strongly-typed features that can be queried and modified through immutable or mutable configuration interfaces.
Key interfaces and classes:
IConfigurationFeature- Defines a configuration option with a name, type, and default valueIConfiguration- Immutable view of configuration state for querying feature valuesIMutableConfiguration- Mutable view allowing feature values to be modifiedDefaultConfiguration- Standard implementation of mutable configurationAbstractConfigurationFeature- Base class for implementing configuration features
Usage example:
// Define a feature IConfigurationFeature<Boolean> PRETTY_PRINT = ...; // Create and configure IMutableConfiguration<MyFeature> config = new DefaultConfiguration<>(); config.enableFeature(PRETTY_PRINT); // Query configuration boolean enabled = config.isFeatureEnabled(PRETTY_PRINT);
- See Also:
-
ClassDescriptionProvides a complete, abstract implementation of a generalized feature.DefaultConfiguration<T extends IConfigurationFeature<?>>Provides a basic configuration management implementation that allows mutable access to configuration state.IConfiguration<T extends IConfigurationFeature<?>>The base interface for getting the configuration of processors and parsers in this library.The common interface that all configuration features must implement.IMutableConfiguration<T extends IConfigurationFeature<?>>This interface provides methods for retrieving and updating the configuration of processors and parsers in this library.