Package org.sonar.api.config.internal
Class Settings
- java.lang.Object
-
- org.sonar.api.config.Settings
-
- org.sonar.api.config.internal.Settings
-
- Direct Known Subclasses:
MapSettings
public abstract class Settings extends org.sonar.api.config.SettingsImplementation of the deprecated Settings interface
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedSettings(org.sonar.api.config.PropertyDefinitions definitions, Encryption encryption)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description SettingsaddProperties(java.util.Map<java.lang.String,java.lang.String> props)SettingsaddProperties(java.util.Properties props)SettingsappendProperty(java.lang.String key, java.lang.String value)protected abstract java.util.Optional<java.lang.String>get(java.lang.String key)booleangetBoolean(java.lang.String key)Effective value as boolean.java.util.DategetDate(java.lang.String key)Effective value asDate, without time fields.java.util.DategetDateTime(java.lang.String key)Effective value asDate, with time fields.java.lang.StringgetDefaultValue(java.lang.String key)java.util.Optional<org.sonar.api.config.PropertyDefinition>getDefinition(java.lang.String key)The definition related to the specified property.org.sonar.api.config.PropertyDefinitionsgetDefinitions()All the property definitions declared by core and plugins.java.lang.DoublegetDouble(java.lang.String key)Effective value asDouble.EncryptiongetEncryption()java.lang.FloatgetFloat(java.lang.String key)Effective value asFloat.intgetInt(java.lang.String key)Effective value asint.java.util.List<java.lang.String>getKeysStartingWith(java.lang.String prefix)longgetLong(java.lang.String key)Effective value aslong.abstract java.util.Map<java.lang.String,java.lang.String>getProperties()Immutable map of the properties that have non-default values.java.util.Optional<java.lang.String>getRawString(java.lang.String key)The value that overrides the default value.java.lang.StringgetString(java.lang.String key)The effective value of the specified property.java.lang.String[]getStringArray(java.lang.String key)Value is split by comma and trimmed.java.lang.String[]getStringArrayBySeparator(java.lang.String key, java.lang.String separator)Value is split and trimmed.java.lang.String[]getStringLines(java.lang.String key)Value is split by carriage returns.booleanhasDefaultValue(java.lang.String key)booleanhasKey(java.lang.String key)protected abstract voidremove(java.lang.String key)SettingsremoveProperty(java.lang.String key)protected abstract voidset(java.lang.String key, java.lang.String value)Add the settings with the specified key and value, both are trimmed and neither can be null.SettingssetProperty(java.lang.String key, java.lang.Boolean value)SettingssetProperty(java.lang.String key, java.lang.Double value)SettingssetProperty(java.lang.String key, java.lang.Float value)SettingssetProperty(java.lang.String key, java.lang.Integer value)SettingssetProperty(java.lang.String key, java.lang.Long value)SettingssetProperty(java.lang.String key, java.lang.String value)Change a property value in a restricted scope only, depending on execution context.SettingssetProperty(java.lang.String key, java.lang.String[] values)SettingssetProperty(java.lang.String key, java.util.Date date)SettingssetProperty(java.lang.String key, java.util.Date date, boolean includeTime)
-
-
-
Constructor Detail
-
Settings
protected Settings(org.sonar.api.config.PropertyDefinitions definitions, Encryption encryption)
-
-
Method Detail
-
get
protected abstract java.util.Optional<java.lang.String> get(java.lang.String key)
-
set
protected abstract void set(java.lang.String key, java.lang.String value)Add the settings with the specified key and value, both are trimmed and neither can be null.- Throws:
java.lang.NullPointerException- ifkeyand/orvalueisnull.
-
remove
protected abstract void remove(java.lang.String key)
-
getProperties
public abstract java.util.Map<java.lang.String,java.lang.String> getProperties()
Immutable map of the properties that have non-default values. The default values defined byPropertyDefinitionsare ignored, so the returned values are not the effective values. Basically only the non-empty results ofgetRawString(String)are returned.Values are not decrypted if they are encrypted with a secret key.
-
getEncryption
public Encryption getEncryption()
-
getRawString
public java.util.Optional<java.lang.String> getRawString(java.lang.String key)
The value that overrides the default value. It may be encrypted with a secret key. UsegetString(String)to get the effective and decrypted value.- Since:
- 6.1
-
getDefinitions
public org.sonar.api.config.PropertyDefinitions getDefinitions()
All the property definitions declared by core and plugins.
-
getDefinition
public java.util.Optional<org.sonar.api.config.PropertyDefinition> getDefinition(java.lang.String key)
The definition related to the specified property. It may be empty.- Since:
- 6.1
-
hasKey
public boolean hasKey(java.lang.String key)
- Specified by:
hasKeyin classorg.sonar.api.config.Settings- Returns:
trueif the property has a non-default value, elsefalse.
-
getDefaultValue
@CheckForNull public java.lang.String getDefaultValue(java.lang.String key)
-
hasDefaultValue
public boolean hasDefaultValue(java.lang.String key)
-
getString
@CheckForNull public java.lang.String getString(java.lang.String key)
The effective value of the specified property. Can returnnullif the property is not set and has no defined default value.If the property is encrypted with a secret key, then the returned value is decrypted.
- Specified by:
getStringin classorg.sonar.api.config.Settings- Throws:
java.lang.IllegalStateException- if value is encrypted but fails to be decrypted.
-
getBoolean
public boolean getBoolean(java.lang.String key)
Effective value as boolean. It isfalseifgetString(String)does not return"true", even if it's not a boolean representation.- Specified by:
getBooleanin classorg.sonar.api.config.Settings- Returns:
trueif the effective value is"true", elsefalse.
-
getInt
public int getInt(java.lang.String key)
Effective value asint.- Specified by:
getIntin classorg.sonar.api.config.Settings- Returns:
- the value as
int. If the property does not have value nor default value, then0is returned. - Throws:
java.lang.NumberFormatException- if value is not empty and is not a parsable integer
-
getLong
public long getLong(java.lang.String key)
Effective value aslong.- Specified by:
getLongin classorg.sonar.api.config.Settings- Returns:
- the value as
long. If the property does not have value nor default value, then0Lis returned. - Throws:
java.lang.NumberFormatException- if value is not empty and is not a parsablelong
-
getDate
@CheckForNull public java.util.Date getDate(java.lang.String key)
Effective value asDate, without time fields. Format isDateUtils.DATE_FORMAT.- Specified by:
getDatein classorg.sonar.api.config.Settings- Returns:
- the value as a
Date. If the property does not have value nor default value, thennullis returned. - Throws:
java.lang.RuntimeException- if value is not empty and is not in accordance withDateUtils.DATE_FORMAT.
-
getDateTime
@CheckForNull public java.util.Date getDateTime(java.lang.String key)
Effective value asDate, with time fields. Format isDateUtils.DATETIME_FORMAT.- Specified by:
getDateTimein classorg.sonar.api.config.Settings- Returns:
- the value as a
Date. If the property does not have value nor default value, thennullis returned. - Throws:
java.lang.RuntimeException- if value is not empty and is not in accordance withDateUtils.DATETIME_FORMAT.
-
getFloat
@CheckForNull public java.lang.Float getFloat(java.lang.String key)
Effective value asFloat.- Specified by:
getFloatin classorg.sonar.api.config.Settings- Returns:
- the value as
Float. If the property does not have value nor default value, thennullis returned. - Throws:
java.lang.NumberFormatException- if value is not empty and is not a parsable number
-
getDouble
@CheckForNull public java.lang.Double getDouble(java.lang.String key)
Effective value asDouble.- Specified by:
getDoublein classorg.sonar.api.config.Settings- Returns:
- the value as
Double. If the property does not have value nor default value, thennullis returned. - Throws:
java.lang.NumberFormatException- if value is not empty and is not a parsable number
-
getStringArray
public java.lang.String[] getStringArray(java.lang.String key)
Value is split by comma and trimmed. Never returns null.
Examples :- "one,two,three " -> ["one", "two", "three"]
- " one, two, three " -> ["one", "two", "three"]
- "one, , three" -> ["one", "", "three"]
- Specified by:
getStringArrayin classorg.sonar.api.config.Settings
-
getStringLines
public java.lang.String[] getStringLines(java.lang.String key)
Value is split by carriage returns.- Specified by:
getStringLinesin classorg.sonar.api.config.Settings- Returns:
- non-null array of lines. The line termination characters are excluded.
- Since:
- 3.2
-
getStringArrayBySeparator
public java.lang.String[] getStringArrayBySeparator(java.lang.String key, java.lang.String separator)Value is split and trimmed.- Specified by:
getStringArrayBySeparatorin classorg.sonar.api.config.Settings
-
appendProperty
public Settings appendProperty(java.lang.String key, @Nullable java.lang.String value)
-
setProperty
public Settings setProperty(java.lang.String key, @Nullable java.lang.String[] values)
-
setProperty
public Settings setProperty(java.lang.String key, @Nullable java.lang.String value)
Change a property value in a restricted scope only, depending on execution context. New value is never persisted. New value is ephemeral and kept in memory only:- during current analysis in the case of scanner stack
- during processing of current HTTP request in the case of web server stack
- during execution of current task in the case of Compute Engine stack
valueisnull
-
setProperty
public Settings setProperty(java.lang.String key, @Nullable java.lang.Boolean value)
- See Also:
setProperty(String, String)
-
setProperty
public Settings setProperty(java.lang.String key, @Nullable java.lang.Integer value)
- See Also:
setProperty(String, String)
-
setProperty
public Settings setProperty(java.lang.String key, @Nullable java.lang.Long value)
- See Also:
setProperty(String, String)
-
setProperty
public Settings setProperty(java.lang.String key, @Nullable java.lang.Double value)
- See Also:
setProperty(String, String)
-
setProperty
public Settings setProperty(java.lang.String key, @Nullable java.lang.Float value)
- See Also:
setProperty(String, String)
-
setProperty
public Settings setProperty(java.lang.String key, @Nullable java.util.Date date)
- See Also:
setProperty(String, String)
-
addProperties
public Settings addProperties(java.util.Map<java.lang.String,java.lang.String> props)
-
addProperties
public Settings addProperties(java.util.Properties props)
-
setProperty
public Settings setProperty(java.lang.String key, @Nullable java.util.Date date, boolean includeTime)
- See Also:
setProperty(String, String)
-
removeProperty
public Settings removeProperty(java.lang.String key)
-
getKeysStartingWith
public java.util.List<java.lang.String> getKeysStartingWith(java.lang.String prefix)
- Specified by:
getKeysStartingWithin classorg.sonar.api.config.Settings
-
-