Class VersionedRedisConfigurationSource
- All Implemented Interfaces:
ConfigurableConfigurationSource<VersionedRedisConfigurationSource.VersionedRedisConfigurationQuery,
,VersionedRedisConfigurationSource.VersionedRedisExecutableConfigurationQuery, VersionedRedisConfigurationSource.VersionedRedisListConfigurationQuery, VersionedRedisConfigurationSource.VersionedRedisConfigurationUpdate, VersionedRedisConfigurationSource.VersionedRedisExecutableConfigurationUpdate> ConfigurationSource<VersionedRedisConfigurationSource.VersionedRedisConfigurationQuery,
,VersionedRedisConfigurationSource.VersionedRedisExecutableConfigurationQuery, VersionedRedisConfigurationSource.VersionedRedisListConfigurationQuery> DefaultableConfigurationSource<VersionedRedisConfigurationSource.VersionedRedisConfigurationQuery,
VersionedRedisConfigurationSource.VersionedRedisExecutableConfigurationQuery, VersionedRedisConfigurationSource.VersionedRedisListConfigurationQuery, VersionedRedisConfigurationSource>
A configurable configuration source that stores and looks up properties in a Redis data store.
This implementation supports basic versioning which allows to set multiple properties and activate or revert them atomically.
Properties can be viewed in a tree of properties whose nodes correspond to parameters in natural order, a global revision is defined at the root of the tree and finer revisions can also be created in child nodes to version particular branches.
Particular care must be taken when deciding to version a specific branch, a property can only be versioned once which is the case when versioned property sets are disjointed. More specifically, a given property can't be versioned twice which might happen when the configuration is activated with different overlapping sets of parameters. An exception is normally thrown when such situation is detected. On the other hand, it is quite possible to version nested branches.
For instance, the following setup is most likely to fail if properties can be defined with both environment="production"
and zone="eu"
parameters:
[]
: global tree[environment="production"]
: production environment tree[zone="eu"]
: eu zone tree
While the following setup will work just fine:
[]
: global tree[environment="production"]
: production environment tree[environment="production", zone="eu"]
: eu zone tree
Properties are set for the working revision corresponding to their parameters. The working revision is activated using the activate(Parameter[])
method, the
activate(int, Parameter[])
is used to activate a specific revision.
A typical workflow to set properties is:
VersionedRedisConfigurationSource source = ...;
source
.set("db.url", "jdbc:oracle:thin:@dev.db.server:1521:sid").withParameters("env", "dev").and()
.set("db.url", "jdbc:oracle:thin:@prod_eu.db.server:1521:sid").withParameters("env", "prod", "zone", "eu").and()
.set("db.url", "jdbc:oracle:thin:@prod_us.db.server:1521:sid").withParameters("env", "prod", "zone", "us")
.execute()
.blockLast();
// Activate working revision globally
source.activate().block();
// Activate working revision for dev environment and prod environment independently
source.activate("env", "dev").block();
source.activate("env", "prod").block();
This configuration source stored three types of entries:
- Configuration properties as a sorted set with key of the form:
keyPrefix ":V:PROP:" propertyName "[" [ key "=" value [ "," key "=" value ]* "]"
. - Configuration metadata as hashes with key of the form:
keyPrefix ":V:META:" propertyName "[" [ key "=" value [ "," key "=" value ]* "]"
. - A configuration metadata control entry as a set with key of the form:
keyPrefix ":V:META:CTRL"
.
- Since:
- 1.0
- Author:
- Jeremy Kuhn
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
The configuration key used by the Redis configuration source.static class
Provides information about a particular configuration branch.static class
The configuration query used by the Redis configuration source.static class
The configuration query result returned by the Redis configuration source.static class
The configuration update used by the Redis configuration source.static class
The configuration update result returned by the Redis configuration source.static class
The executable configuration query used by the Redis configuration source.static class
The executable configuration update used by the Redis configuration source.static class
The list configuration query used by the Redis configuration source. -
Field Summary
Fields inherited from class io.inverno.mod.configuration.AbstractConfigurableConfigurationSource
encoder
Fields inherited from class io.inverno.mod.configuration.AbstractConfigurationSource
decoder
-
Constructor Summary
ConstructorDescriptionCreates a versioned Redis configuration source with the specified redis client.VersionedRedisConfigurationSource
(RedisTransactionalClient<String, String> redisClient, JoinablePrimitiveEncoder<String> encoder, SplittablePrimitiveDecoder<String> decoder) Creates a versioned Redis configuration source with the specified redis client, string value encoder and decoder. -
Method Summary
Modifier and TypeMethodDescriptionactivate
(int revision, ConfigurationKey.Parameter... parameters) Activates the specified revisions for the properties defined with the specified parameters.Activates the specified revisions for the properties defined with the specified parameter.Activates the specified revisions for the properties defined with the two specified parameters.Activates the specified revisions for the properties defined with the three specified parameters.activate
(int revision, String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4) Activates the specified revisions for the properties defined with the four specified parameters.activate
(int revision, String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5) Activates the specified revisions for the properties defined with the five specified parameters.activate
(int revision, String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5, String k6, Object v6) Activates the specified revisions for the properties defined with the six specified parameters.activate
(int revision, 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) Activates the specified revisions for the properties defined with the seven specified parameters.activate
(int revision, 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) Activates the specified revisions for the properties defined with the eight specified parameters.activate
(int revision, 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) Activates the specified revisions for the properties defined with the nine specified parameters.activate
(int revision, 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) Activates the specified revisions for the properties defined with the ten specified parameters.activate
(ConfigurationKey.Parameter... parameters) Activates the working revision for the properties defined with the specified parameters.Activates the working revision for the properties defined with the specified parameter.Activates the working revision for the properties defined with the two specified parameters.Activates the working revision for the properties defined with the three specified parameters.Activates the working revision for the properties defined with the four specified parameters.activate
(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5) Activates the working revision for the properties defined with the five specified parameters.activate
(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5, String k6, Object v6) Activates the working revision for the properties defined with the six specified parameters.activate
(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) Activates the working revision for the properties defined with the seven specified parameters.activate
(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) Activates the working revision for the properties defined with the eight specified parameters.activate
(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) Activates the working revision for the properties defined with the nine specified parameters.activate
(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) Activates the working revision for the properties defined with the ten specified parameters.Creates a configuration query to retrieve the specified properties.final String
Returns the prefix that is prepended to configuration source keys.getMetaData
(ConfigurationKey.Parameter... parameters) Returns the configuration metadata for the specified list of parameters.getMetaData
(RedisOperations<String, String> operations, List<ConfigurationKey.Parameter> metaDataParameters) Returns the configuration metadata for the specified list of parameters extracted form a configuration query.getMetaData
(String k1, Object v1) Returns the configuration metadata for one parameters.getMetaData
(String k1, Object v1, String k2, Object v2) Returns the configuration metadata for two parameters.Returns the configuration metadata for three parameters.Returns the configuration metadata for four parameters.getMetaData
(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5) Returns the configuration metadata for five parameters.getMetaData
(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5, String k6, Object v6) Returns the configuration metadata for six parameters.getMetaData
(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) Returns the configuration metadata for seven parameters.getMetaData
(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) Returns the configuration metadata for eight parameters.getMetaData
(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) Returns the configuration metadata for nine parameters.getMetaData
(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) Returns the configuration metadata for ten parameters.getMetaDataParameterSets
(RedisOperations<String, String> operations) Returns the list of metadata parameters.Creates a list configuration query to list configuration properties defined with the specified property name.Creates a configuration update to set the configuration properties extracted from the specified values.final void
setKeyPrefix
(String keyPrefix) Sets the prefix that is prepended to configuration source keys.unwrap()
Returns the original configuration source.withDefaultingStrategy
(DefaultingStrategy defaultingStrategy) Returns a proxy of the defaultable configuration source instance using the specified defaulting strategy.Methods inherited from class io.inverno.mod.configuration.AbstractConfigurableConfigurationSource
getEncoder, setEncoder
Methods inherited from class io.inverno.mod.configuration.AbstractConfigurationSource
getDecoder, setDecoder
-
Field Details
-
DEFAUL_KEY_PREFIX
The default key prefix.- See Also:
-
-
Constructor Details
-
VersionedRedisConfigurationSource
Creates a versioned Redis configuration source with the specified redis client.
- Parameters:
redisClient
- a redis client
-
VersionedRedisConfigurationSource
public VersionedRedisConfigurationSource(RedisTransactionalClient<String, String> redisClient, JoinablePrimitiveEncoder<String> encoder, SplittablePrimitiveDecoder<String> decoder) Creates a versioned Redis configuration source with the specified redis client, string value encoder and decoder.
- Parameters:
redisClient
- a redis clientencoder
- a string encoderdecoder
- a string decoder
-
-
Method Details
-
getKeyPrefix
Returns the prefix that is prepended to configuration source keys.
- A configuration property key is of the form:
keyPrefix ":V:PROP:" propertyName "[" [ key "=" value [ "," key "=" value ]* "]"
. - A configuration metadata key is of the form:
keyPrefix ":V:META:" propertyName "[" [ key "=" value [ "," key "=" value ]* "]"
. - The configuration metadata control key is of the form:
keyPrefix ":V:META:CTRL"
.
- Returns:
- the key prefix
- A configuration property key is of the form:
-
setKeyPrefix
Sets the prefix that is prepended to configuration source keys.
- A configuration property key is of the form:
keyPrefix ":V:PROP:" propertyName "[" [ key "=" value [ "," key "=" value ]* "]"
. - A configuration metadata key is of the form:
keyPrefix ":V:META:" propertyName "[" [ key "=" value [ "," key "=" value ]* "]"
. - The configuration metadata control key is of the form:
keyPrefix ":V:META:CTRL"
.
- Parameters:
keyPrefix
- the key prefix to set
- A configuration property key is of the form:
-
withDefaultingStrategy
public VersionedRedisConfigurationSource withDefaultingStrategy(DefaultingStrategy defaultingStrategy) Description copied from interface:DefaultableConfigurationSource
Returns a proxy of the defaultable configuration source instance using the specified defaulting strategy.
- Specified by:
withDefaultingStrategy
in interfaceDefaultableConfigurationSource<VersionedRedisConfigurationSource.VersionedRedisConfigurationQuery,
VersionedRedisConfigurationSource.VersionedRedisExecutableConfigurationQuery, VersionedRedisConfigurationSource.VersionedRedisListConfigurationQuery, VersionedRedisConfigurationSource> - Parameters:
defaultingStrategy
- a defaulting strategy- Returns:
- a new defaultable configuration source
-
unwrap
Description copied from interface:DefaultableConfigurationSource
Returns the original configuration source.
- Specified by:
unwrap
in interfaceDefaultableConfigurationSource<VersionedRedisConfigurationSource.VersionedRedisConfigurationQuery,
VersionedRedisConfigurationSource.VersionedRedisExecutableConfigurationQuery, VersionedRedisConfigurationSource.VersionedRedisListConfigurationQuery, VersionedRedisConfigurationSource> - Returns:
- a configuration source
-
get
public VersionedRedisConfigurationSource.VersionedRedisExecutableConfigurationQuery get(String... names) throws IllegalArgumentException Description copied from interface:ConfigurationSource
Creates a configuration query to retrieve the specified properties.
- Specified by:
get
in interfaceConfigurationSource<VersionedRedisConfigurationSource.VersionedRedisConfigurationQuery,
VersionedRedisConfigurationSource.VersionedRedisExecutableConfigurationQuery, VersionedRedisConfigurationSource.VersionedRedisListConfigurationQuery> - Parameters:
names
- an array of property names- Returns:
- an executable configuration query
- Throws:
IllegalArgumentException
- if the array of names is null or empty
-
list
public VersionedRedisConfigurationSource.VersionedRedisListConfigurationQuery list(String name) throws IllegalArgumentException Description copied from interface:ConfigurationSource
Creates a list configuration query to list configuration properties defined with the specified property name.
- Specified by:
list
in interfaceConfigurationSource<VersionedRedisConfigurationSource.VersionedRedisConfigurationQuery,
VersionedRedisConfigurationSource.VersionedRedisExecutableConfigurationQuery, VersionedRedisConfigurationSource.VersionedRedisListConfigurationQuery> - Parameters:
name
- a property name- Returns:
- a list configuration query
- Throws:
IllegalArgumentException
- if the name is null or empty
-
set
public VersionedRedisConfigurationSource.VersionedRedisExecutableConfigurationUpdate set(Map<String, Object> values) throws IllegalArgumentExceptionDescription copied from interface:ConfigurableConfigurationSource
Creates a configuration update to set the configuration properties extracted from the specified values.
- Specified by:
set
in interfaceConfigurableConfigurationSource<VersionedRedisConfigurationSource.VersionedRedisConfigurationQuery,
VersionedRedisConfigurationSource.VersionedRedisExecutableConfigurationQuery, VersionedRedisConfigurationSource.VersionedRedisListConfigurationQuery, VersionedRedisConfigurationSource.VersionedRedisConfigurationUpdate, VersionedRedisConfigurationSource.VersionedRedisExecutableConfigurationUpdate> - Parameters:
values
- a map containing properties keys and values to set in the configuration source- Returns:
- an executable configuration update
- Throws:
IllegalArgumentException
- if the map of properties is null or empty
-
getMetaDataParameterSets
protected Mono<List<List<String>>> getMetaDataParameterSets(RedisOperations<String, String> operations) Returns the list of metadata parameters.
- Parameters:
operations
- The Redis operations used to query the data store- Returns:
- a mono emitting the list of metadata parameters
-
getMetaData
protected Mono<VersionedRedisConfigurationSource.VersionedRedisConfigurationMetaData> getMetaData(RedisOperations<String, String> operations, List<ConfigurationKey.Parameter> metaDataParameters) Returns the configuration metadata for the specified list of parameters extracted form a configuration query.
- Parameters:
operations
- a Redis connectionmetaDataParameters
- a list of parameters- Returns:
- a mono emitting the metadata
-
getMetaData
public Mono<VersionedRedisConfigurationSource.VersionedRedisConfigurationMetaData> getMetaData(ConfigurationKey.Parameter... parameters) throws IllegalArgumentException Returns the configuration metadata for the specified list of parameters.
- Parameters:
parameters
- an array of parameters- Returns:
- a mono emitting the metadata
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
activate
public Mono<Void> activate(ConfigurationKey.Parameter... parameters) throws IllegalArgumentException Activates the working revision for the properties defined with the specified parameters.
- Parameters:
parameters
- an array of parameters- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
activate
public Mono<Void> activate(int revision, ConfigurationKey.Parameter... parameters) throws IllegalArgumentException Activates the specified revisions for the properties defined with the specified parameters.
- Parameters:
revision
- the revision to activateparameters
- an array of parameters- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once or if the specified revision is greater than the current working revision
-
getMetaData
public Mono<VersionedRedisConfigurationSource.VersionedRedisConfigurationMetaData> getMetaData(String k1, Object v1) Returns the configuration metadata for one parameters.
- Parameters:
k1
- the parameter namev1
- the parameter value- Returns:
- a mono emitting the metadata
-
getMetaData
public Mono<VersionedRedisConfigurationSource.VersionedRedisConfigurationMetaData> getMetaData(String k1, Object v1, String k2, Object v2) throws IllegalArgumentException Returns the configuration metadata for two parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter value- Returns:
- a mono emitting the metadata
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
getMetaData
public Mono<VersionedRedisConfigurationSource.VersionedRedisConfigurationMetaData> getMetaData(String k1, Object v1, String k2, Object v2, String k3, Object v3) throws IllegalArgumentException Returns the configuration metadata for three parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter value- Returns:
- a mono emitting the metadata
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
getMetaData
public Mono<VersionedRedisConfigurationSource.VersionedRedisConfigurationMetaData> getMetaData(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4) throws IllegalArgumentException Returns the configuration metadata for four parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter value- Returns:
- a mono emitting the metadata
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
getMetaData
public Mono<VersionedRedisConfigurationSource.VersionedRedisConfigurationMetaData> getMetaData(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5) throws IllegalArgumentException Returns the configuration metadata for five parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter value- Returns:
- a mono emitting the metadata
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
getMetaData
public Mono<VersionedRedisConfigurationSource.VersionedRedisConfigurationMetaData> getMetaData(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 Returns the configuration metadata for six parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter value- Returns:
- a mono emitting the metadata
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
getMetaData
public Mono<VersionedRedisConfigurationSource.VersionedRedisConfigurationMetaData> getMetaData(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 Returns the configuration metadata for seven parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter valuek7
- the seventh parameter namev7
- the seventh parameter value- Returns:
- a mono emitting the metadata
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
getMetaData
public Mono<VersionedRedisConfigurationSource.VersionedRedisConfigurationMetaData> getMetaData(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 Returns the configuration metadata for eight parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter valuek7
- the seventh parameter namev7
- the seventh parameter valuek8
- the eighth parameter namev8
- the eighth parameter value- Returns:
- a mono emitting the metadata
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
getMetaData
public Mono<VersionedRedisConfigurationSource.VersionedRedisConfigurationMetaData> getMetaData(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 Returns the configuration metadata for nine parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter valuek7
- the seventh parameter namev7
- the seventh parameter valuek8
- the eighth parameter namev8
- the eighth parameter valuek9
- the ninth parameter namev9
- the ninth parameter value- Returns:
- a mono emitting the metadata
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
getMetaData
public Mono<VersionedRedisConfigurationSource.VersionedRedisConfigurationMetaData> getMetaData(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 Returns the configuration metadata for ten parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter valuek7
- the seventh parameter namev7
- the seventh parameter valuek8
- the eighth parameter namev8
- the eighth parameter valuek9
- the ninth parameter namev9
- the ninth parameter valuek10
- the tenth parameter namev10
- the tenth parameter value- Returns:
- a mono emitting the metadata
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
activate
Activates the working revision for the properties defined with the specified parameter.
- Parameters:
k1
- the parameter namev1
- the parameter value- Returns:
- a mono that completes when the operation succeeds or fails
-
activate
public Mono<Void> activate(String k1, Object v1, String k2, Object v2) throws IllegalArgumentException Activates the working revision for the properties defined with the two specified parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
activate
public Mono<Void> activate(String k1, Object v1, String k2, Object v2, String k3, Object v3) throws IllegalArgumentException Activates the working revision for the properties defined with the three specified parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
activate
public Mono<Void> activate(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4) throws IllegalArgumentException Activates the working revision for the properties defined with the four specified parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
activate
public Mono<Void> activate(String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5) throws IllegalArgumentException Activates the working revision for the properties defined with the five specified parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
activate
public Mono<Void> activate(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 Activates the working revision for the properties defined with the six specified parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
activate
public Mono<Void> activate(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 Activates the working revision for the properties defined with the seven specified parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter valuek7
- the seventh parameter namev7
- the seventh parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
activate
public Mono<Void> activate(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 Activates the working revision for the properties defined with the eight specified parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter valuek7
- the seventh parameter namev7
- the seventh parameter valuek8
- the eighth parameter namev8
- the eighth parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
activate
public Mono<Void> activate(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 Activates the working revision for the properties defined with the nine specified parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter valuek7
- the seventh parameter namev7
- the seventh parameter valuek8
- the eighth parameter namev8
- the eighth parameter valuek9
- the ninth parameter namev9
- the ninth parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
activate
public Mono<Void> activate(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 Activates the working revision for the properties defined with the ten specified parameters.
- Parameters:
k1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter valuek7
- the seventh parameter namev7
- the seventh parameter valuek8
- the eighth parameter namev8
- the eighth parameter valuek9
- the ninth parameter namev9
- the ninth parameter valuek10
- the tenth parameter namev10
- the tenth parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once
-
activate
Activates the specified revisions for the properties defined with the specified parameter.
- Parameters:
revision
- the revision to activatek1
- the parameter namev1
- the parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if the specified revision is greater than the current working revision
-
activate
Activates the specified revisions for the properties defined with the two specified parameters.
- Parameters:
revision
- the revision to activatek1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once or if the specified revision is greater than the current working revision
-
activate
public Mono<Void> activate(int revision, String k1, Object v1, String k2, Object v2, String k3, Object v3) Activates the specified revisions for the properties defined with the three specified parameters.
- Parameters:
revision
- the revision to activatek1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once or if the specified revision is greater than the current working revision
-
activate
public Mono<Void> activate(int revision, String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4) Activates the specified revisions for the properties defined with the four specified parameters.
- Parameters:
revision
- the revision to activatek1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once or if the specified revision is greater than the current working revision
-
activate
public Mono<Void> activate(int revision, String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5) Activates the specified revisions for the properties defined with the five specified parameters.
- Parameters:
revision
- the revision to activatek1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once or if the specified revision is greater than the current working revision
-
activate
public Mono<Void> activate(int revision, String k1, Object v1, String k2, Object v2, String k3, Object v3, String k4, Object v4, String k5, Object v5, String k6, Object v6) Activates the specified revisions for the properties defined with the six specified parameters.
- Parameters:
revision
- the revision to activatek1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once or if the specified revision is greater than the current working revision
-
activate
public Mono<Void> activate(int revision, 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) Activates the specified revisions for the properties defined with the seven specified parameters.
- Parameters:
revision
- the revision to activatek1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter valuek7
- the seventh parameter namev7
- the seventh parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once or if the specified revision is greater than the current working revision
-
activate
public Mono<Void> activate(int revision, 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) Activates the specified revisions for the properties defined with the eight specified parameters.
- Parameters:
revision
- the revision to activatek1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter valuek7
- the seventh parameter namev7
- the seventh parameter valuek8
- the eighth parameter namev8
- the eighth parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once or if the specified revision is greater than the current working revision
-
activate
public Mono<Void> activate(int revision, 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) Activates the specified revisions for the properties defined with the nine specified parameters.
- Parameters:
revision
- the revision to activatek1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter valuek7
- the seventh parameter namev7
- the seventh parameter valuek8
- the eighth parameter namev8
- the eighth parameter valuek9
- the ninth parameter namev9
- the ninth parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once or if the specified revision is greater than the current working revision
-
activate
public Mono<Void> activate(int revision, 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) Activates the specified revisions for the properties defined with the ten specified parameters.
- Parameters:
revision
- the revision to activatek1
- the first parameter namev1
- the first parameter valuek2
- the second parameter namev2
- the second parameter valuek3
- the third parameter namev3
- the third parameter valuek4
- the fourth parameter namev4
- the fourth parameter valuek5
- the fifth parameter namev5
- the fifth parameter valuek6
- the sixth parameter namev6
- the sixth parameter valuek7
- the seventh parameter namev7
- the seventh parameter valuek8
- the eighth parameter namev8
- the eighth parameter valuek9
- the ninth parameter namev9
- the ninth parameter valuek10
- the tenth parameter namev10
- the tenth parameter value- Returns:
- a mono that completes when the operation succeeds or fails
- Throws:
IllegalArgumentException
- if parameters were specified more than once or if the specified revision is greater than the current working revision
-