public class GetSubkeysCmd extends CmdBase implements Cmd<List<String>>
An Usage Example:
Suppose you want to get subkeys of "key" from a k2hdkc cluster. You could write this as:
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); ) {
// 1. add a subkey
AddSubkeyCmd cmd = AddSubkeyCmd.of("key", "subkey");
System.out.println(cmd.execute(s).get().getValue()); // true
// 2. get subkeys
GetSubkeysCmd get = GetSubkeysCmd.of("key");
List<String> list = (List<String>) get.execute(s).get().getValue(); // subkey
System.out.println(list.get(0)); // subkey
// 3. clear subkeys
ClearSubkeysCmd clear = ClearSubkeysCmd.of("key");
System.out.println(clear.execute(s).get().getValue()); // true
} catch (IOException ex) {
System.out.println(ex.getMessage());
assert (false);
}
}
}
You shoule see the "true" 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)
Retrievs subkeys of a key.
|
static GetSubkeysCmd |
of(String key)
Constructs a GetSubkeysCmd instance.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
bytesToInt, getValusAsInt
public static GetSubkeysCmd of(String key)
key
- a key stringIllegalArgumentException
- if a key string is null or emptypublic <T> Optional<Result<T>> execute(Session session) throws IOException
execute
in interface Cmd<List<String>>
session
- a Session instanceIllegalArgumentException
- if an illegal augment existsIOException
- if underlying library errors occur.Copyright © 2020. All rights reserved.