Class ReactiveJsonCommandsImpl<K>
java.lang.Object
io.quarkus.redis.runtime.datasource.AbstractRedisCommands
io.quarkus.redis.runtime.datasource.AbstractJsonCommands<K>
io.quarkus.redis.runtime.datasource.ReactiveJsonCommandsImpl<K>
- All Implemented Interfaces:
ReactiveJsonCommands<K>,ReactiveRedisCommands
public class ReactiveJsonCommandsImpl<K>
extends AbstractJsonCommands<K>
implements ReactiveJsonCommands<K>
-
Field Summary
Fields inherited from class io.quarkus.redis.runtime.datasource.AbstractRedisCommands
marshaller, redis -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static <T> List<T>decodeArrPopResponse(Class<T> clazz, io.vertx.mutiny.redis.client.Response r) decodeAsListOfInteger(io.vertx.mutiny.redis.client.Response r) (package private) static List<io.vertx.core.json.JsonArray>decodeMGetResponse(io.vertx.mutiny.redis.client.Response r) decodeObjKeysResponse(io.vertx.mutiny.redis.client.Response r) decodeToggleResponse(io.vertx.mutiny.redis.client.Response r) decodeTypeResponse(io.vertx.mutiny.redis.client.Response r) (package private) static io.vertx.core.json.JsonArraygetJsonArray(io.vertx.mutiny.redis.client.Response r) (package private) static io.vertx.core.json.JsonArraygetJsonArrayFromJsonGet(io.vertx.mutiny.redis.client.Response r) (package private) static io.vertx.core.json.JsonObjectgetJsonObject(io.vertx.mutiny.redis.client.Response r) jsonArrAppend(K key, String path, T... values) Execute the command JSON.ARRAPPEND.jsonArrIndex(K key, String path, T value, int start, int end) Execute the command JSON.ARRINDEX.jsonArrInsert(K key, String path, int index, T... values) Execute the command JSON.ARRINSERT.jsonArrLen(K key, String path) Execute the command JSON.ARRLEN.<T> io.smallrye.mutiny.Uni<List<T>>jsonArrPop(K key, Class<T> clazz, String path, int index) Execute the command JSON.ARRPOP.jsonArrTrim(K key, String path, int start, int stop) Execute the command JSON.ARRTRIM.io.smallrye.mutiny.Uni<Integer>Execute the command JSON.CLEAR.io.smallrye.mutiny.Uni<Integer>Execute the command JSON.DEL.<T> io.smallrye.mutiny.Uni<T>Execute the command JSON.GET.io.smallrye.mutiny.Uni<io.vertx.core.json.JsonArray>Execute the command JSON.GET.io.smallrye.mutiny.Uni<io.vertx.core.json.JsonObject>Execute the command JSON.GET.io.smallrye.mutiny.Uni<io.vertx.core.json.JsonArray>jsonGetArray(K key) Execute the command JSON.GET.io.smallrye.mutiny.Uni<io.vertx.core.json.JsonObject>jsonGetObject(K key) Execute the command JSON.GET.io.smallrye.mutiny.Uni<List<io.vertx.core.json.JsonArray>>Execute the command JSON.MGET.io.smallrye.mutiny.Uni<Void>jsonNumincrby(K key, String path, double value) Execute the command JSON.NUMINCRBY.jsonObjKeys(K key, String path) Execute the command JSON.OBJKEYS.jsonObjLen(K key, String path) Execute the command JSON.OBJLEN.io.smallrye.mutiny.Uni<Void>Execute the command JSON.SET.io.smallrye.mutiny.Uni<Void>jsonSet(K key, String path, io.vertx.core.json.JsonArray json, JsonSetArgs args) Execute the command JSON.SET.io.smallrye.mutiny.Uni<Void>Execute the command JSON.SET.io.smallrye.mutiny.Uni<Void>jsonSet(K key, String path, io.vertx.core.json.JsonObject json, JsonSetArgs args) Execute the command JSON.SET.<T> io.smallrye.mutiny.Uni<Void>Execute the command JSON.SET.<T> io.smallrye.mutiny.Uni<Void>jsonSet(K key, String path, T value, JsonSetArgs args) Execute the command JSON.SET.jsonStrAppend(K key, String path, String value) Execute the command JSON.STRAPPEND.jsonStrLen(K key, String path) Execute the command JSON.STRLEN.jsonToggle(K key, String path) Execute the command JSON.TOGGLE.Execute the command JSON.TYPE.Methods inherited from class io.quarkus.redis.runtime.datasource.AbstractJsonCommands
_jsonArrAppend, _jsonArrIndex, _jsonArrInsert, _jsonArrLen, _jsonArrPop, _jsonArrTrim, _jsonClear, _jsonDel, _jsonGet, _jsonGet, _jsonGet, _jsonMget, _jsonNumincrby, _jsonObjKeys, _jsonObjLen, _jsonSet, _jsonSet, _jsonSet, _jsonSet, _jsonSet, _jsonSet, _jsonSet, _jsonStrAppend, _jsonStrLen, _jsonToggle, _jsonTypeMethods inherited from class io.quarkus.redis.runtime.datasource.AbstractRedisCommands
execute, isMapMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.quarkus.redis.datasource.json.ReactiveJsonCommands
jsonArrIndex, jsonArrLen, jsonArrPop, jsonClear, jsonDel, jsonObjKeys, jsonObjLen
-
Constructor Details
-
ReactiveJsonCommandsImpl
-
-
Method Details
-
getDataSource
- Specified by:
getDataSourcein interfaceReactiveRedisCommands- Returns:
- the data source.
-
jsonSet
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.SET. Summary: Sets the JSON value at path in key. Group: json- Specified by:
jsonSetin interfaceReactiveJsonCommands<K>- Type Parameters:
T- the type for the value- Parameters:
key- the key, must not benullpath- the path, must not benullvalue- the value, encoded to JSON- Returns:
- A uni emitting
nullwhen the operation completes
-
jsonSet
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.SET. Summary: Sets the JSON value at path in key. Group: json- Specified by:
jsonSetin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- the path, must not benulljson- the JSON object to store, must not benull- Returns:
- A uni emitting
nullwhen the operation completes
-
jsonSet
public io.smallrye.mutiny.Uni<Void> jsonSet(K key, String path, io.vertx.core.json.JsonObject json, JsonSetArgs args) Description copied from interface:ReactiveJsonCommandsExecute the command JSON.SET. Summary: Sets the JSON value at path in key. Group: json- Specified by:
jsonSetin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- the path, must not benulljson- the JSON object to store, must not benullargs- the extra arguments- Returns:
- A uni emitting
nullwhen the operation completes
-
jsonSet
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.SET. Summary: Sets the JSON value at path in key. Group: json- Specified by:
jsonSetin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- the path, must not benulljson- the JSON array to store, must not benull- Returns:
- A uni emitting
nullwhen the operation completes
-
jsonSet
public io.smallrye.mutiny.Uni<Void> jsonSet(K key, String path, io.vertx.core.json.JsonArray json, JsonSetArgs args) Description copied from interface:ReactiveJsonCommandsExecute the command JSON.SET. Summary: Sets the JSON value at path in key. Group: json- Specified by:
jsonSetin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- the path, must not benulljson- the JSON array to store, must not benullargs- the extra arguments- Returns:
- A uni emitting
nullwhen the operation completes
-
jsonSet
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.SET. Summary: Sets the JSON value at path in key. Group: json- Specified by:
jsonSetin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- the path, must not benullvalue- the value to store, encoded to JSON.args- the extra arguments- Returns:
- A uni emitting
nullwhen the operation completes
-
jsonGet
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.GET. Summary: Returns the value at path in JSON serialized form. Group: jsonThis method uses the root path (
$). It map the retrieve JSON document to an object of type<T>.- Specified by:
jsonGetin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullclazz- the type of object to recreate from the JSON content- Returns:
- a uni emitting the object,
nullif it does not exist
-
jsonGetObject
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.GET. Summary: Returns the value at path in JSON serialized form. Group: jsonThis method uses the root path (
$). UnlikeReactiveJsonCommands.jsonGet(Object, Class), it returns aJsonObject.- Specified by:
jsonGetObjectin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benull- Returns:
- a uni emitting the stored JSON object,
nullif it does not exist
-
jsonGetArray
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.GET. Summary: Returns the value at path in JSON serialized form. Group: jsonThis method uses the root path (
$). UnlikeReactiveJsonCommands.jsonGet(Object, Class), it returns aJsonArray.- Specified by:
jsonGetArrayin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benull- Returns:
- a uni emitting the stored JSON array,
nullif it does not exist
-
getJsonArray
static io.vertx.core.json.JsonArray getJsonArray(io.vertx.mutiny.redis.client.Response r) -
getJsonObject
static io.vertx.core.json.JsonObject getJsonObject(io.vertx.mutiny.redis.client.Response r) -
getJsonArrayFromJsonGet
static io.vertx.core.json.JsonArray getJsonArrayFromJsonGet(io.vertx.mutiny.redis.client.Response r) -
jsonGet
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.GET. Summary: Returns the value at path in JSON serialized form. Group: json- Specified by:
jsonGetin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- the path, must not benull- Returns:
- a uni emitting the JSON array containing the different results,
nullif it does not exist.
-
jsonGet
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.GET. Summary: Returns the value at path in JSON serialized form. Group: json- Specified by:
jsonGetin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpaths- the paths, must not benull. If no path are passed, this is equivalent toReactiveJsonCommands.jsonGetObject(Object), if multiple paths are passed, the produced JSON object contains the result (as a json array) for each path.- Returns:
- a uni emitting the stored JSON object,
nullif it does not exist. If no path are passed, this is equivalent toReactiveJsonCommands.jsonGetObject(Object). If multiple paths are passed, the produced JSON object contains the result for each pass as a JSON array.
-
jsonArrAppend
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.ARRAPPEND. Summary: Append the json values into the array at path after the last element in it. Group: json- Specified by:
jsonArrAppendin interfaceReactiveJsonCommands<K>- Type Parameters:
T- the type of value- Parameters:
key- the key, must not benullpath- the path, must not benullvalues- the values to append, encoded to JSON- Returns:
- a uni emitting a list with the new sizes of each modified array (in order) or
null(instead of the size) if the point object was not an array.
-
jsonArrIndex
public <T> io.smallrye.mutiny.Uni<List<Integer>> jsonArrIndex(K key, String path, T value, int start, int end) Description copied from interface:ReactiveJsonCommandsExecute the command JSON.ARRINDEX. Summary: Searches for the first occurrence of a scalar JSON value in an array. Group: json- Specified by:
jsonArrIndexin interfaceReactiveJsonCommands<K>- Type Parameters:
T- the type of value- Parameters:
key- the key, must not benullpath- the path, must not benullvalue- the value to be searched, encoded to JSONstart- the start indexend- the end index- Returns:
- a uni emitting a list with the first position in the array of each JSON value that matches the path,
-1if not found in the array, ornullif the matching JSON value is not an array.
-
decodeAsListOfInteger
-
jsonArrInsert
public <T> io.smallrye.mutiny.Uni<List<Integer>> jsonArrInsert(K key, String path, int index, T... values) Description copied from interface:ReactiveJsonCommandsExecute the command JSON.ARRINSERT. Summary: Inserts the json values into the array at path before the index (shifts to the right). Group: json- Specified by:
jsonArrInsertin interfaceReactiveJsonCommands<K>- Type Parameters:
T- the type of value- Parameters:
key- the key, must not benullpath- the path, must not benullindex- the index. The index must be in the array's range. Inserting at index 0 prepends to the array. Negative index values start from the end of the array.values- the values to insert, encoded to JSON- Returns:
- a uni emitting a list of integer containing for each path, the array's new size or
nullif the matching JSON value is not an array.
-
jsonArrLen
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.ARRLEN. Summary: Reports the length of the JSON Array at path in key. Group: json- Specified by:
jsonArrLenin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- the path,nullmeans$- Returns:
- a uni emitting a list of integer containing for each path, the array's length, or @{code null} if the matching JSON value is not an array.
-
jsonArrPop
public <T> io.smallrye.mutiny.Uni<List<T>> jsonArrPop(K key, Class<T> clazz, String path, int index) Description copied from interface:ReactiveJsonCommandsExecute the command JSON.ARRPOP. Summary: Removes and returns an element from the index in the array. Group: json- Specified by:
jsonArrPopin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullclazz- the type of the popped objectpath- path the path, defaults to root if not provided.index- is the position in the array to start popping from (defaults to -1, meaning the last element). Out-of-range indexes round to their respective array ends.- Returns:
- a uni emitting a list of T including for each path, an instance of T rebuilt from the JSON value, or
nullif the matching JSON value is not an array. Popping an empty array producesnull.
-
decodeArrPopResponse
-
jsonArrTrim
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.ARRTRIM. Summary: Trims an array so that it contains only the specified inclusive range of elements. Group: json- Specified by:
jsonArrTrimin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- path the path, must not benullstart- the start indexstop- the stop index- Returns:
- a uni emitting a list of integer containing, for each path, the array's new size, or
nullif the matching JSON value is not an array.
-
jsonClear
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.CLEAR. Summary: Clears container values (Arrays/Objects), and sets numeric values to 0. Group: json- Specified by:
jsonClearin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- path the path, path defaults to$if not provided. Non-existing paths are ignored.- Returns:
- a uni emitting the number of value cleared
-
jsonDel
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.DEL. Summary: Deletes a value. Group: json- Specified by:
jsonDelin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- path the path, path defaults to$if not provided. Non-existing paths are ignored.- Returns:
- a uni emitting the number of path deleted
-
jsonMget
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.MGET. Summary: Returns the values at path from multiple key arguments. Returnsnullfor nonexistent keys and nonexistent paths. Group: json- Specified by:
jsonMgetin interfaceReactiveJsonCommands<K>- Parameters:
path- path the pathkeys- the keys, must not benull, must not containnull- Returns:
- a uni emitting a list of JsonArray containing each retrieved value
-
decodeMGetResponse
static List<io.vertx.core.json.JsonArray> decodeMGetResponse(io.vertx.mutiny.redis.client.Response r) -
jsonNumincrby
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.NUMINCRBY. Summary: Increments the number value stored at path by number. Group: json- Specified by:
jsonNumincrbyin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- path the path, path defaults to$if not provided. Non-existing paths are ignored.value- the value to add- Returns:
- a uni emitting
nullwhen the operation completes
-
jsonObjKeys
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.OBJKEYS. Summary: Returns the keys in the object that's referenced by path. Group: json- Specified by:
jsonObjKeysin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- path the path, path defaults to$if not provided.- Returns:
- a uni emitting a list containing, for each matching path, the list of keys, or
nullif the matching JSON value is not an object.
-
decodeObjKeysResponse
-
jsonObjLen
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.OBJLEN. Summary: Reports the number of keys in the JSON Object at path in key. Group: json- Specified by:
jsonObjLenin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- path the path, path defaults to$if not provided.- Returns:
- a uni emitting a list containing, for each path, the length of the object,
nullif the matching JSON value is not an object
-
jsonStrAppend
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.STRAPPEND. Summary: Appends the json-string values to the string at path. Group: json- Specified by:
jsonStrAppendin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- path the path, path defaults to$if not provided.value- the string to append, must not benull- Returns:
- a uni emitting a list containing, for each path, the new string length,
nullif the matching JSON value is not a string.
-
jsonStrLen
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.STRLEN. Summary: Reports the length of the JSON String at path in key. Group: json- Specified by:
jsonStrLenin interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- path the path, path defaults to$if not provided.- Returns:
- a uni emitting a list containing, for each path, the length of the string,
nullif the matching JSON value is not a string. Returnsnullif the key or path do not exist.
-
jsonToggle
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.TOGGLE. Summary: Toggle a boolean value stored at path. Group: json- Specified by:
jsonTogglein interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- path the path, must not benull- Returns:
- a uni emitting a list containing, for each path, the new boolean value,
nullif the matching JSON value is not a boolean.
-
decodeToggleResponse
-
jsonType
Description copied from interface:ReactiveJsonCommandsExecute the command JSON.TYPE. Summary: Reports the type of JSON value at path. Group: json- Specified by:
jsonTypein interfaceReactiveJsonCommands<K>- Parameters:
key- the key, must not benullpath- path the path, path defaults to$if not provided.- Returns:
- a uni emitting a list containing, for each path, the json type as String (string, integer, number, boolean, object, array), empty if no match.
-
decodeTypeResponse
-