Package io.confound
Class Confound
- java.lang.Object
-
- io.confound.Confound
-
public class Confound extends java.lang.Object
The Configuration Foundation (Confound) library provides a lightweight yet powerful model for accessing various types of application configuration facilities viaCsar
.More complex configurations may be set up using
setDefaultConfigurationConcern(ConfigurationConcern)
with the concern of choice, as in the following example:Confound.setDefaultConfigurationConcern(new MyConfigurationConcern());
- Author:
- Garret Wilson
- See Also:
Csar
-
-
Constructor Summary
Constructors Constructor Description Confound()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static io.confound.config.Configuration
getConfiguration()
Retrieves the configured configuration.static ConfigurationConcern
getConfigurationConcern()
Returns the configured configuration concern.static java.util.Optional<ConfigurationConcern>
getDefaultConfigurationConcern()
Returns the default configuration concern.static io.confound.config.Configuration
getEnvironmentConfiguration()
Retrieves a configuration based on environment variables.static io.confound.config.Configuration
getEnvironmentConfiguration(io.confound.config.Configuration fallbackfiguration)
Retrieves a configuration based on environment variables, with an optional fallback parent configuration.static io.confound.config.Configuration
getSystemConfiguration()
Retrieves a configuration for the system, representing system properties that fall back to environment variables.static io.confound.config.Configuration
getSystemConfiguration(io.confound.config.Configuration fallbackConfiguration)
Retrieves a configuration for the system, representing system properties that fall back to environment variables, with an optional fallback parent configuration.static io.confound.config.Configuration
getSystemPropertiesConfiguration()
Retrieves a configuration based on the system properties.static void
setDefaultConfiguration(io.confound.config.Configuration configuration)
Sets a configuration as the default by installing it in a default configuration concern.static java.util.Optional<ConfigurationConcern>
setDefaultConfigurationConcern(ConfigurationConcern configurationConcern)
Sets the default configuration concern.
-
-
-
Method Detail
-
getSystemPropertiesConfiguration
public static io.confound.config.Configuration getSystemPropertiesConfiguration()
Retrieves a configuration based on the system properties.- Returns:
- Configuration based on system properties.
- Throws:
java.lang.SecurityException
- If a security manager exists and it doesn't allow access to the system properties.- See Also:
System.getProperties()
-
getEnvironmentConfiguration
public static io.confound.config.Configuration getEnvironmentConfiguration()
Retrieves a configuration based on environment variables.- Returns:
- Configuration based on environment variables.
- Throws:
java.lang.SecurityException
- If a security manager exists and it doesn't allow access to environment variables.- See Also:
System.getenv()
-
getEnvironmentConfiguration
public static io.confound.config.Configuration getEnvironmentConfiguration(@Nullable io.confound.config.Configuration fallbackfiguration)
Retrieves a configuration based on environment variables, with an optional fallback parent configuration.- Parameters:
fallbackfiguration
- The parent configuration to use for fallback lookup, ornull
if there is no parent configuration.- Returns:
- Configuration based on environment variables.
- Throws:
java.lang.SecurityException
- If a security manager exists and it doesn't allow access to environment variables.- See Also:
System.getenv()
-
getSystemConfiguration
public static io.confound.config.Configuration getSystemConfiguration()
Retrieves a configuration for the system, representing system properties that fall back to environment variables. That is the returned configuration recognizes both environment variables and system properties, with system properties taking precedent. Keys are normalized to match environment variable conventions, so that a request forfoo.bar
will match a system property namedfoo.bar
or, if none exists, an environment variable namedFOO_BAR
.- Returns:
- A configuration for system properties and environment variables.
- See Also:
System.getProperties()
,System.getenv()
-
getSystemConfiguration
public static io.confound.config.Configuration getSystemConfiguration(@Nullable io.confound.config.Configuration fallbackConfiguration)
Retrieves a configuration for the system, representing system properties that fall back to environment variables, with an optional fallback parent configuration. That is the returned configuration recognizes both environment variables and system properties, with system properties taking precedent. Keys are normalized to match environment variable conventions, so that a request forfoo.bar
will match a system property namedfoo.bar
or, if none exists, an environment variable namedFOO_BAR
.- Parameters:
fallbackConfiguration
- The parent configuration to use for fallback lookup, ornull
if there is no parent configuration.- Returns:
- A configuration for system properties and environment variables.
- See Also:
System.getProperties()
,System.getenv()
-
getDefaultConfigurationConcern
public static java.util.Optional<ConfigurationConcern> getDefaultConfigurationConcern()
Returns the default configuration concern.- Returns:
- The default configuration concern.
- See Also:
Csar.findDefaultConcern(Class)
-
setDefaultConfigurationConcern
public static java.util.Optional<ConfigurationConcern> setDefaultConfigurationConcern(@Nonnull ConfigurationConcern configurationConcern)
Sets the default configuration concern.- Parameters:
configurationConcern
- The default configuration concern to set.- Returns:
- The previous concern, or
null
if there was no previous concern. - Throws:
java.lang.NullPointerException
- if the given concern isnull
.- See Also:
Csar.registerDefaultConcern(Class, Concern)
-
setDefaultConfiguration
public static void setDefaultConfiguration(@Nonnull io.confound.config.Configuration configuration)
Sets a configuration as the default by installing it in a default configuration concern.- Parameters:
configuration
- The default configuration to set.- Throws:
java.lang.NullPointerException
- if the given configuration isnull
.- See Also:
DefaultConfigurationConcern
,setDefaultConfigurationConcern(ConfigurationConcern)
-
getConfigurationConcern
@Nonnull public static ConfigurationConcern getConfigurationConcern()
Returns the configured configuration concern.If no configuration concern is configured, and no default configuration concern is registered, a configuration concern will be returned that provides access to the system properties with fallback to environment variables.
- Returns:
- The configured configuration concern.
- See Also:
Csar.getConcern(Class)
,getSystemConfiguration()
-
getConfiguration
@Nonnull public static io.confound.config.Configuration getConfiguration() throws io.confound.config.ConfigurationException
Retrieves the configured configuration.This is a convenience method that requests the configuration from the current configuration concern.
- Returns:
- Access to configured configuration.
- Throws:
io.confound.config.ConfigurationException
- if there is a configuration error.- See Also:
getConfigurationConcern()
,ConfigurationConcern.getConfiguration()
-
-