Class Settings.Builder

  • Enclosing class:
    Settings

    public static class Settings.Builder
    extends java.lang.Object
    A builder allowing to put different settings and then build() an immutable settings implementation. Use Settings.builder() in order to construct it.
    • Method Summary

      Modifier and Type Method Description
      Settings build()
      Builds a Settings (underlying uses Settings) based on everything set on this builder.
      Settings.Builder copy​(java.lang.String key, java.lang.String sourceKey, Settings source)  
      Settings.Builder copy​(java.lang.String key, Settings source)  
      java.lang.String get​(java.lang.String key)
      Returns a setting value based on the setting key.
      SecureSettings getSecureSettings()
      Return the current secure settings, or null if none have been set.
      java.util.Set<java.lang.String> keys()  
      Settings.Builder loadFromPath​(java.nio.file.Path path)
      Loads settings from a url that represents them using Settings.fromXContent(XContentParser) Note: Loading from a path doesn't allow null values in the incoming xcontent
      Settings.Builder loadFromSource​(java.lang.String source, XContentType xContentType)
      Loads settings from the actual string content that represents them using Settings.fromXContent(XContentParser)
      Settings.Builder loadFromStream​(java.lang.String resourceName, java.io.InputStream is, boolean acceptNullValues)
      Loads settings from a stream that represents them using Settings.fromXContent(XContentParser)
      Settings.Builder normalizePrefix​(java.lang.String prefix)
      Checks that all settings in the builder start with the specified prefix.
      Settings.Builder put​(java.lang.String setting, boolean value)
      Sets the setting with the provided setting key and the boolean value.
      Settings.Builder put​(java.lang.String setting, double value)
      Sets the setting with the provided setting key and the double value.
      Settings.Builder put​(java.lang.String setting, float value)
      Sets the setting with the provided setting key and the float value.
      Settings.Builder put​(java.lang.String setting, int value)
      Sets the setting with the provided setting key and the int value.
      Settings.Builder put​(java.lang.String setting, long value)
      Sets the setting with the provided setting key and the long value.
      Settings.Builder put​(java.lang.String setting, long value, java.util.concurrent.TimeUnit timeUnit)
      Sets the setting with the provided setting key and the time value.
      Settings.Builder put​(java.lang.String setting, long value, ByteSizeUnit sizeUnit)
      Sets the setting with the provided setting key and the size value.
      Settings.Builder put​(java.lang.String key, java.lang.Enum<?> enumValue)
      Sets an enum setting with the provided setting key and enum instance.
      Settings.Builder put​(java.lang.String key, java.lang.String value)
      Sets a setting with the provided setting key and value.
      Settings.Builder put​(java.lang.String key, java.nio.file.Path path)
      Sets a path setting with the provided setting key and path.
      Settings.Builder put​(java.lang.String key, org.apache.logging.log4j.Level level)
      Sets an level setting with the provided setting key and level instance.
      Settings.Builder put​(java.lang.String key, org.apache.lucene.util.Version luceneVersion)
      Sets an lucene version setting with the provided setting key and lucene version instance.
      Settings.Builder put​(java.lang.String key, ByteSizeValue byteSizeValue)
      Sets a byteSizeValue setting with the provided setting key and byteSizeValue.
      Settings.Builder put​(java.lang.String key, TimeValue timeValue)
      Sets a time value setting with the provided setting key and value.
      Settings.Builder put​(java.lang.String setting, Version version)  
      Settings.Builder put​(Settings settings)
      Sets all the provided settings including secure settings
      Settings.Builder put​(Settings settings, boolean copySecureSettings)
      Sets all the provided settings.
      Settings.Builder putList​(java.lang.String setting, java.lang.String... values)
      Sets the setting with the provided setting key and an array of values.
      Settings.Builder putList​(java.lang.String setting, java.util.List<java.lang.String> values)
      Sets the setting with the provided setting key and a list of values.
      Settings.Builder putNull​(java.lang.String key)
      Sets a null value for the given setting key
      Settings.Builder putProperties​(java.util.Map<java.lang.String,​java.lang.String> esSettings, java.util.function.Function<java.lang.String,​java.lang.String> keyFunction)  
      java.lang.String remove​(java.lang.String key)
      Removes the provided setting from the internal map holding the current list of settings.
      Settings.Builder replacePropertyPlaceholders()
      Runs across all the settings set on this builder and replaces ${...} elements in each setting with another setting already set on this builder.
      Settings.Builder setSecureSettings​(SecureSettings secureSettings)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • EMPTY_SETTINGS

        public static final Settings EMPTY_SETTINGS
    • Method Detail

      • keys

        public java.util.Set<java.lang.String> keys()
      • remove

        public java.lang.String remove​(java.lang.String key)
        Removes the provided setting from the internal map holding the current list of settings.
      • get

        public java.lang.String get​(java.lang.String key)
        Returns a setting value based on the setting key.
      • getSecureSettings

        public SecureSettings getSecureSettings()
        Return the current secure settings, or null if none have been set.
      • put

        public Settings.Builder put​(java.lang.String key,
                                    java.nio.file.Path path)
        Sets a path setting with the provided setting key and path.
        Parameters:
        key - The setting key
        path - The setting path
        Returns:
        The builder
      • put

        public Settings.Builder put​(java.lang.String key,
                                    TimeValue timeValue)
        Sets a time value setting with the provided setting key and value.
        Parameters:
        key - The setting key
        timeValue - The setting timeValue
        Returns:
        The builder
      • put

        public Settings.Builder put​(java.lang.String key,
                                    ByteSizeValue byteSizeValue)
        Sets a byteSizeValue setting with the provided setting key and byteSizeValue.
        Parameters:
        key - The setting key
        byteSizeValue - The setting value
        Returns:
        The builder
      • put

        public Settings.Builder put​(java.lang.String key,
                                    java.lang.Enum<?> enumValue)
        Sets an enum setting with the provided setting key and enum instance.
        Parameters:
        key - The setting key
        enumValue - The setting value
        Returns:
        The builder
      • put

        public Settings.Builder put​(java.lang.String key,
                                    org.apache.logging.log4j.Level level)
        Sets an level setting with the provided setting key and level instance.
        Parameters:
        key - The setting key
        level - The setting value
        Returns:
        The builder
      • put

        public Settings.Builder put​(java.lang.String key,
                                    org.apache.lucene.util.Version luceneVersion)
        Sets an lucene version setting with the provided setting key and lucene version instance.
        Parameters:
        key - The setting key
        luceneVersion - The setting value
        Returns:
        The builder
      • put

        public Settings.Builder put​(java.lang.String key,
                                    java.lang.String value)
        Sets a setting with the provided setting key and value.
        Parameters:
        key - The setting key
        value - The setting value
        Returns:
        The builder
      • putNull

        public Settings.Builder putNull​(java.lang.String key)
        Sets a null value for the given setting key
      • put

        public Settings.Builder put​(java.lang.String setting,
                                    boolean value)
        Sets the setting with the provided setting key and the boolean value.
        Parameters:
        setting - The setting key
        value - The boolean value
        Returns:
        The builder
      • put

        public Settings.Builder put​(java.lang.String setting,
                                    int value)
        Sets the setting with the provided setting key and the int value.
        Parameters:
        setting - The setting key
        value - The int value
        Returns:
        The builder
      • put

        public Settings.Builder put​(java.lang.String setting,
                                    long value)
        Sets the setting with the provided setting key and the long value.
        Parameters:
        setting - The setting key
        value - The long value
        Returns:
        The builder
      • put

        public Settings.Builder put​(java.lang.String setting,
                                    float value)
        Sets the setting with the provided setting key and the float value.
        Parameters:
        setting - The setting key
        value - The float value
        Returns:
        The builder
      • put

        public Settings.Builder put​(java.lang.String setting,
                                    double value)
        Sets the setting with the provided setting key and the double value.
        Parameters:
        setting - The setting key
        value - The double value
        Returns:
        The builder
      • put

        public Settings.Builder put​(java.lang.String setting,
                                    long value,
                                    java.util.concurrent.TimeUnit timeUnit)
        Sets the setting with the provided setting key and the time value.
        Parameters:
        setting - The setting key
        value - The time value
        Returns:
        The builder
      • put

        public Settings.Builder put​(java.lang.String setting,
                                    long value,
                                    ByteSizeUnit sizeUnit)
        Sets the setting with the provided setting key and the size value.
        Parameters:
        setting - The setting key
        value - The size value
        Returns:
        The builder
      • putList

        public Settings.Builder putList​(java.lang.String setting,
                                        java.lang.String... values)
        Sets the setting with the provided setting key and an array of values.
        Parameters:
        setting - The setting key
        values - The values
        Returns:
        The builder
      • putList

        public Settings.Builder putList​(java.lang.String setting,
                                        java.util.List<java.lang.String> values)
        Sets the setting with the provided setting key and a list of values.
        Parameters:
        setting - The setting key
        values - The values
        Returns:
        The builder
      • put

        public Settings.Builder put​(Settings settings,
                                    boolean copySecureSettings)
        Sets all the provided settings.
        Parameters:
        settings - the settings to set
        copySecureSettings - if true all settings including secure settings are copied.
      • loadFromPath

        public Settings.Builder loadFromPath​(java.nio.file.Path path)
                                      throws java.io.IOException
        Loads settings from a url that represents them using Settings.fromXContent(XContentParser) Note: Loading from a path doesn't allow null values in the incoming xcontent
        Throws:
        java.io.IOException
      • loadFromStream

        public Settings.Builder loadFromStream​(java.lang.String resourceName,
                                               java.io.InputStream is,
                                               boolean acceptNullValues)
                                        throws java.io.IOException
        Loads settings from a stream that represents them using Settings.fromXContent(XContentParser)
        Throws:
        java.io.IOException
      • putProperties

        public Settings.Builder putProperties​(java.util.Map<java.lang.String,​java.lang.String> esSettings,
                                              java.util.function.Function<java.lang.String,​java.lang.String> keyFunction)
      • replacePropertyPlaceholders

        public Settings.Builder replacePropertyPlaceholders()
        Runs across all the settings set on this builder and replaces ${...} elements in each setting with another setting already set on this builder.
      • normalizePrefix

        public Settings.Builder normalizePrefix​(java.lang.String prefix)
        Checks that all settings in the builder start with the specified prefix. If a setting doesn't start with the prefix, the builder appends the prefix to such setting.