public class SetAllCmd extends CmdBase implements Cmd<Boolean>
An Usage Example:
The following code will stores a key with a value and two subkeys in a k2hdkc cluster.
package com.example;
import ax.antpick.k2hdkc.*;
import com.sun.jna.*;
import com.sun.jna.ptr.*;
import java.io.IOException;
import java.util.*;
import java.util.stream.*;
public class App {
public static void main(String[] args) {
try (Cluster c = Cluster.of("cluster/slave.yaml");
Session s = Session.of(c); ) {
String[] subkeys = {"subkey1", "subkey2"};
SetAllCmd set = SetAllCmd.of("key", "val", subkeys);
assert (set.execute(s).get().isSuccess());
// 1. get key
GetCmd get = GetCmd.of("key");
String str = (String) get.execute(sess).get().getValue();
System.out.println(str);
// 2. get subkeys
GetSubkeysCmd getsub = GetSubkeysCmd.of("key");
List<String> list = (List<String>) get.execute(sess).get().getValue();
System.out.println(list.get(0)); // subkey1
System.out.println(list.get(1)); // subkey2
} catch (IOException ex) {
System.out.println(ex.getMessage());
assert (false);
}
}
}
You shoule see only the "key", "subkey1" and "subkey2" message on the stdout if you could successfully run it. Before running the code above, You should run three processes.
The following commands in this repository will run all processes you need in localhost.
$ cd cluster
$ sh start_server.sh
Cmd.DataType
DEFAULT_CHECK_PARENT_ATTRS, DEFAULT_EXPIRATION_DURATION, DEFAULT_IS_CHECK_PARENT_ATTRS, DEFAULT_IS_CLEAR_SUBKEYS, DEFAULT_IS_FIFO, DEFAULT_IS_INCREMENT, DEFAULT_NEED_RETURN_VALUE, DEFAULT_PARENT_KEY, DEFAULT_PASS, DEFAULT_REMOVE_ELEMENT_SIZE, DEFAULT_REMOVE_RECURSIVELY, DEFAULT_SUBKEYS
Modifier and Type | Method and Description |
---|---|
<T> Optional<Result<T>> |
execute(Session session)
Stores a key with a value and subkeys.
|
static SetAllCmd |
of(String key,
String val)
Constructs a SetAllCmd instance.
|
static SetAllCmd |
of(String key,
String val,
String[] subkeys)
Constructs a SetAllCmd instance.
|
static SetAllCmd |
of(String key,
String val,
String[] subkeys,
String pass,
long expirationDuration)
Constructs a SetAllCmd instance.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
bytesToInt, getValusAsInt
public static SetAllCmd of(String key, String val)
key
- a key stringval
- a val stringIllegalArgumentException
- if a key or a val string is null or emptypublic static SetAllCmd of(String key, String val, String[] subkeys)
key
- a key stringval
- a val stringsubkeys
- an array of subkey stringsIllegalArgumentException
- if a key or a val string is null or emptypublic static SetAllCmd of(String key, String val, String[] subkeys, String pass, long expirationDuration)
key
- a key stringval
- a val stringsubkeys
- an array of subkey stringspass
- a password stringexpirationDuration
- a duration to expire.IllegalArgumentException
- if a key or a val string is null or emptypublic <T> Optional<Result<T>> execute(Session session) throws IOException
execute
in interface Cmd<Boolean>
session
- a session instanceIllegalArgumentException
- if an illegal augment existsIOException
- if underlying library errors occur.Copyright © 2020. All rights reserved.