Class BlockingJsonCommandsImpl<K>

java.lang.Object
io.quarkus.redis.runtime.datasource.AbstractRedisCommandGroup
io.quarkus.redis.runtime.datasource.BlockingJsonCommandsImpl<K>
All Implemented Interfaces:
JsonCommands<K>, RedisCommands

public class BlockingJsonCommandsImpl<K> extends AbstractRedisCommandGroup implements JsonCommands<K>
  • Constructor Details

  • Method Details

    • jsonSet

      public <T> void jsonSet(K key, String path, T value)
      Description copied from interface: JsonCommands
      Execute the command JSON.SET. Summary: Sets the JSON value at path in key. Group: json
      Specified by:
      jsonSet in interface JsonCommands<K>
      Type Parameters:
      T - the type for the value
      Parameters:
      key - the key, must not be null
      path - the path, must not be null
      value - the value, encoded to JSON
    • jsonSet

      public void jsonSet(K key, String path, io.vertx.core.json.JsonObject json)
      Description copied from interface: JsonCommands
      Execute the command JSON.SET. Summary: Sets the JSON value at path in key. Group: json
      Specified by:
      jsonSet in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - the path, must not be null
      json - the JSON object to store, must not be null
    • jsonSet

      public void jsonSet(K key, String path, io.vertx.core.json.JsonObject json, JsonSetArgs args)
      Description copied from interface: JsonCommands
      Execute the command JSON.SET. Summary: Sets the JSON value at path in key. Group: json
      Specified by:
      jsonSet in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - the path, must not be null
      json - the JSON object to store, must not be null
      args - the extra arguments
    • jsonSet

      public void jsonSet(K key, String path, io.vertx.core.json.JsonArray json)
      Description copied from interface: JsonCommands
      Execute the command JSON.SET. Summary: Sets the JSON value at path in key. Group: json
      Specified by:
      jsonSet in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - the path, must not be null
      json - the JSON array to store, must not be null
    • jsonSet

      public void jsonSet(K key, String path, io.vertx.core.json.JsonArray json, JsonSetArgs args)
      Description copied from interface: JsonCommands
      Execute the command JSON.SET. Summary: Sets the JSON value at path in key. Group: json
      Specified by:
      jsonSet in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - the path, must not be null
      json - the JSON array to store, must not be null
      args - the extra arguments
    • jsonSet

      public <T> void jsonSet(K key, String path, T value, JsonSetArgs args)
      Description copied from interface: JsonCommands
      Execute the command JSON.SET. Summary: Sets the JSON value at path in key. Group: json
      Specified by:
      jsonSet in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - the path, must not be null
      value - the value to store, encoded to JSON.
      args - the extra arguments
    • jsonGet

      public <T> T jsonGet(K key, Class<T> clazz)
      Description copied from interface: JsonCommands
      Execute the command JSON.GET. Summary: Returns the value at path in JSON serialized form. Group: json

      This method uses the root path ($). It map the retrieve JSON document to an object of type <T>.

      Specified by:
      jsonGet in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      clazz - the type of object to recreate from the JSON content
      Returns:
      the object, null if it does not exist
    • jsonGetObject

      public io.vertx.core.json.JsonObject jsonGetObject(K key)
      Description copied from interface: JsonCommands
      Execute the command JSON.GET. Summary: Returns the value at path in JSON serialized form. Group: json

      This method uses the root path ($). Unlike JsonCommands.jsonGet(Object, Class), it returns a JsonObject.

      Specified by:
      jsonGetObject in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      Returns:
      the stored JSON object, null if it does not exist
    • jsonGetArray

      public io.vertx.core.json.JsonArray jsonGetArray(K key)
      Description copied from interface: JsonCommands
      Execute the command JSON.GET. Summary: Returns the value at path in JSON serialized form. Group: json

      This method uses the root path ($). Unlike JsonCommands.jsonGet(Object, Class), it returns a JsonArray.

      Specified by:
      jsonGetArray in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      Returns:
      the stored JSON array, null if it does not exist
    • jsonGet

      public io.vertx.core.json.JsonArray jsonGet(K key, String path)
      Description copied from interface: JsonCommands
      Execute the command JSON.GET. Summary: Returns the value at path in JSON serialized form. Group: json

      Specified by:
      jsonGet in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - the path, must not be null
      Returns:
      the JSON array containing the different results, null if it does not exist.
    • jsonGet

      public io.vertx.core.json.JsonObject jsonGet(K key, String... paths)
      Description copied from interface: JsonCommands
      Execute the command JSON.GET. Summary: Returns the value at path in JSON serialized form. Group: json

      Specified by:
      jsonGet in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      paths - the paths, must not be null. If no path are passed, this is equivalent to JsonCommands.jsonGetObject(Object), if multiple paths are passed, the produced JSON object contains the result (as a json array) for each path.
      Returns:
      the stored JSON object, null if it does not exist. If no path are passed, this is equivalent to JsonCommands.jsonGetObject(Object). If multiple paths are passed, the produced JSON object contains the result for each pass as a JSON array.
    • jsonArrAppend

      public <T> List<Integer> jsonArrAppend(K key, String path, T... values)
      Description copied from interface: JsonCommands
      Execute the command JSON.ARRAPPEND. Summary: Append the json values into the array at path after the last element in it. Group: json

      Specified by:
      jsonArrAppend in interface JsonCommands<K>
      Type Parameters:
      T - the type of value
      Parameters:
      key - the key, must not be null
      path - the path, must not be null
      values - the values to append, encoded to JSON
      Returns:
      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> List<Integer> jsonArrIndex(K key, String path, T value, int start, int end)
      Description copied from interface: JsonCommands
      Execute the command JSON.ARRINDEX. Summary: Searches for the first occurrence of a scalar JSON value in an array. Group: json

      Specified by:
      jsonArrIndex in interface JsonCommands<K>
      Type Parameters:
      T - the type of value
      Parameters:
      key - the key, must not be null
      path - the path, must not be null
      value - the value to be searched, encoded to JSON
      start - the start index
      end - the end index
      Returns:
      a list with the first position in the array of each JSON value that matches the path, -1 if not found in the array, or null if the matching JSON value is not an array.
    • jsonArrIndex

      public <T> List<Integer> jsonArrIndex(K key, String path, T value)
      Description copied from interface: JsonCommands
      Execute the command JSON.ARRINDEX. Summary: Searches for the first occurrence of a scalar JSON value in an array. Group: json

      Specified by:
      jsonArrIndex in interface JsonCommands<K>
      Type Parameters:
      T - the type of value
      Parameters:
      key - the key, must not be null
      path - the path, must not be null
      value - the value to be searched, encoded to JSON
      Returns:
      a list with the first position in the array of each JSON value that matches the path, -1 if not found in the array, or null if the matching JSON value is not an array.
    • jsonArrInsert

      public <T> List<Integer> jsonArrInsert(K key, String path, int index, T... values)
      Description copied from interface: JsonCommands
      Execute 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:
      jsonArrInsert in interface JsonCommands<K>
      Type Parameters:
      T - the type of value
      Parameters:
      key - the key, must not be null
      path - the path, must not be null
      index - 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 list of integer containing for each path, the array's new size or null if the matching JSON value is not an array.
    • jsonArrLen

      public List<Integer> jsonArrLen(K key, String path)
      Description copied from interface: JsonCommands
      Execute the command JSON.ARRLEN. Summary: Reports the length of the JSON Array at path in key. Group: json

      Specified by:
      jsonArrLen in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - the path, null means $
      Returns:
      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> List<T> jsonArrPop(K key, Class<T> clazz, String path, int index)
      Description copied from interface: JsonCommands
      Execute the command JSON.ARRPOP. Summary: Removes and returns an element from the index in the array. Group: json

      Specified by:
      jsonArrPop in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      clazz - the type of the popped object
      path - 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 list of T including for each path, an instance of T rebuilt from the JSON value, or null if the matching JSON value is not an array. Popping an empty array produces null.
    • jsonArrTrim

      public List<Integer> jsonArrTrim(K key, String path, int start, int stop)
      Description copied from interface: JsonCommands
      Execute the command JSON.ARRTRIM. Summary: Trims an array so that it contains only the specified inclusive range of elements. Group: json

      Specified by:
      jsonArrTrim in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - path the path, must not be null
      start - the start index
      stop - the stop index
      Returns:
      a list of integer containing, for each path, the array's new size, or null if the matching JSON value is not an array.
    • jsonClear

      public int jsonClear(K key, String path)
      Description copied from interface: JsonCommands
      Execute the command JSON.CLEAR. Summary: Clears container values (Arrays/Objects), and sets numeric values to 0. Group: json

      Specified by:
      jsonClear in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - path the path, path defaults to $ if not provided. Non-existing paths are ignored.
      Returns:
      the number of value cleared
    • jsonDel

      public int jsonDel(K key, String path)
      Description copied from interface: JsonCommands
      Execute the command JSON.DEL. Summary: Deletes a value. Group: json

      Specified by:
      jsonDel in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - path the path, path defaults to $ if not provided. Non-existing paths are ignored.
      Returns:
      the number of path deleted
    • jsonMget

      public List<io.vertx.core.json.JsonArray> jsonMget(String path, K... keys)
      Description copied from interface: JsonCommands
      Execute the command JSON.MGET. Summary: Returns the values at path from multiple key arguments. Returns null for nonexistent keys and nonexistent paths. Group: json

      Specified by:
      jsonMget in interface JsonCommands<K>
      Parameters:
      path - path the path
      keys - the keys, must not be null, must not contain null
      Returns:
      a list of JsonArray containing each retrieved value
    • jsonNumincrby

      public void jsonNumincrby(K key, String path, double value)
      Description copied from interface: JsonCommands
      Execute the command JSON.NUMINCRBY. Summary: Increments the number value stored at path by number. Group: json

      Specified by:
      jsonNumincrby in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - path the path, path defaults to $ if not provided. Non-existing paths are ignored.
      value - the value to add
    • jsonObjKeys

      public List<List<String>> jsonObjKeys(K key, String path)
      Description copied from interface: JsonCommands
      Execute the command JSON.OBJKEYS. Summary: Returns the keys in the object that's referenced by path. Group: json

      Specified by:
      jsonObjKeys in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - path the path, path defaults to $ if not provided.
      Returns:
      a list containing, for each matching path, the list of keys, or null if the matching JSON value is not an object.
    • jsonObjLen

      public List<Integer> jsonObjLen(K key, String path)
      Description copied from interface: JsonCommands
      Execute the command JSON.OBJLEN. Summary: Reports the number of keys in the JSON Object at path in key. Group: json

      Specified by:
      jsonObjLen in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - path the path, path defaults to $ if not provided.
      Returns:
      a list containing, for each path, the length of the object, null if the matching JSON value is not an object
    • jsonStrAppend

      public List<Integer> jsonStrAppend(K key, String path, String value)
      Description copied from interface: JsonCommands
      Execute the command JSON.STRAPPEND. Summary: Appends the json-string values to the string at path. Group: json

      Specified by:
      jsonStrAppend in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - path the path, path defaults to $ if not provided.
      value - the string to append, must not be null
      Returns:
      a list containing, for each path, the new string length, null if the matching JSON value is not a string.
    • jsonStrLen

      public List<Integer> jsonStrLen(K key, String path)
      Description copied from interface: JsonCommands
      Execute the command JSON.STRLEN. Summary: Reports the length of the JSON String at path in key. Group: json

      Specified by:
      jsonStrLen in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - path the path, path defaults to $ if not provided.
      Returns:
      a list containing, for each path, the length of the string, null if the matching JSON value is not a string. Returns null if the key or path do not exist.
    • jsonToggle

      public List<Boolean> jsonToggle(K key, String path)
      Description copied from interface: JsonCommands
      Execute the command JSON.TOGGLE. Summary: Toggle a boolean value stored at path. Group: json

      Specified by:
      jsonToggle in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - path the path, must not be null
      Returns:
      a list containing, for each path, the new boolean value, null if the matching JSON value is not a boolean.
    • jsonType

      public List<String> jsonType(K key, String path)
      Description copied from interface: JsonCommands
      Execute the command JSON.TYPE. Summary: Reports the type of JSON value at path. Group: json

      Specified by:
      jsonType in interface JsonCommands<K>
      Parameters:
      key - the key, must not be null
      path - path the path, path defaults to $ if not provided.
      Returns:
      a list containing, for each path, the json type as String (string, integer, number, boolean, object, array), empty if no match.