ZKUtil (Apache ZooKeeper - Server 3.7.0 API)
Date: 2021-03-17

org.apache.zookeeper

## Class ZKUtil

- java.lang.Object
- - org.apache.zookeeper.ZKUtil

-     public class ZKUtil
      extends Object

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ZKUtil()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static String` | `aclToString(List<ACL> acls)`
    `static void` | `deleteRecursive(ZooKeeper zk, String pathRoot)` Same as `deleteRecursive(org.apache.zookeeper.ZooKeeper, java.lang.String, int)` kept here for compatibility with 3.5 clients.
    `static void` | `deleteRecursive(ZooKeeper zk, String pathRoot, AsyncCallback.VoidCallback cb, Object ctx)` Recursively delete the node with the given path.
    `static boolean` | `deleteRecursive(ZooKeeper zk, String pathRoot, int batchSize)` Recursively delete the node with the given path.
    `static String` | `getPermString(int perms)`
    `static List<String>` | `listSubTreeBFS(ZooKeeper zk, String pathRoot)` BFS Traversal of the system under pathRoot, with the entries in the list, in the same order as that of the traversal.
    `static String` | `validateFileInput(String filePath)`
    `static void` | `visitSubTreeDFS(ZooKeeper zk, String path, boolean watch, AsyncCallback.StringCallback cb)` Visits the subtree with root as given path and calls the passed callback with each znode found during the search.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ZKUtil

          public ZKUtil()

  - ### Method Detail

    - #### deleteRecursive

          public static boolean deleteRecursive(ZooKeeper zk,
                                                String pathRoot,
                                                int batchSize)
                                         throws InterruptedException,
                                                KeeperException

      Recursively delete the node with the given path.

      Important: All versions, of all nodes, under the given node are deleted.

      If there is an error with deleting one of the sub-nodes in the tree, this operation would abort and would be the responsibility of the app to handle the same.

      Throws:
        `IllegalArgumentException` - if an invalid path is specified
        `InterruptedException`
        `KeeperException`

    - #### deleteRecursive

          public static void deleteRecursive(ZooKeeper zk,
                                             String pathRoot)
                                      throws InterruptedException,
                                             KeeperException

      Same as `deleteRecursive(org.apache.zookeeper.ZooKeeper, java.lang.String, int)` kept here for compatibility with 3.5 clients.
      Throws:
        `InterruptedException`
        `KeeperException`
      Since:
        3.6.1

    - #### deleteRecursive

          public static void deleteRecursive(ZooKeeper zk,
                                             String pathRoot,
                                             AsyncCallback.VoidCallback cb,
                                             Object ctx)
                                      throws InterruptedException,
                                             KeeperException

      Recursively delete the node with the given path. (async version).

      Important: All versions, of all nodes, under the given node are deleted.

      If there is an error with deleting one of the sub-nodes in the tree, this operation would abort and would be the responsibility of the app to handle the same.

      Parameters:
        `zk` - the zookeeper handle
        `pathRoot` - the path to be deleted
        `cb` - call back method
        `ctx` - the context the callback method is called with
      Throws:
        `IllegalArgumentException` - if an invalid path is specified
        `InterruptedException`
        `KeeperException`

    - #### validateFileInput

          public static String validateFileInput(String filePath)

      Parameters:
        `filePath` - the file path to be validated
      Returns:
        Returns null if valid otherwise error message

    - #### listSubTreeBFS

          public static List<String> listSubTreeBFS(ZooKeeper zk,
                                                    String pathRoot)
                                             throws KeeperException,
                                                    InterruptedException

      BFS Traversal of the system under pathRoot, with the entries in the list, in the same order as that of the traversal.

      Important: This is not an atomic snapshot of the tree ever, but the state as it exists across multiple RPCs from zkClient to the ensemble. For practical purposes, it is suggested to bring the clients to the ensemble down (i.e. prevent writes to pathRoot) to 'simulate' a snapshot behavior.

      Parameters:
        `zk` - the zookeeper handle
        `pathRoot` - The znode path, for which the entire subtree needs to be listed.
      Throws:
        `InterruptedException`
        `KeeperException`

    - #### visitSubTreeDFS

          public static void visitSubTreeDFS(ZooKeeper zk,
                                             String path,
                                             boolean watch,
                                             AsyncCallback.StringCallback cb)
                                      throws KeeperException,
                                             InterruptedException

      Visits the subtree with root as given path and calls the passed callback with each znode found during the search. It performs a depth-first, pre-order traversal of the tree.

      Important: This is not an atomic snapshot of the tree ever, but the state as it exists across multiple RPCs from zkClient to the ensemble. For practical purposes, it is suggested to bring the clients to the ensemble down (i.e. prevent writes to pathRoot) to 'simulate' a snapshot behavior.

      Throws:
        `KeeperException`
        `InterruptedException`

    - #### getPermString

          public static String getPermString(int perms)

      Parameters:
        `perms` - ACL permissions
      Returns:
        string representation of permissions

    - #### aclToString

          public static String aclToString(List<ACL> acls)

Copyright © 2008–2021 The Apache Software Foundation. All rights reserved.