Class SpincastConfigPluginConfigDefault
- All Implemented Interfaces:
SpincastConfigPluginConfig
WARNING : Beware of circular dependencies here... In general, this component should not depend on anything else, since pretty much all other components depend on it.
One dependency you can use, is
@MainArgs String[]
(or @MainArgs List<String>
) to get access to
the application arguments.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionThe path to a configuration file to load from the classpath.The allowed prefixes an environment variable can have to be used as a configuration.The path to a configuration file to load from the file system.The allowed prefixes a system property can have to be used as a configuration.boolean
Should the prefix of an environment variable be stripped? For example, if#environmentVariablesPrefixes
indicates that "app." is an environment variable prefix, then "app.admin.email" will result in a "admin.email" key.boolean
If an external configuration file is used and environment variables too, should configurations from the file override those from environment variables?boolean
Should the prefix of an system property be stripped? For example, if#systemPropertiesPrefixes
indicates that "app." is an system property prefix, then "app.admin.email" will result in a "admin.email" key.boolean
Should an exception be thrown if a classpath config file is specified (is notnull
) but is not found.boolean
Should an exception be thrown if an external config file is specified (is notnull
) but is not found.
-
Field Details
-
CONFIG_FILE_NAME_DEFAULT
- See Also:
-
PREFIX_DEFAULT
- See Also:
-
-
Constructor Details
-
SpincastConfigPluginConfigDefault
public SpincastConfigPluginConfigDefault()
-
-
Method Details
-
getClasspathFilePath
Description copied from interface:SpincastConfigPluginConfig
The path to a configuration file to load from the classpath.Defaults to "
app-config.yaml
". This means you can simply create that file in your/src/main/resources/
folder and it will be used.- Specified by:
getClasspathFilePath
in interfaceSpincastConfigPluginConfig
-
getExternalFilePath
Description copied from interface:SpincastConfigPluginConfig
The path to a configuration file to load from the file system.The path can be relative or absolute. Spincast will check this using :
File configFile = new File(thePath); if(configFile.isAbsolute()) {...}
If the path is relative, it is from the executable .jar.
Defaults to "
app-config.yaml
".- Specified by:
getExternalFilePath
in interfaceSpincastConfigPluginConfig
-
getEnvironmentVariablesPrefixes
Description copied from interface:SpincastConfigPluginConfig
The allowed prefixes an environment variable can have to be used as a configuration.Defaults to
"app."
.- Specified by:
getEnvironmentVariablesPrefixes
in interfaceSpincastConfigPluginConfig
- Returns:
- the allowed prefixes or
null
to disable environment variables as a source for configurations.
-
isEnvironmentVariablesStripPrefix
public boolean isEnvironmentVariablesStripPrefix()Description copied from interface:SpincastConfigPluginConfig
Should the prefix of an environment variable be stripped? For example, if#environmentVariablesPrefixes
indicates that "app." is an environment variable prefix, then "app.admin.email" will result in a "admin.email" key.Defaults to
false
.- Specified by:
isEnvironmentVariablesStripPrefix
in interfaceSpincastConfigPluginConfig
-
getSystemPropertiesPrefixes
Description copied from interface:SpincastConfigPluginConfig
The allowed prefixes a system property can have to be used as a configuration.Defaults to
"app."
.- Specified by:
getSystemPropertiesPrefixes
in interfaceSpincastConfigPluginConfig
- Returns:
- the allowed prefixes or
null
to disable system properties as a source for configurations.
-
isSystemPropertiesStripPrefix
public boolean isSystemPropertiesStripPrefix()Description copied from interface:SpincastConfigPluginConfig
Should the prefix of an system property be stripped? For example, if#systemPropertiesPrefixes
indicates that "app." is an system property prefix, then "app.admin.email" will result in a "admin.email" key.Defaults to
false
.- Specified by:
isSystemPropertiesStripPrefix
in interfaceSpincastConfigPluginConfig
-
isExternalFileConfigsOverrideEnvironmentVariables
public boolean isExternalFileConfigsOverrideEnvironmentVariables()Description copied from interface:SpincastConfigPluginConfig
If an external configuration file is used and environment variables too, should configurations from the file override those from environment variables?The default is
false
: environment variables have priority.- Specified by:
isExternalFileConfigsOverrideEnvironmentVariables
in interfaceSpincastConfigPluginConfig
-
isThrowExceptionIfSpecifiedClasspathConfigFileIsNotFound
public boolean isThrowExceptionIfSpecifiedClasspathConfigFileIsNotFound()Description copied from interface:SpincastConfigPluginConfig
Should an exception be thrown if a classpath config file is specified (is notnull
) but is not found.If set to
false
, a message will be logged but no exception will be thrown.Defaults to
false
.- Specified by:
isThrowExceptionIfSpecifiedClasspathConfigFileIsNotFound
in interfaceSpincastConfigPluginConfig
-
isThrowExceptionIfSpecifiedExternalConfigFileIsNotFound
public boolean isThrowExceptionIfSpecifiedExternalConfigFileIsNotFound()Description copied from interface:SpincastConfigPluginConfig
Should an exception be thrown if an external config file is specified (is notnull
) but is not found.If set to
false
, a message will be logged but no exception will be thrown.Defaults to
false
.- Specified by:
isThrowExceptionIfSpecifiedExternalConfigFileIsNotFound
in interfaceSpincastConfigPluginConfig
-