- java.lang.Object
-
- org.github.gestalt.config.source.StringConfigSource
-
- All Implemented Interfaces:
ConfigSource
public final class StringConfigSource extends java.lang.Object implements ConfigSource
Load a config source from a String. The string must be in the format provided, so if a property file it would be db.port = 1234 db.password = password dp.user = notrootIf the format is json the string would be { db { "port" = 1234 "password" = "password" "user" = "notroot" }. }
A format for the data in the string must also be provided.
-
-
Constructor Summary
Constructors Constructor Description StringConfigSource(java.lang.String config, java.lang.String format)Create a Configuration from a provided string.StringConfigSource(java.lang.String config, java.lang.String format, Tags tags)Create a Configuration from a provided string.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object o)java.lang.Stringformat()The format of the config source, for example this can be envVars, the extension of a file (properties, json, ect).TagsgetTags()A source can have a set of tags that apply to all nodes in the source.inthashCode()booleanhasList()If this config source provides a list of config values.booleanhasStream()If this config source has a stream to load from.java.util.UUIDid()Id that represents this source as unique.java.util.List<Pair<java.lang.String,java.lang.String>>loadList()provides a list of config values.java.io.InputStreamloadStream()If this config source has a stream, this will return the stream of data.java.lang.Stringname()human-readable name for logging.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.github.gestalt.config.source.ConfigSource
failOnErrors
-
-
-
-
Constructor Detail
-
StringConfigSource
public StringConfigSource(java.lang.String config, java.lang.String format) throws GestaltExceptionCreate a Configuration from a provided string. Must alos provide the format.- Parameters:
config- config as a string.format- format for the string.- Throws:
GestaltException- any exception
-
StringConfigSource
public StringConfigSource(java.lang.String config, java.lang.String format, Tags tags) throws GestaltExceptionCreate a Configuration from a provided string. Must alos provide the format.- Parameters:
config- config as a string.format- format for the string.tags- tags associated with this source- Throws:
GestaltException- any exception
-
-
Method Detail
-
hasStream
public boolean hasStream()
Description copied from interface:ConfigSourceIf this config source has a stream to load from.- Specified by:
hasStreamin interfaceConfigSource- Returns:
- if this config source has a stream to load from
-
loadStream
public java.io.InputStream loadStream()
Description copied from interface:ConfigSourceIf this config source has a stream, this will return the stream of data. Or if not supported it will throw an exception.- Specified by:
loadStreamin interfaceConfigSource- Returns:
- input stream of data
-
hasList
public boolean hasList()
Description copied from interface:ConfigSourceIf this config source provides a list of config values.- Specified by:
hasListin interfaceConfigSource- Returns:
- if this config source provides a list of config values
-
loadList
public java.util.List<Pair<java.lang.String,java.lang.String>> loadList() throws GestaltException
Description copied from interface:ConfigSourceprovides a list of config values.- Specified by:
loadListin interfaceConfigSource- Returns:
- provides a list of config values
- Throws:
GestaltException- if there are any IO or if this is an unsupported operation
-
format
public java.lang.String format()
Description copied from interface:ConfigSourceThe format of the config source, for example this can be envVars, the extension of a file (properties, json, ect).- Specified by:
formatin interfaceConfigSource- Returns:
- The format of the config source
-
name
public java.lang.String name()
Description copied from interface:ConfigSourcehuman-readable name for logging.- Specified by:
namein interfaceConfigSource- Returns:
- human-readable name for logging.
-
id
public java.util.UUID id()
Description copied from interface:ConfigSourceId that represents this source as unique.- Specified by:
idin interfaceConfigSource- Returns:
- id
-
getTags
public Tags getTags()
Description copied from interface:ConfigSourceA source can have a set of tags that apply to all nodes in the source.- Specified by:
getTagsin interfaceConfigSource- Returns:
- tags assigned to the source
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-