Package dev.agenor.runtime.config
Class DefaultConfigurationLoader
java.lang.Object
dev.agenor.runtime.config.DefaultConfigurationLoader
- All Implemented Interfaces:
ConfigurationLoader
Default implementation of
ConfigurationLoader.
Loads Agenor configuration from YAML, JSON, or classpath resources.
Supports environment variable substitution via ${VAR_NAME} and ${VAR_NAME:default} syntax.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionLoads configuration using the default lookup strategy:agenor.ymlin the working directoryagenor.ymlon the classpath Built-in defaults viaAgenorConfiguration.defaults()loadFromClasspath(String resourcePath) Loads configuration from a classpath resource.loadFromFile(String path) Loads configuration from a file on the filesystem.loadFromStream(InputStream inputStream, String format) Loads configuration from anInputStream.voidvalidate(AgenorConfiguration config) Validates the given configuration, checking for required fields and well-formed values.
-
Constructor Details
-
DefaultConfigurationLoader
public DefaultConfigurationLoader()
-
-
Method Details
-
loadFromFile
Description copied from interface:ConfigurationLoaderLoads configuration from a file on the filesystem. Supports YAML (.yml,.yaml) and JSON (.json) formats. Environment variable substitution (${VAR}and${VAR:default}) is applied.- Specified by:
loadFromFilein interfaceConfigurationLoader- Parameters:
path- absolute or relative path to the configuration file, not null or empty- Returns:
- the loaded configuration
-
loadFromClasspath
Description copied from interface:ConfigurationLoaderLoads configuration from a classpath resource. Supports YAML (.yml,.yaml) and JSON (.json) formats. Environment variable substitution (${VAR}and${VAR:default}) is applied.- Specified by:
loadFromClasspathin interfaceConfigurationLoader- Parameters:
resourcePath- classpath-relative path to the resource, not null or empty- Returns:
- the loaded configuration
-
loadFromStream
Description copied from interface:ConfigurationLoaderLoads configuration from anInputStream. Environment variable substitution (${VAR}and${VAR:default}) is applied.- Specified by:
loadFromStreamin interfaceConfigurationLoader- Parameters:
inputStream- the stream to read from, not nullformat- the format hint:"json"for JSON, anything else defaults to YAML- Returns:
- the loaded configuration
-
loadDefault
Description copied from interface:ConfigurationLoaderLoads configuration using the default lookup strategy:agenor.ymlin the working directoryagenor.ymlon the classpath- Built-in defaults via
AgenorConfiguration.defaults()
- Specified by:
loadDefaultin interfaceConfigurationLoader- Returns:
- the loaded configuration, never null
-
validate
Description copied from interface:ConfigurationLoaderValidates the given configuration, checking for required fields and well-formed values. Logs warnings for non-critical issues (e.g. unknown environment name, missing scan packages).- Specified by:
validatein interfaceConfigurationLoader- Parameters:
config- the configuration to validate, not null
-