Interface ExecutableConfigurationUpdate<A extends ConfigurationUpdate<A,B>,B extends ExecutableConfigurationUpdate<A,B>>

Type Parameters:
A - the update type
B - the executable update type
All Known Implementing Classes:
RedisConfigurationSource.RedisExecutableConfigurationUpdate, VersionedRedisConfigurationSource.VersionedRedisExecutableConfigurationUpdate

public interface ExecutableConfigurationUpdate<A extends ConfigurationUpdate<A,B>,B extends ExecutableConfigurationUpdate<A,B>>

An executable configuration update can be executed to set configuration properties for a particular context in a configuration source.

Multiple configuration updates can be chained by calling the and() method to be executed in a batch when the execute() method is invoked on the last query.

Since:
1.0
Author:
Jeremy Kuhn
See Also:
  • Method Details

    • withParameters

      default B withParameters(String k1, Object v1)

      Defines one parameter that specifies the context in which configuration properties are to be retrieved.

      Parameters:
      k1 - the parameter name
      v1 - the parameter value
      Returns:
      the executable configuration update
    • withParameters

      default B withParameters(String k1, Object v1, String k2, Object v2) throws IllegalArgumentException

      Defines two parameters that specify the context in which configuration properties are to be retrieved.

      Parameters:
      k1 - the first parameter name
      v1 - the first parameter value
      k2 - the second parameter name
      v2 - the second parameter value
      Returns:
      the executable configuration update
      Throws:
      IllegalArgumentException - if parameters were specified more than once
    • withParameters

      default B withParameters(String k1, Object v1, String k2, Object v2, String k3, Object v3) throws IllegalArgumentException

      Defines three parameters that specify the context in which configuration properties are to be retrieved.

      Parameters:
      k1 - the first parameter name
      v1 - the first parameter value
      k2 - the second parameter name
      v2 - the second parameter value
      k3 - the third parameter name
      v3 - the third parameter value
      Returns:
      the executable configuration update
      Throws:
      IllegalArgumentException - if parameters were specified more than once
    • withParameters

      default B withParameters(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4) throws IllegalArgumentException

      Defines four parameters that specify the context in which configuration properties are to be retrieved.

      Parameters:
      k1 - the first parameter name
      v1 - the first parameter value
      k2 - the second parameter name
      v2 - the second parameter value
      k3 - the third parameter name
      v3 - the third parameter value
      k4 - the fourth parameter name
      v4 - the fourth parameter value
      Returns:
      the executable configuration update
      Throws:
      IllegalArgumentException - if parameters were specified more than once
    • withParameters

      default B withParameters(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5) throws IllegalArgumentException

      Defines five parameters that specify the context in which configuration properties are to be retrieved.

      Parameters:
      k1 - the first parameter name
      v1 - the first parameter value
      k2 - the second parameter name
      v2 - the second parameter value
      k3 - the third parameter name
      v3 - the third parameter value
      k4 - the fourth parameter name
      v4 - the fourth parameter value
      k5 - the fifth parameter name
      v5 - the fifth parameter value
      Returns:
      the executable configuration update
      Throws:
      IllegalArgumentException - if parameters were specified more than once
    • withParameters

      default B withParameters(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5, String k6, Object v6) throws IllegalArgumentException

      Defines six parameters that specify the context in which configuration properties are to be retrieved.

      Parameters:
      k1 - the first parameter name
      v1 - the first parameter value
      k2 - the second parameter name
      v2 - the second parameter value
      k3 - the third parameter name
      v3 - the third parameter value
      k4 - the fourth parameter name
      v4 - the fourth parameter value
      k5 - the fifth parameter name
      v5 - the fifth parameter value
      k6 - the sixth parameter name
      v6 - the sixth parameter value
      Returns:
      the executable configuration update
      Throws:
      IllegalArgumentException - if parameters were specified more than once
    • withParameters

      default B withParameters(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5, String k6, Object v6, String k7, Object v7) throws IllegalArgumentException

      Defines seven parameters that specify the context in which configuration properties are to be retrieved.

      Parameters:
      k1 - the first parameter name
      v1 - the first parameter value
      k2 - the second parameter name
      v2 - the second parameter value
      k3 - the third parameter name
      v3 - the third parameter value
      k4 - the fourth parameter name
      v4 - the fourth parameter value
      k5 - the fifth parameter name
      v5 - the fifth parameter value
      k6 - the sixth parameter name
      v6 - the sixth parameter value
      k7 - the seventh parameter name
      v7 - the seventh parameter value
      Returns:
      the executable configuration update
      Throws:
      IllegalArgumentException - if parameters were specified more than once
    • withParameters

      default B withParameters(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5, String k6, Object v6, String k7, Object v7, String k8, Object v8) throws IllegalArgumentException

      Defines eigth parameters that specify the context in which configuration properties are to be retrieved.

      Parameters:
      k1 - the first parameter name
      v1 - the first parameter value
      k2 - the second parameter name
      v2 - the second parameter value
      k3 - the third parameter name
      v3 - the third parameter value
      k4 - the fourth parameter name
      v4 - the fourth parameter value
      k5 - the fifth parameter name
      v5 - the fifth parameter value
      k6 - the sixth parameter name
      v6 - the sixth parameter value
      k7 - the seventh parameter name
      v7 - the seventh parameter value
      k8 - the eighth parameter name
      v8 - the eighth parameter value
      Returns:
      the executable configuration update
      Throws:
      IllegalArgumentException - if parameters were specified more than once
    • withParameters

      default B withParameters(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5, String k6, Object v6, String k7, Object v7, String k8, Object v8, String k9, Object v9) throws IllegalArgumentException

      Defines nine parameters that specify the context in which configuration properties are to be retrieved.

      Parameters:
      k1 - the first parameter name
      v1 - the first parameter value
      k2 - the second parameter name
      v2 - the second parameter value
      k3 - the third parameter name
      v3 - the third parameter value
      k4 - the fourth parameter name
      v4 - the fourth parameter value
      k5 - the fifth parameter name
      v5 - the fifth parameter value
      k6 - the sixth parameter name
      v6 - the sixth parameter value
      k7 - the seventh parameter name
      v7 - the seventh parameter value
      k8 - the eighth parameter name
      v8 - the eighth parameter value
      k9 - the ninth parameter name
      v9 - the ninth parameter value
      Returns:
      the executable configuration update
      Throws:
      IllegalArgumentException - if parameters were specified more than once
    • withParameters

      default B withParameters(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5, String k6, Object v6, String k7, Object v7, String k8, Object v8, String k9, Object v9, String k10, Object v10) throws IllegalArgumentException

      Defines ten parameters that specify the context in which configuration properties are to be retrieved.

      Parameters:
      k1 - the first parameter name
      v1 - the first parameter value
      k2 - the second parameter name
      v2 - the second parameter value
      k3 - the third parameter name
      v3 - the third parameter value
      k4 - the fourth parameter name
      v4 - the fourth parameter value
      k5 - the fifth parameter name
      v5 - the fifth parameter value
      k6 - the sixth parameter name
      v6 - the sixth parameter value
      k7 - the seventh parameter name
      v7 - the seventh parameter value
      k8 - the eighth parameter name
      v8 - the eighth parameter value
      k9 - the ninth parameter name
      v9 - the ninth parameter value
      k10 - the tenth parameter name
      v10 - the tenth parameter value
      Returns:
      the executable configuration update
      Throws:
      IllegalArgumentException - if parameters were specified more than once
    • withParameters

      default B withParameters(ConfigurationKey.Parameter... parameters) throws IllegalArgumentException

      Defines parameters that specify the context in which configuration properties are to be retrieved.

      Parameters:
      parameters - an array of parameters
      Returns:
      the executable configuration update
      Throws:
      IllegalArgumentException - if parameters were specified more than once
    • withParameters

      B withParameters(List<ConfigurationKey.Parameter> parameters) throws IllegalArgumentException

      Defines parameters that specify the context in which configuration properties are to be retrieved.

      Parameters:
      parameters - a list of parameters
      Returns:
      the executable configuration update
      Throws:
      IllegalArgumentException - if parameters were specified more than once
    • and

      A and()

      Chains another update.

      Returns:
      a configuration update
    • execute

      Executes the chain of configuration updates.

      Results are emitted in the same order as the queries.

      Returns:
      a stream of configuration update results