<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!-- Generated by the JDiff Javadoc doclet -->
<!-- (http://www.jdiff.org) -->
<!-- on Fri Jun 29 17:05:06 UTC 2018 -->

<api
  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
  xsi:noNamespaceSchemaLocation='api.xsd'
  name="zookeeper 3.4.13"
  jdversion="1.0.9">

<!--  Command line arguments =  -doclet jdiff.JDiff -docletpath /home/ubuntu/zookeeper/build/jdiff/lib/jdiff-1.0.9.jar:/home/ubuntu/zookeeper/build/jdiff/lib/xerces-1.4.4.jar -classpath /home/ubuntu/zookeeper/build/classes:/home/ubuntu/zookeeper/src/java/lib/ivy-2.4.0.jar:/home/ubuntu/zookeeper/build/lib/audience-annotations-0.5.0.jar:/home/ubuntu/zookeeper/build/lib/jline-0.9.94.jar:/home/ubuntu/zookeeper/build/lib/log4j-1.2.17.jar:/home/ubuntu/zookeeper/build/lib/netty-3.10.6.Final.jar:/home/ubuntu/zookeeper/build/lib/slf4j-api-1.7.25.jar:/home/ubuntu/zookeeper/build/lib/slf4j-log4j12-1.7.25.jar -sourcepath /home/ubuntu/zookeeper/src/java/main -doclet jdiff.JDiff -docletpath /home/ubuntu/zookeeper/build/jdiff/lib/jdiff-1.0.9.jar:/home/ubuntu/zookeeper/build/jdiff/lib/xerces-1.4.4.jar -apidir /home/ubuntu/zookeeper/src/java/lib/jdiff -apiname zookeeper 3.4.13 -->
<package name="org.apache.zookeeper">
  <!-- start interface org.apache.zookeeper.AsyncCallback -->
  <interface name="AsyncCallback"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <doc>
    <![CDATA[Interface definitions of asynchronous callbacks.
 An asynchronous callback is deferred to invoke after a function returns.
 Asynchronous calls usually improve system efficiency on IO-related APIs.
 <p/>
 ZooKeeper provides asynchronous version as equivalent to synchronous APIs.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.zookeeper.AsyncCallback -->
  <!-- start interface org.apache.zookeeper.AsyncCallback.ACLCallback -->
  <interface name="AsyncCallback.ACLCallback"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.zookeeper.AsyncCallback"/>
    <method name="processResult"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rc" type="int"/>
      <param name="path" type="java.lang.String"/>
      <param name="ctx" type="java.lang.Object"/>
      <param name="acl" type="java.util.List"/>
      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
      <doc>
      <![CDATA[Process the result of the asynchronous call.
 <p/>
 On success, rc is
 {@link org.apache.zookeeper.KeeperException.Code#OK}.
 <p/>
 On failure, rc is set to the corresponding failure code in
 {@link org.apache.zookeeper.KeeperException}.
 <ul>
 <li>
 {@link org.apache.zookeeper.KeeperException.Code#NONODE}
 - The node on given path doesn't exist for some API calls.
 </li>
 </ul>

 @param rc   The return code or the result of the call.
 @param path The path that we passed to asynchronous calls.
 @param ctx  Whatever context object that we passed to
             asynchronous calls.
 @param acl  ACL Id in
             {@link org.apache.zookeeper.ZooDefs.Ids}.
 @param stat {@link org.apache.zookeeper.data.Stat} object of
             the node on given path.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This callback is used to retrieve the ACL and stat of the node.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.zookeeper.AsyncCallback.ACLCallback -->
  <!-- start interface org.apache.zookeeper.AsyncCallback.Children2Callback -->
  <interface name="AsyncCallback.Children2Callback"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.zookeeper.AsyncCallback"/>
    <method name="processResult"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rc" type="int"/>
      <param name="path" type="java.lang.String"/>
      <param name="ctx" type="java.lang.Object"/>
      <param name="children" type="java.util.List"/>
      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
      <doc>
      <![CDATA[Process the result of the asynchronous call.
 See {@link org.apache.zookeeper.AsyncCallback.ChildrenCallback}.

 @param rc       The return code or the result of the call.
 @param path     The path that we passed to asynchronous calls.
 @param ctx      Whatever context object that we passed to
                 asynchronous calls.
 @param children An unordered array of children of the node on
                 given path.
 @param stat     {@link org.apache.zookeeper.data.Stat} object of
                 the node on given path.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This callback is used to retrieve the children and stat of the node.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.zookeeper.AsyncCallback.Children2Callback -->
  <!-- start interface org.apache.zookeeper.AsyncCallback.ChildrenCallback -->
  <interface name="AsyncCallback.ChildrenCallback"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.zookeeper.AsyncCallback"/>
    <method name="processResult"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rc" type="int"/>
      <param name="path" type="java.lang.String"/>
      <param name="ctx" type="java.lang.Object"/>
      <param name="children" type="java.util.List"/>
      <doc>
      <![CDATA[Process the result of the asynchronous call.
 <p/>
 On success, rc is
 {@link org.apache.zookeeper.KeeperException.Code#OK}.
 <p/>
 On failure, rc is set to the corresponding failure code in
 {@link org.apache.zookeeper.KeeperException}.
 <ul>
 <li>
 {@link org.apache.zookeeper.KeeperException.Code#NONODE}
 - The node on given path doesn't exist for some API calls.
 </li>
 </ul>

 @param rc       The return code or the result of the call.
 @param path     The path that we passed to asynchronous calls.
 @param ctx      Whatever context object that we passed to
                 asynchronous calls.
 @param children An unordered array of children of the node on
                 given path.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This callback is used to retrieve the children of the node.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.zookeeper.AsyncCallback.ChildrenCallback -->
  <!-- start interface org.apache.zookeeper.AsyncCallback.DataCallback -->
  <interface name="AsyncCallback.DataCallback"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.zookeeper.AsyncCallback"/>
    <method name="processResult"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rc" type="int"/>
      <param name="path" type="java.lang.String"/>
      <param name="ctx" type="java.lang.Object"/>
      <param name="data" type="byte[]"/>
      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
      <doc>
      <![CDATA[Process the result of the asynchronous call.
 <p/>
 On success, rc is
 {@link org.apache.zookeeper.KeeperException.Code#OK}.
 <p/>
 On failure, rc is set to the corresponding failure code in
 {@link org.apache.zookeeper.KeeperException}.
 <ul>
 <li>
 {@link org.apache.zookeeper.KeeperException.Code#NONODE}
 - The node on given path doesn't exist for some API calls.
 </li>
 </ul>

 @param rc   The return code or the result of the call.
 @param path The path that we passed to asynchronous calls.
 @param ctx  Whatever context object that we passed to
             asynchronous calls.
 @param data The {@link org.apache.zookeeper.server.DataNode#data}
             of the node.
 @param stat {@link org.apache.zookeeper.data.Stat} object of
             the node on given path.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This callback is used to retrieve the data and stat of the node.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.zookeeper.AsyncCallback.DataCallback -->
  <!-- start interface org.apache.zookeeper.AsyncCallback.MultiCallback -->
  <interface name="AsyncCallback.MultiCallback"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.zookeeper.AsyncCallback"/>
    <method name="processResult"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rc" type="int"/>
      <param name="path" type="java.lang.String"/>
      <param name="ctx" type="java.lang.Object"/>
      <param name="opResults" type="java.util.List"/>
      <doc>
      <![CDATA[Process the result of the asynchronous call.
 <p/>
 On success, rc is
 {@link org.apache.zookeeper.KeeperException.Code#OK}.
 All opResults are
 non-{@link org.apache.zookeeper.OpResult.ErrorResult},

 <p/>
 On failure, rc is a failure code in
 {@link org.apache.zookeeper.KeeperException.Code}.
 All opResults are
 {@link org.apache.zookeeper.OpResult.ErrorResult}.
 All operations will be rollback-ed even if operations
 before the failing one were successful.

 @param rc   The return code or the result of the call.
 @param path The path that we passed to asynchronous calls.
 @param ctx  Whatever context object that we passed to
             asynchronous calls.
 @param opResults The list of results.
                  One result for each operation,
                  and the order matches that of input.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This callback is used to process the multiple results from
 a single multi call.
 See {@link org.apache.zookeeper.ZooKeeper#multi} for more information.
 @since 3.4.7]]>
    </doc>
  </interface>
  <!-- end interface org.apache.zookeeper.AsyncCallback.MultiCallback -->
  <!-- start interface org.apache.zookeeper.AsyncCallback.StatCallback -->
  <interface name="AsyncCallback.StatCallback"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.zookeeper.AsyncCallback"/>
    <method name="processResult"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rc" type="int"/>
      <param name="path" type="java.lang.String"/>
      <param name="ctx" type="java.lang.Object"/>
      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
      <doc>
      <![CDATA[Process the result of the asynchronous call.
 <p/>
 On success, rc is
 {@link org.apache.zookeeper.KeeperException.Code#OK}.
 <p/>
 On failure, rc is set to the corresponding failure code in
 {@link org.apache.zookeeper.KeeperException}.
 <ul>
 <li>
 {@link org.apache.zookeeper.KeeperException.Code#NONODE}
 - The node on given path doesn't exist for some API calls.
 </li>
 <li>
 {@link org.apache.zookeeper.KeeperException.Code#BADVERSION}
 - The given version doesn't match the node's version
 for some API calls.
 </li>
 </ul>

 @param rc   The return code or the result of the call.
 @param path The path that we passed to asynchronous calls.
 @param ctx  Whatever context object that we passed to
             asynchronous calls.
 @param stat {@link org.apache.zookeeper.data.Stat} object of
             the node on given path.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This callback is used to retrieve the stat of the node.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.zookeeper.AsyncCallback.StatCallback -->
  <!-- start interface org.apache.zookeeper.AsyncCallback.StringCallback -->
  <interface name="AsyncCallback.StringCallback"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.zookeeper.AsyncCallback"/>
    <method name="processResult"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rc" type="int"/>
      <param name="path" type="java.lang.String"/>
      <param name="ctx" type="java.lang.Object"/>
      <param name="name" type="java.lang.String"/>
      <doc>
      <![CDATA[Process the result of the asynchronous call.
 <p/>
 On success, rc is
 {@link org.apache.zookeeper.KeeperException.Code#OK}.
 <p/>
 On failure, rc is set to the corresponding failure code in
 {@link org.apache.zookeeper.KeeperException}.
 <ul>
 <li>
 {@link org.apache.zookeeper.KeeperException.Code#NODEEXISTS}
 - The node on give path already exists for some API calls.
 </li>
 <li>
 {@link org.apache.zookeeper.KeeperException.Code#NONODE}
 - The node on given path doesn't exist for some API calls.
 </li>
 <li>
 {@link
 org.apache.zookeeper.KeeperException.Code#NOCHILDRENFOREPHEMERALS}
 - an ephemeral node cannot have children. There is discussion in
 community. It might be changed in the future.
 </li>
 </ul>

 @param rc   The return code or the result of the call.
 @param path The path that we passed to asynchronous calls.
 @param ctx  Whatever context object that we passed to
             asynchronous calls.
 @param name The name of the Znode that was created.
             On success, <i>name</i> and <i>path</i> are usually
             equal, unless a sequential node has been created.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This callback is used to retrieve the name of the node.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.zookeeper.AsyncCallback.StringCallback -->
  <!-- start interface org.apache.zookeeper.AsyncCallback.VoidCallback -->
  <interface name="AsyncCallback.VoidCallback"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.zookeeper.AsyncCallback"/>
    <method name="processResult"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rc" type="int"/>
      <param name="path" type="java.lang.String"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[Process the result of the asynchronous call.
 <p/>
 On success, rc is
 {@link org.apache.zookeeper.KeeperException.Code#OK}.
 <p/>
 On failure, rc is set to the corresponding failure code in
 {@link org.apache.zookeeper.KeeperException}.
 <ul>
 <li>
 {@link org.apache.zookeeper.KeeperException.Code#NONODE}
 - The node on given path doesn't exist for some API calls.
 </li>
 <li>
 {@link org.apache.zookeeper.KeeperException.Code#BADVERSION}
 - The given version doesn't match the node's version
 for some API calls.
 </li>
 <li>
 {@link org.apache.zookeeper.KeeperException.Code#NOTEMPTY}
 - the node has children and some API calls cannnot succeed,
 e.g. {@link
 org.apache.zookeeper.ZooKeeper#delete(String, int,
 org.apache.zookeeper.AsyncCallback.VoidCallback, Object)}.
 </li>
 </ul>

 @param rc   The return code or the result of the call.
 @param path The path that we passed to asynchronous calls.
 @param ctx  Whatever context object that we passed to
             asynchronous calls.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This callback doesn't retrieve anything from the node. It is useful
 for some APIs that doesn't want anything sent back, e.g. {@link
 org.apache.zookeeper.ZooKeeper#sync(String,
 org.apache.zookeeper.AsyncCallback.VoidCallback, Object)}.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.zookeeper.AsyncCallback.VoidCallback -->
  <!-- start class org.apache.zookeeper.ClientCnxn -->
  <class name="ClientCnxn" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ClientCnxn" type="java.lang.String, org.apache.zookeeper.client.HostProvider, int, org.apache.zookeeper.ZooKeeper, org.apache.zookeeper.ClientWatchManager, org.apache.zookeeper.ClientCnxnSocket, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Creates a connection object. The actual network connect doesn't get
 established until needed. The start() instance method must be called
 subsequent to construction.

 @param chrootPath - the chroot of this client. Should be removed from this Class in ZOOKEEPER-838
 @param hostProvider
                the list of ZooKeeper servers to connect to
 @param sessionTimeout
                the timeout for connections.
 @param zooKeeper
                the zookeeper object that this connection is related to.
 @param watcher watcher for this connection
 @param clientCnxnSocket
                the socket implementation used (e.g. NIO/Netty)
 @param canBeReadOnly
                whether the connection is allowed to go to read-only
                mode in case of partitioning
 @throws IOException]]>
      </doc>
    </constructor>
    <constructor name="ClientCnxn" type="java.lang.String, org.apache.zookeeper.client.HostProvider, int, org.apache.zookeeper.ZooKeeper, org.apache.zookeeper.ClientWatchManager, org.apache.zookeeper.ClientCnxnSocket, long, byte[], boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Creates a connection object. The actual network connect doesn't get
 established until needed. The start() instance method must be called
 subsequent to construction.

 @param chrootPath - the chroot of this client. Should be removed from this Class in ZOOKEEPER-838
 @param hostProvider
                the list of ZooKeeper servers to connect to
 @param sessionTimeout
                the timeout for connections.
 @param zooKeeper
                the zookeeper object that this connection is related to.
 @param watcher watcher for this connection
 @param clientCnxnSocket
                the socket implementation used (e.g. NIO/Netty)
 @param sessionId session id if re-establishing session
 @param sessionPasswd session passwd if re-establishing session
 @param canBeReadOnly
                whether the connection is allowed to go to read-only
                mode in case of partitioning
 @throws IOException]]>
      </doc>
    </constructor>
    <method name="getSessionId" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSessionPasswd" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSessionTimeout" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDisableAutoResetWatch" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[tests use this to check on reset of watches
 @return if the auto reset of watches are disabled]]>
      </doc>
    </method>
    <method name="setDisableAutoResetWatch"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="boolean"/>
      <doc>
      <![CDATA[tests use this to set the auto reset
 @param b the value to set disable watches to]]>
      </doc>
    </method>
    <method name="start"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLastZxid" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="disconnect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Shutdown the send/event threads. This method should not be called
 directly - rather it should be called as part of close operation. This
 method is primarily here to allow the tests to verify disconnection
 behavior.]]>
      </doc>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Close the connection, which includes; send session disconnect to the
 server, shutdown the send/event threads.

 @throws IOException]]>
      </doc>
    </method>
    <method name="getXid" return="int"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="submitRequest" return="org.apache.zookeeper.proto.ReplyHeader"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="h" type="org.apache.zookeeper.proto.RequestHeader"/>
      <param name="request" type="org.apache.jute.Record"/>
      <param name="response" type="org.apache.jute.Record"/>
      <param name="watchRegistration" type="org.apache.zookeeper.ZooKeeper.WatchRegistration"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="enableWrite"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="sendPacket"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="request" type="org.apache.jute.Record"/>
      <param name="response" type="org.apache.jute.Record"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback"/>
      <param name="opCode" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="addAuthInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scheme" type="java.lang.String"/>
      <param name="auth" type="byte[]"/>
    </method>
    <field name="zooKeeperSaslClient" type="org.apache.zookeeper.client.ZooKeeperSaslClient"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="packetLen" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This class manages the socket i/o for the client. ClientCnxn maintains a list
 of available servers to connect to and "transparently" switches servers it is
 connected to as needed.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.ClientCnxn -->
  <!-- start class org.apache.zookeeper.ClientCnxnSocketNIO -->
  <class name="ClientCnxnSocketNIO" extends="org.apache.zookeeper.ClientCnxnSocket"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="disableWrite"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.zookeeper.ClientCnxnSocketNIO -->
  <!-- start interface org.apache.zookeeper.ClientWatchManager -->
  <interface name="ClientWatchManager"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="materialize" return="java.util.Set"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="state" type="org.apache.zookeeper.Watcher.Event.KeeperState"/>
      <param name="type" type="org.apache.zookeeper.Watcher.Event.EventType"/>
      <param name="path" type="java.lang.String"/>
      <doc>
      <![CDATA[Return a set of watchers that should be notified of the event. The 
 manager must not notify the watcher(s), however it will update it's 
 internal structure as if the watches had triggered. The intent being 
 that the callee is now responsible for notifying the watchers of the 
 event, possibly at some later time.
 
 @param state event state
 @param type event type
 @param path event path
 @return may be empty set but must not be null]]>
      </doc>
    </method>
  </interface>
  <!-- end interface org.apache.zookeeper.ClientWatchManager -->
  <!-- start class org.apache.zookeeper.CreateMode -->
  <class name="CreateMode" extends="java.lang.Enum"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.zookeeper.CreateMode[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.zookeeper.CreateMode"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="isEphemeral" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSequential" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toFlag" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="fromFlag" return="org.apache.zookeeper.CreateMode"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="flag" type="int"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <doc>
      <![CDATA[Map an integer value to a CreateMode value]]>
      </doc>
    </method>
    <field name="PERSISTENT" type="org.apache.zookeeper.CreateMode"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The znode will not be automatically deleted upon client's disconnect.]]>
      </doc>
    </field>
    <field name="PERSISTENT_SEQUENTIAL" type="org.apache.zookeeper.CreateMode"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The znode will not be automatically deleted upon client's disconnect,
 and its name will be appended with a monotonically increasing number.]]>
      </doc>
    </field>
    <field name="EPHEMERAL" type="org.apache.zookeeper.CreateMode"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The znode will be deleted upon the client's disconnect.]]>
      </doc>
    </field>
    <field name="EPHEMERAL_SEQUENTIAL" type="org.apache.zookeeper.CreateMode"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The znode will be deleted upon the client's disconnect, and its name
 will be appended with a monotonically increasing number.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[CreateMode value determines how the znode is created on ZooKeeper.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.CreateMode -->
  <!-- start class org.apache.zookeeper.Environment -->
  <class name="Environment" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Environment"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="list" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="logEnv"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="msg" type="java.lang.String"/>
      <param name="log" type="org.slf4j.Logger"/>
    </method>
    <field name="JAAS_CONF_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Provide insight into the runtime environment.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.Environment -->
  <!-- start class org.apache.zookeeper.Environment.Entry -->
  <class name="Environment.Entry" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Entry" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getKey" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.zookeeper.Environment.Entry -->
  <!-- start class org.apache.zookeeper.KeeperException -->
  <class name="KeeperException" extends="java.lang.Exception"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="KeeperException" type="org.apache.zookeeper.KeeperException.Code"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="create" return="org.apache.zookeeper.KeeperException"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="code" type="org.apache.zookeeper.KeeperException.Code"/>
      <param name="path" type="java.lang.String"/>
      <doc>
      <![CDATA[All non-specific keeper exceptions should be constructed via
 this factory method in order to guarantee consistency in error
 codes and such.  If you know the error code, then you should
 construct the special purpose exception directly.  That will
 allow you to have the most specific possible declarations of
 what exceptions might actually be thrown.

 @param code The error code.
 @param path The ZooKeeper path being operated on.
 @return The specialized exception, presumably to be thrown by
  the caller.]]>
      </doc>
    </method>
    <method name="create" return="org.apache.zookeeper.KeeperException"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link #create(Code, String)}
 instead">
      <param name="code" type="int"/>
      <param name="path" type="java.lang.String"/>
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link #create(Code, String)}
 instead]]>
      </doc>
    </method>
    <method name="create" return="org.apache.zookeeper.KeeperException"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link #create(Code)}
 instead">
      <param name="code" type="int"/>
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link #create(Code)}
 instead]]>
      </doc>
    </method>
    <method name="create" return="org.apache.zookeeper.KeeperException"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="code" type="org.apache.zookeeper.KeeperException.Code"/>
      <doc>
      <![CDATA[All non-specific keeper exceptions should be constructed via
 this factory method in order to guarantee consistency in error
 codes and such.  If you know the error code, then you should
 construct the special purpose exception directly.  That will
 allow you to have the most specific possible declarations of
 what exceptions might actually be thrown.

 @param code The error code of your new exception.  This will
 also determine the specific type of the exception that is
 returned.
 @return The specialized exception, presumably to be thrown by
 the caller.]]>
      </doc>
    </method>
    <method name="setCode"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="deprecated in 3.1.0, exceptions should be immutable, this
 method should not be used">
      <param name="code" type="int"/>
      <doc>
      <![CDATA[Set the code for this exception
 @param code error code
 @deprecated deprecated in 3.1.0, exceptions should be immutable, this
 method should not be used]]>
      </doc>
    </method>
    <method name="getCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link #code()} instead">
      <doc>
      <![CDATA[Read the error code for this exception
 @return the error code for this exception
 @deprecated deprecated in 3.1.0, use {@link #code()} instead]]>
      </doc>
    </method>
    <method name="code" return="org.apache.zookeeper.KeeperException.Code"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Read the error Code for this exception
 @return the error Code for this exception]]>
      </doc>
    </method>
    <method name="getPath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Read the path for this exception
 @return the path associated with this error, null if none]]>
      </doc>
    </method>
    <method name="getMessage" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getResults" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[If this exception was thrown by a multi-request then the (partial) results
 and error codes can be retrieved using this getter.
 @return A copy of the list of results from the operations in the multi-request.

 @since 3.4.0]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException -->
  <!-- start class org.apache.zookeeper.KeeperException.APIErrorException -->
  <class name="KeeperException.APIErrorException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="APIErrorException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#APIERROR]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.APIErrorException -->
  <!-- start class org.apache.zookeeper.KeeperException.AuthFailedException -->
  <class name="KeeperException.AuthFailedException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AuthFailedException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#AUTHFAILED]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.AuthFailedException -->
  <!-- start class org.apache.zookeeper.KeeperException.BadArgumentsException -->
  <class name="KeeperException.BadArgumentsException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BadArgumentsException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BadArgumentsException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#BADARGUMENTS]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.BadArgumentsException -->
  <!-- start class org.apache.zookeeper.KeeperException.BadVersionException -->
  <class name="KeeperException.BadVersionException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BadVersionException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BadVersionException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#BADVERSION]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.BadVersionException -->
  <!-- start class org.apache.zookeeper.KeeperException.Code -->
  <class name="KeeperException.Code" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.zookeeper.KeeperException.CodeDeprecated"/>
    <method name="values" return="org.apache.zookeeper.KeeperException.Code[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.zookeeper.KeeperException.Code"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="intValue" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the int value for a particular Code.
 @return error code as integer]]>
      </doc>
    </method>
    <method name="get" return="org.apache.zookeeper.KeeperException.Code"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="code" type="int"/>
      <doc>
      <![CDATA[Get the Code value for a particular integer error code
 @param code int error code
 @return Code value corresponding to specified int code, or null]]>
      </doc>
    </method>
    <field name="OK" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Everything is OK]]>
      </doc>
    </field>
    <field name="SYSTEMERROR" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[System and server-side errors.
 This is never thrown by the server, it shouldn't be used other than
 to indicate a range. Specifically error codes greater than this
 value, but lesser than {@link #APIERROR}, are system errors.]]>
      </doc>
    </field>
    <field name="RUNTIMEINCONSISTENCY" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[A runtime inconsistency was found]]>
      </doc>
    </field>
    <field name="DATAINCONSISTENCY" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[A data inconsistency was found]]>
      </doc>
    </field>
    <field name="CONNECTIONLOSS" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Connection to the server has been lost]]>
      </doc>
    </field>
    <field name="MARSHALLINGERROR" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Error while marshalling or unmarshalling data]]>
      </doc>
    </field>
    <field name="UNIMPLEMENTED" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Operation is unimplemented]]>
      </doc>
    </field>
    <field name="OPERATIONTIMEOUT" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Operation timeout]]>
      </doc>
    </field>
    <field name="BADARGUMENTS" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Invalid arguments]]>
      </doc>
    </field>
    <field name="APIERROR" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[API errors.
 This is never thrown by the server, it shouldn't be used other than
 to indicate a range. Specifically error codes greater than this
 value are API errors (while values less than this indicate a
 {@link #SYSTEMERROR}).]]>
      </doc>
    </field>
    <field name="NONODE" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Node does not exist]]>
      </doc>
    </field>
    <field name="NOAUTH" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Not authenticated]]>
      </doc>
    </field>
    <field name="BADVERSION" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Version conflict]]>
      </doc>
    </field>
    <field name="NOCHILDRENFOREPHEMERALS" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Ephemeral nodes may not have children]]>
      </doc>
    </field>
    <field name="NODEEXISTS" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The node already exists]]>
      </doc>
    </field>
    <field name="NOTEMPTY" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The node has children]]>
      </doc>
    </field>
    <field name="SESSIONEXPIRED" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The session has been expired by the server]]>
      </doc>
    </field>
    <field name="INVALIDCALLBACK" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Invalid callback specified]]>
      </doc>
    </field>
    <field name="INVALIDACL" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Invalid ACL specified]]>
      </doc>
    </field>
    <field name="AUTHFAILED" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Client authentication failed]]>
      </doc>
    </field>
    <field name="SESSIONMOVED" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Session moved to another server, so operation is ignored]]>
      </doc>
    </field>
    <field name="NOTREADONLY" type="org.apache.zookeeper.KeeperException.Code"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[State-changing request is passed to read-only server]]>
      </doc>
    </field>
    <doc>
    <![CDATA[Codes which represent the various KeeperException
 types. This enum replaces the deprecated earlier static final int
 constants. The old, deprecated, values are in "camel case" while the new
 enum values are in all CAPS.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.Code -->
  <!-- start interface org.apache.zookeeper.KeeperException.CodeDeprecated -->
  <interface name="KeeperException.CodeDeprecated"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <field name="Ok" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#OK} instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#OK} instead]]>
      </doc>
    </field>
    <field name="SystemError" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#SYSTEMERROR} instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#SYSTEMERROR} instead]]>
      </doc>
    </field>
    <field name="RuntimeInconsistency" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use
 {@link Code#RUNTIMEINCONSISTENCY} instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use
 {@link Code#RUNTIMEINCONSISTENCY} instead]]>
      </doc>
    </field>
    <field name="DataInconsistency" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#DATAINCONSISTENCY}
 instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#DATAINCONSISTENCY}
 instead]]>
      </doc>
    </field>
    <field name="ConnectionLoss" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#CONNECTIONLOSS}
 instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#CONNECTIONLOSS}
 instead]]>
      </doc>
    </field>
    <field name="MarshallingError" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#MARSHALLINGERROR}
 instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#MARSHALLINGERROR}
 instead]]>
      </doc>
    </field>
    <field name="Unimplemented" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#UNIMPLEMENTED}
 instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#UNIMPLEMENTED}
 instead]]>
      </doc>
    </field>
    <field name="OperationTimeout" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#OPERATIONTIMEOUT}
 instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#OPERATIONTIMEOUT}
 instead]]>
      </doc>
    </field>
    <field name="BadArguments" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#BADARGUMENTS}
 instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#BADARGUMENTS}
 instead]]>
      </doc>
    </field>
    <field name="APIError" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#APIERROR} instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#APIERROR} instead]]>
      </doc>
    </field>
    <field name="NoNode" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#NONODE} instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#NONODE} instead]]>
      </doc>
    </field>
    <field name="NoAuth" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#NOAUTH} instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#NOAUTH} instead]]>
      </doc>
    </field>
    <field name="BadVersion" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#BADVERSION} instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#BADVERSION} instead]]>
      </doc>
    </field>
    <field name="NoChildrenForEphemerals" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use
 {@link Code#NOCHILDRENFOREPHEMERALS}
 instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use
 {@link Code#NOCHILDRENFOREPHEMERALS}
 instead]]>
      </doc>
    </field>
    <field name="NodeExists" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#NODEEXISTS} instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#NODEEXISTS} instead]]>
      </doc>
    </field>
    <field name="NotEmpty" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#NOTEMPTY} instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#NOTEMPTY} instead]]>
      </doc>
    </field>
    <field name="SessionExpired" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#SESSIONEXPIRED} instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#SESSIONEXPIRED} instead]]>
      </doc>
    </field>
    <field name="InvalidCallback" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#INVALIDCALLBACK}
 instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#INVALIDCALLBACK}
 instead]]>
      </doc>
    </field>
    <field name="InvalidACL" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#INVALIDACL} instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#INVALIDACL} instead]]>
      </doc>
    </field>
    <field name="AuthFailed" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="deprecated in 3.1.0, use {@link Code#AUTHFAILED} instead">
      <doc>
      <![CDATA[@deprecated deprecated in 3.1.0, use {@link Code#AUTHFAILED} instead]]>
      </doc>
    </field>
    <doc>
    <![CDATA[This interface contains the original static final int constants
 which have now been replaced with an enumeration in Code. Do not
 reference this class directly, if necessary (legacy code) continue
 to access the constants through Code.
 Note: an interface is used here due to the fact that enums cannot
 reference constants defined within the same enum as said constants
 are considered initialized _after_ the enum itself. By using an
 interface as a super type this allows the deprecated constants to
 be initialized first and referenced when constructing the enums. I
 didn't want to have constants declared twice. This
 interface should be private, but it's declared public to enable
 javadoc to include in the user API spec.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.zookeeper.KeeperException.CodeDeprecated -->
  <!-- start class org.apache.zookeeper.KeeperException.ConnectionLossException -->
  <class name="KeeperException.ConnectionLossException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ConnectionLossException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#CONNECTIONLOSS]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.ConnectionLossException -->
  <!-- start class org.apache.zookeeper.KeeperException.DataInconsistencyException -->
  <class name="KeeperException.DataInconsistencyException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DataInconsistencyException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#DATAINCONSISTENCY]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.DataInconsistencyException -->
  <!-- start class org.apache.zookeeper.KeeperException.InvalidACLException -->
  <class name="KeeperException.InvalidACLException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InvalidACLException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InvalidACLException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#INVALIDACL]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.InvalidACLException -->
  <!-- start class org.apache.zookeeper.KeeperException.InvalidCallbackException -->
  <class name="KeeperException.InvalidCallbackException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InvalidCallbackException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#INVALIDCALLBACK]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.InvalidCallbackException -->
  <!-- start class org.apache.zookeeper.KeeperException.MarshallingErrorException -->
  <class name="KeeperException.MarshallingErrorException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MarshallingErrorException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#MARSHALLINGERROR]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.MarshallingErrorException -->
  <!-- start class org.apache.zookeeper.KeeperException.NoAuthException -->
  <class name="KeeperException.NoAuthException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NoAuthException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#NOAUTH]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.NoAuthException -->
  <!-- start class org.apache.zookeeper.KeeperException.NoChildrenForEphemeralsException -->
  <class name="KeeperException.NoChildrenForEphemeralsException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NoChildrenForEphemeralsException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NoChildrenForEphemeralsException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#NOCHILDRENFOREPHEMERALS]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.NoChildrenForEphemeralsException -->
  <!-- start class org.apache.zookeeper.KeeperException.NodeExistsException -->
  <class name="KeeperException.NodeExistsException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NodeExistsException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NodeExistsException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#NODEEXISTS]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.NodeExistsException -->
  <!-- start class org.apache.zookeeper.KeeperException.NoNodeException -->
  <class name="KeeperException.NoNodeException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NoNodeException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NoNodeException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#NONODE]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.NoNodeException -->
  <!-- start class org.apache.zookeeper.KeeperException.NotEmptyException -->
  <class name="KeeperException.NotEmptyException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NotEmptyException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NotEmptyException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#NOTEMPTY]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.NotEmptyException -->
  <!-- start class org.apache.zookeeper.KeeperException.NotReadOnlyException -->
  <class name="KeeperException.NotReadOnlyException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NotReadOnlyException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#NOTREADONLY]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.NotReadOnlyException -->
  <!-- start class org.apache.zookeeper.KeeperException.OperationTimeoutException -->
  <class name="KeeperException.OperationTimeoutException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="OperationTimeoutException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#OPERATIONTIMEOUT]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.OperationTimeoutException -->
  <!-- start class org.apache.zookeeper.KeeperException.RuntimeInconsistencyException -->
  <class name="KeeperException.RuntimeInconsistencyException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="RuntimeInconsistencyException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#RUNTIMEINCONSISTENCY]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.RuntimeInconsistencyException -->
  <!-- start class org.apache.zookeeper.KeeperException.SessionExpiredException -->
  <class name="KeeperException.SessionExpiredException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SessionExpiredException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#SESSIONEXPIRED]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.SessionExpiredException -->
  <!-- start class org.apache.zookeeper.KeeperException.SessionMovedException -->
  <class name="KeeperException.SessionMovedException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SessionMovedException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#SESSIONMOVED]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.SessionMovedException -->
  <!-- start class org.apache.zookeeper.KeeperException.SystemErrorException -->
  <class name="KeeperException.SystemErrorException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SystemErrorException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#SYSTEMERROR]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.SystemErrorException -->
  <!-- start class org.apache.zookeeper.KeeperException.UnimplementedException -->
  <class name="KeeperException.UnimplementedException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UnimplementedException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[@see Code#UNIMPLEMENTED]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.KeeperException.UnimplementedException -->
  <!-- start class org.apache.zookeeper.Login -->
  <class name="Login" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Login" type="java.lang.String, javax.security.auth.callback.CallbackHandler"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="LoginException" type="javax.security.auth.login.LoginException"/>
      <doc>
      <![CDATA[LoginThread constructor. The constructor starts the thread used
 to periodically re-login to the Kerberos Ticket Granting Server.
 @param loginContextName
               name of section in JAAS file that will be use to login.
               Passed as first param to javax.security.auth.login.LoginContext().

 @param callbackHandler
               Passed as second param to javax.security.auth.login.LoginContext().
 @throws javax.security.auth.login.LoginException
               Thrown if authentication fails.]]>
      </doc>
    </constructor>
    <method name="startThreadIfNeeded"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="shutdown"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSubject" return="javax.security.auth.Subject"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLoginContextName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="callbackHandler" type="javax.security.auth.callback.CallbackHandler"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.zookeeper.Login -->
  <!-- start class org.apache.zookeeper.MultiResponse -->
  <class name="MultiResponse" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.jute.Record"/>
    <implements name="java.lang.Iterable"/>
    <constructor name="MultiResponse"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="x" type="org.apache.zookeeper.OpResult"/>
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="serialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="archive" type="org.apache.jute.OutputArchive"/>
      <param name="tag" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="deserialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="archive" type="org.apache.jute.InputArchive"/>
      <param name="tag" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getResultList" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Handles the response from a multi request.  Such a response consists of
 a sequence of responses each prefixed by a MultiResponse that indicates
 the type of the response.  The end of the list is indicated by a MultiHeader
 with a negative type.  Each individual response is in the same format as
 with the corresponding operation in the original request list.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.MultiResponse -->
  <!-- start class org.apache.zookeeper.MultiTransactionRecord -->
  <class name="MultiTransactionRecord" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.jute.Record"/>
    <implements name="java.lang.Iterable"/>
    <constructor name="MultiTransactionRecord"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="MultiTransactionRecord" type="java.lang.Iterable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.zookeeper.Op"/>
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="serialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="archive" type="org.apache.jute.OutputArchive"/>
      <param name="tag" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="deserialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="archive" type="org.apache.jute.InputArchive"/>
      <param name="tag" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Encodes a composite transaction.  In the wire format, each transaction
 consists of a single MultiHeader followed by the appropriate request.
 Each of these MultiHeaders has a type which indicates
 the type of the following transaction or a negative number if no more transactions
 are included.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.MultiTransactionRecord -->
  <!-- start class org.apache.zookeeper.Op -->
  <class name="Op" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="create" return="org.apache.zookeeper.Op"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="data" type="byte[]"/>
      <param name="acl" type="java.util.List"/>
      <param name="flags" type="int"/>
      <doc>
      <![CDATA[Constructs a create operation.  Arguments are as for the ZooKeeper method of the same name.
 @see ZooKeeper#create(String, byte[], java.util.List, CreateMode)
 @see CreateMode#fromFlag(int)

 @param path
                the path for the node
 @param data
                the initial data for the node
 @param acl
                the acl for the node
 @param flags
                specifying whether the node to be created is ephemeral
                and/or sequential but using the integer encoding.]]>
      </doc>
    </method>
    <method name="create" return="org.apache.zookeeper.Op"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="data" type="byte[]"/>
      <param name="acl" type="java.util.List"/>
      <param name="createMode" type="org.apache.zookeeper.CreateMode"/>
      <doc>
      <![CDATA[Constructs a create operation.  Arguments are as for the ZooKeeper method of the same name.
 @see ZooKeeper#create(String, byte[], java.util.List, CreateMode)

 @param path
                the path for the node
 @param data
                the initial data for the node
 @param acl
                the acl for the node
 @param createMode
                specifying whether the node to be created is ephemeral
                and/or sequential]]>
      </doc>
    </method>
    <method name="delete" return="org.apache.zookeeper.Op"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="version" type="int"/>
      <doc>
      <![CDATA[Constructs a delete operation.  Arguments are as for the ZooKeeper method of the same name.
 @see ZooKeeper#delete(String, int)

 @param path
                the path of the node to be deleted.
 @param version
                the expected node version.]]>
      </doc>
    </method>
    <method name="setData" return="org.apache.zookeeper.Op"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="data" type="byte[]"/>
      <param name="version" type="int"/>
      <doc>
      <![CDATA[Constructs an update operation.  Arguments are as for the ZooKeeper method of the same name.
 @see ZooKeeper#setData(String, byte[], int)

 @param path
                the path of the node
 @param data
                the data to set
 @param version
                the expected matching version]]>
      </doc>
    </method>
    <method name="check" return="org.apache.zookeeper.Op"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="version" type="int"/>
      <doc>
      <![CDATA[Constructs an version check operation.  Arguments are as for the ZooKeeper.setData method except that
 no data is provided since no update is intended.  The purpose for this is to allow read-modify-write
 operations that apply to multiple znodes, but where some of the znodes are involved only in the read,
 not the write.  A similar effect could be achieved by writing the same data back, but that leads to
 way more version updates than are necessary and more writing in general.

 @param path
                the path of the node
 @param version
                the expected matching version]]>
      </doc>
    </method>
    <method name="getType" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Gets the integer type code for an Op.  This code should be as from ZooDefs.OpCode
 @see ZooDefs.OpCode
 @return  The type code.]]>
      </doc>
    </method>
    <method name="getPath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Gets the path for an Op.
 @return  The path.]]>
      </doc>
    </method>
    <method name="toRequestRecord" return="org.apache.jute.Record"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Encodes an op for wire transmission.
 @return An appropriate Record structure.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Represents a single operation in a multi-operation transaction.  Each operation can be a create, update
 or delete or can just be a version check.

 Sub-classes of Op each represent each detailed type but should not normally be referenced except via
 the provided factory methods.

 @see ZooKeeper#create(String, byte[], java.util.List, CreateMode)
 @see ZooKeeper#create(String, byte[], java.util.List, CreateMode, org.apache.zookeeper.AsyncCallback.StringCallback, Object)
 @see ZooKeeper#delete(String, int)
 @see ZooKeeper#setData(String, byte[], int)]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.Op -->
  <!-- start class org.apache.zookeeper.Op.Check -->
  <class name="Op.Check" extends="org.apache.zookeeper.Op"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toRequestRecord" return="org.apache.jute.Record"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.zookeeper.Op.Check -->
  <!-- start class org.apache.zookeeper.Op.Create -->
  <class name="Op.Create" extends="org.apache.zookeeper.Op"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toRequestRecord" return="org.apache.jute.Record"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.zookeeper.Op.Create -->
  <!-- start class org.apache.zookeeper.Op.Delete -->
  <class name="Op.Delete" extends="org.apache.zookeeper.Op"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toRequestRecord" return="org.apache.jute.Record"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.zookeeper.Op.Delete -->
  <!-- start class org.apache.zookeeper.Op.SetData -->
  <class name="Op.SetData" extends="org.apache.zookeeper.Op"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toRequestRecord" return="org.apache.jute.Record"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.zookeeper.Op.SetData -->
  <!-- start class org.apache.zookeeper.OpResult -->
  <class name="OpResult" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getType" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Encodes the return type as from ZooDefs.OpCode.  Can be used
 to dispatch to the correct cast needed for getting the desired
 additional result data.
 @see ZooDefs.OpCode
 @return an integer identifying what kind of operation this result came from.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Encodes the result of a single part of a multiple operation commit.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.OpResult -->
  <!-- start class org.apache.zookeeper.OpResult.CheckResult -->
  <class name="OpResult.CheckResult" extends="org.apache.zookeeper.OpResult"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CheckResult"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A result from a version check operation.  No special values are available.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.OpResult.CheckResult -->
  <!-- start class org.apache.zookeeper.OpResult.CreateResult -->
  <class name="OpResult.CreateResult" extends="org.apache.zookeeper.OpResult"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CreateResult" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getPath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A result from a create operation.  This kind of result allows the
 path to be retrieved since the create might have been a sequential
 create.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.OpResult.CreateResult -->
  <!-- start class org.apache.zookeeper.OpResult.DeleteResult -->
  <class name="OpResult.DeleteResult" extends="org.apache.zookeeper.OpResult"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DeleteResult"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A result from a delete operation.  No special values are available.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.OpResult.DeleteResult -->
  <!-- start class org.apache.zookeeper.OpResult.ErrorResult -->
  <class name="OpResult.ErrorResult" extends="org.apache.zookeeper.OpResult"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ErrorResult" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getErr" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[An error result from any kind of operation.  The point of error results
 is that they contain an error code which helps understand what happened.
 @see KeeperException.Code]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.OpResult.ErrorResult -->
  <!-- start class org.apache.zookeeper.OpResult.SetDataResult -->
  <class name="OpResult.SetDataResult" extends="org.apache.zookeeper.OpResult"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SetDataResult" type="org.apache.zookeeper.data.Stat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getStat" return="org.apache.zookeeper.data.Stat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A result from a setData operation.  This kind of result provides access
 to the Stat structure from the update.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.OpResult.SetDataResult -->
  <!-- start class org.apache.zookeeper.Quotas -->
  <class name="Quotas" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Quotas"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="quotaPath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <doc>
      <![CDATA[return the quota path associated with this
 prefix
 @param path the actual path in zookeeper.
 @return the limit quota path]]>
      </doc>
    </method>
    <method name="statPath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <doc>
      <![CDATA[return the stat quota path associated with this
 prefix.
 @param path the actual path in zookeeper
 @return the stat quota path]]>
      </doc>
    </method>
    <field name="procZookeeper" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[the zookeeper nodes that acts as the management and status node]]>
      </doc>
    </field>
    <field name="quotaZookeeper" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[the zookeeper quota node that acts as the quota
 management node for zookeeper]]>
      </doc>
    </field>
    <field name="limitNode" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[the limit node that has the limit of
 a subtree]]>
      </doc>
    </field>
    <field name="statNode" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[the stat node that monitors the limit of
 a subtree.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[this class manages quotas
 and has many other utils
 for quota]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.Quotas -->
  <!-- start class org.apache.zookeeper.SaslClientCallbackHandler -->
  <class name="SaslClientCallbackHandler" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="javax.security.auth.callback.CallbackHandler"/>
    <constructor name="SaslClientCallbackHandler" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="handle"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="callbacks" type="javax.security.auth.callback.Callback[]"/>
      <exception name="UnsupportedCallbackException" type="javax.security.auth.callback.UnsupportedCallbackException"/>
    </method>
    <doc>
    <![CDATA[This is used by the SASL mechanisms to get further information to complete
 the authentication. For example, a SASL mechanism might use this callback
 handler to do verification operation. The CallbackHandler interface here
 refers to javax.security.auth.callback.CallbackHandler. It should not be
 confused with ZooKeeper packet callbacks like
 org.apache.zookeeper.server.auth.SaslServerCallbackHandler.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.SaslClientCallbackHandler -->
  <!-- start class org.apache.zookeeper.ServerAdminClient -->
  <class name="ServerAdminClient" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ServerAdminClient"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="ruok"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="host" type="java.lang.String"/>
      <param name="port" type="int"/>
    </method>
    <method name="dump"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="host" type="java.lang.String"/>
      <param name="port" type="int"/>
    </method>
    <method name="stat"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="host" type="java.lang.String"/>
      <param name="port" type="int"/>
    </method>
    <method name="kill"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="host" type="java.lang.String"/>
      <param name="port" type="int"/>
    </method>
    <method name="setTraceMask"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="host" type="java.lang.String"/>
      <param name="port" type="int"/>
      <param name="traceMaskStr" type="java.lang.String"/>
    </method>
    <method name="getTraceMask"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="host" type="java.lang.String"/>
      <param name="port" type="int"/>
    </method>
    <method name="main"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="args" type="java.lang.String[]"/>
    </method>
  </class>
  <!-- end class org.apache.zookeeper.ServerAdminClient -->
  <!-- start class org.apache.zookeeper.Shell -->
  <class name="Shell" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Shell"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Shell" type="long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param interval the minimum duration to wait before re-executing the 
        command.]]>
      </doc>
    </constructor>
    <method name="getGroupsCommand" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[a Unix command to get the current user's groups list]]>
      </doc>
    </method>
    <method name="getGroupsForUserCommand" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="user" type="java.lang.String"/>
      <doc>
      <![CDATA[a Unix command to get a given user's groups list]]>
      </doc>
    </method>
    <method name="getGET_PERMISSION_COMMAND" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Return a Unix command to get permission information.]]>
      </doc>
    </method>
    <method name="getUlimitMemoryCommand" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="memoryLimit" type="int"/>
      <doc>
      <![CDATA[Get the Unix command for setting the maximum virtual memory available
 to a given child process. This is only relevant when we are forking a
 process from within the Mapper or the Reducer implementations.
 Also see Hadoop Pipes and Hadoop Streaming.
 
 It also checks to ensure that we are running on a *nix platform else 
 (e.g. in Cygwin/Windows) it returns <code>null</code>.
 @param memoryLimit virtual memory limit
 @return a <code>String[]</code> with the ulimit command arguments or 
         <code>null</code> if we are running on a non *nix platform or
         if the limit is unspecified.]]>
      </doc>
    </method>
    <method name="setEnvironment"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="env" type="java.util.Map"/>
      <doc>
      <![CDATA[set the environment for the command 
 @param env Mapping of environment variables]]>
      </doc>
    </method>
    <method name="setWorkingDirectory"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="dir" type="java.io.File"/>
      <doc>
      <![CDATA[set the working directory 
 @param dir The directory where the command would be executed]]>
      </doc>
    </method>
    <method name="run"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[check to see if a command needs to be executed and execute if needed]]>
      </doc>
    </method>
    <method name="getExecString" return="java.lang.String[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[return an array containing the command name & its parameters]]>
      </doc>
    </method>
    <method name="parseExecResult"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="lines" type="java.io.BufferedReader"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Parse the execution result]]>
      </doc>
    </method>
    <method name="getProcess" return="java.lang.Process"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[get the current sub-process executing the given command 
 @return process executing the command]]>
      </doc>
    </method>
    <method name="getExitCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[get the exit code 
 @return the exit code of the process]]>
      </doc>
    </method>
    <method name="isTimedOut" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[To check if the passed script to shell command executor timed out or
 not.
 
 @return if the script timed out.]]>
      </doc>
    </method>
    <method name="execCommand" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cmd" type="java.lang.String[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Static method to execute a shell command. 
 Covers most of the simple cases without requiring the user to implement  
 the <code>Shell</code> interface.
 @param cmd shell command to execute.
 @return the output of the executed command.]]>
      </doc>
    </method>
    <method name="execCommand" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="env" type="java.util.Map"/>
      <param name="cmd" type="java.lang.String[]"/>
      <param name="timeout" type="long"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Static method to execute a shell command. 
 Covers most of the simple cases without requiring the user to implement  
 the <code>Shell</code> interface.
 @param env the map of environment key=value
 @param cmd shell command to execute.
 @param timeout time in milliseconds after which script should be marked timeout
 @return the output of the executed command.o]]>
      </doc>
    </method>
    <method name="execCommand" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="env" type="java.util.Map"/>
      <param name="cmd" type="java.lang.String[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Static method to execute a shell command. 
 Covers most of the simple cases without requiring the user to implement  
 the <code>Shell</code> interface.
 @param env the map of environment key=value
 @param cmd shell command to execute.
 @return the output of the executed command.]]>
      </doc>
    </method>
    <field name="USER_NAME_COMMAND" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[a Unix command to get the current user's name]]>
      </doc>
    </field>
    <field name="SET_PERMISSION_COMMAND" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[a Unix command to set permission]]>
      </doc>
    </field>
    <field name="SET_OWNER_COMMAND" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[a Unix command to set owner]]>
      </doc>
    </field>
    <field name="SET_GROUP_COMMAND" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="timeOutInterval" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Time after which the executing script would be timedout]]>
      </doc>
    </field>
    <field name="ULIMIT_COMMAND" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[a Unix command to get ulimit of a process.]]>
      </doc>
    </field>
    <field name="WINDOWS" type="boolean"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Set to true on Windows platforms]]>
      </doc>
    </field>
    <doc>
    <![CDATA[A base class for running a Unix command.
 
 <code>Shell</code> can be used to run unix commands like <code>du</code> or
 <code>df</code>. It also offers facilities to gate commands by 
 time-intervals.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.Shell -->
  <!-- start class org.apache.zookeeper.Shell.ExitCodeException -->
  <class name="Shell.ExitCodeException" extends="java.io.IOException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ExitCodeException" type="int, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getExitCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This is an IOException with exit code added.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.Shell.ExitCodeException -->
  <!-- start class org.apache.zookeeper.Shell.ShellCommandExecutor -->
  <class name="Shell.ShellCommandExecutor" extends="org.apache.zookeeper.Shell"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ShellCommandExecutor" type="java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ShellCommandExecutor" type="java.lang.String[], java.io.File"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ShellCommandExecutor" type="java.lang.String[], java.io.File, java.util.Map"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ShellCommandExecutor" type="java.lang.String[], java.io.File, java.util.Map, long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new instance of the ShellCommandExecutor to execute a command.
 
 @param execString The command to execute with arguments
 @param dir If not-null, specifies the directory which should be set
            as the current working directory for the command.
            If null, the current working directory is not modified.
 @param env If not-null, environment of the command will include the
            key-value pairs specified in the map. If null, the current
            environment is not modified.
 @param timeout Specifies the time in milliseconds, after which the
                command will be killed and the status marked as timedout.
                If 0, the command will not be timed out.]]>
      </doc>
    </constructor>
    <method name="execute"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Execute the shell command.]]>
      </doc>
    </method>
    <method name="getExecString" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="parseExecResult"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="lines" type="java.io.BufferedReader"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getOutput" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the output of the shell command.]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the commands of this instance.
 Arguments with spaces in are presented with quotes round; other
 arguments are presented raw

 @return a string representation of the object.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A simple shell command executor.
 
 <code>ShellCommandExecutor</code>should be used in cases where the output 
 of the command needs no explicit parsing and where the command, working 
 directory and the environment remains unchanged. The output of the command 
 is stored as-is and is expected to be small.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.Shell.ShellCommandExecutor -->
  <!-- start class org.apache.zookeeper.StatsTrack -->
  <class name="StatsTrack" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StatsTrack"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[a default constructor for
 stats]]>
      </doc>
    </constructor>
    <constructor name="StatsTrack" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[the stat string should be of the form count=int,bytes=long
 if stats is called with null the count and bytes are initialized
 to -1.
 @param stats the stat string to be intialized with]]>
      </doc>
    </constructor>
    <method name="getCount" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[get the count of nodes allowed as part of quota

 @return the count as part of this string]]>
      </doc>
    </method>
    <method name="setCount"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="count" type="int"/>
      <doc>
      <![CDATA[set the count for this stat tracker.

 @param count
            the count to set with]]>
      </doc>
    </method>
    <method name="getBytes" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[get the count of bytes allowed as part of quota

 @return the bytes as part of this string]]>
      </doc>
    </method>
    <method name="setBytes"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bytes" type="long"/>
      <doc>
      <![CDATA[set teh bytes for this stat tracker.

 @param bytes
            the bytes to set with]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[a class that represents the stats associated with quotas]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.StatsTrack -->
  <!-- start interface org.apache.zookeeper.Testable -->
  <interface name="Testable"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="injectSessionExpiration"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Cause the ZooKeeper instance to behave as if the session expired]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Abstraction that exposes various methods useful for testing ZooKeeper]]>
    </doc>
  </interface>
  <!-- end interface org.apache.zookeeper.Testable -->
  <!-- start class org.apache.zookeeper.Transaction -->
  <class name="Transaction" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Transaction" type="org.apache.zookeeper.ZooKeeper"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="create" return="org.apache.zookeeper.Transaction"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="data" type="byte[]"/>
      <param name="acl" type="java.util.List"/>
      <param name="createMode" type="org.apache.zookeeper.CreateMode"/>
    </method>
    <method name="delete" return="org.apache.zookeeper.Transaction"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="version" type="int"/>
    </method>
    <method name="check" return="org.apache.zookeeper.Transaction"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="version" type="int"/>
    </method>
    <method name="setData" return="org.apache.zookeeper.Transaction"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="data" type="byte[]"/>
      <param name="version" type="int"/>
    </method>
    <method name="commit" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
    </method>
    <method name="commit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.MultiCallback"/>
      <param name="ctx" type="java.lang.Object"/>
    </method>
    <doc>
    <![CDATA[Provides a builder style interface for doing multiple updates.  This is
 really just a thin layer on top of Zookeeper.multi().

 @since 3.4.0]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.Transaction -->
  <!-- start class org.apache.zookeeper.Version -->
  <class name="Version" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.zookeeper.version.Info"/>
    <constructor name="Version"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getRevision" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getRevisionHash" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getBuildDate" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getVersion" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getVersionRevision" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFullVersion" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="printUsage"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="main"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="args" type="java.lang.String[]"/>
      <doc>
      <![CDATA[Prints the current version, revision and build date to the standard out.
 
 @param args
            <ul>
            <li> --short - prints a short version string "1.2.3"
            <li> --revision - prints a short version string with the SVN
            repository revision "1.2.3-94"
            <li> --full - prints the revision and the build date
            </ul>]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.zookeeper.Version -->
  <!-- start class org.apache.zookeeper.WatchedEvent -->
  <class name="WatchedEvent" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="WatchedEvent" type="org.apache.zookeeper.Watcher.Event.EventType, org.apache.zookeeper.Watcher.Event.KeeperState, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a WatchedEvent with specified type, state and path]]>
      </doc>
    </constructor>
    <constructor name="WatchedEvent" type="org.apache.zookeeper.proto.WatcherEvent"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Convert a WatcherEvent sent over the wire into a full-fledged WatcherEvent]]>
      </doc>
    </constructor>
    <method name="getState" return="org.apache.zookeeper.Watcher.Event.KeeperState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getType" return="org.apache.zookeeper.Watcher.Event.EventType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getWrapper" return="org.apache.zookeeper.proto.WatcherEvent"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Convert WatchedEvent to type that can be sent over network]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A WatchedEvent represents a change on the ZooKeeper that a Watcher
  is able to respond to.  The WatchedEvent includes exactly what happened,
  the current state of the ZooKeeper, and the path of the znode that
  was involved in the event.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.WatchedEvent -->
  <!-- start interface org.apache.zookeeper.Watcher -->
  <interface name="Watcher"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="process"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="event" type="org.apache.zookeeper.WatchedEvent"/>
    </method>
    <doc>
    <![CDATA[This interface specifies the public interface an event handler class must
 implement. A ZooKeeper client will get various events from the ZooKeeper
 server it connects to. An application using such a client handles these
 events by registering a callback object with the client. The callback object
 is expected to be an instance of a class that implements Watcher interface.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.zookeeper.Watcher -->
  <!-- start interface org.apache.zookeeper.Watcher.Event -->
  <interface name="Watcher.Event"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <doc>
    <![CDATA[This interface defines the possible states an Event may represent]]>
    </doc>
  </interface>
  <!-- end interface org.apache.zookeeper.Watcher.Event -->
  <!-- start class org.apache.zookeeper.Watcher.Event.EventType -->
  <class name="Watcher.Event.EventType" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.zookeeper.Watcher.Event.EventType[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.zookeeper.Watcher.Event.EventType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="getIntValue" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="fromInt" return="org.apache.zookeeper.Watcher.Event.EventType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="intValue" type="int"/>
    </method>
    <field name="None" type="org.apache.zookeeper.Watcher.Event.EventType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NodeCreated" type="org.apache.zookeeper.Watcher.Event.EventType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NodeDeleted" type="org.apache.zookeeper.Watcher.Event.EventType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NodeDataChanged" type="org.apache.zookeeper.Watcher.Event.EventType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NodeChildrenChanged" type="org.apache.zookeeper.Watcher.Event.EventType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Enumeration of types of events that may occur on the ZooKeeper]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.Watcher.Event.EventType -->
  <!-- start class org.apache.zookeeper.Watcher.Event.KeeperState -->
  <class name="Watcher.Event.KeeperState" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.zookeeper.Watcher.Event.KeeperState[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.zookeeper.Watcher.Event.KeeperState"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="getIntValue" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="fromInt" return="org.apache.zookeeper.Watcher.Event.KeeperState"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="intValue" type="int"/>
    </method>
    <field name="Unknown" type="org.apache.zookeeper.Watcher.Event.KeeperState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Unused, this state is never generated by the server]]>
      </doc>
    </field>
    <field name="Disconnected" type="org.apache.zookeeper.Watcher.Event.KeeperState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The client is in the disconnected state - it is not connected
 to any server in the ensemble.]]>
      </doc>
    </field>
    <field name="NoSyncConnected" type="org.apache.zookeeper.Watcher.Event.KeeperState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Unused, this state is never generated by the server]]>
      </doc>
    </field>
    <field name="SyncConnected" type="org.apache.zookeeper.Watcher.Event.KeeperState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The client is in the connected state - it is connected
 to a server in the ensemble (one of the servers specified
 in the host connection parameter during ZooKeeper client
 creation).]]>
      </doc>
    </field>
    <field name="AuthFailed" type="org.apache.zookeeper.Watcher.Event.KeeperState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Auth failed state]]>
      </doc>
    </field>
    <field name="ConnectedReadOnly" type="org.apache.zookeeper.Watcher.Event.KeeperState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The client is connected to a read-only server, that is the
 server which is not currently connected to the majority.
 The only operations allowed after receiving this state is
 read operations.
 This state is generated for read-only clients only since
 read/write clients aren't allowed to connect to r/o servers.]]>
      </doc>
    </field>
    <field name="SaslAuthenticated" type="org.apache.zookeeper.Watcher.Event.KeeperState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[SaslAuthenticated: used to notify clients that they are SASL-authenticated,
 so that they can perform Zookeeper actions with their SASL-authorized permissions.]]>
      </doc>
    </field>
    <field name="Expired" type="org.apache.zookeeper.Watcher.Event.KeeperState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The serving cluster has expired this session. The ZooKeeper
 client connection (the session) is no longer valid. You must
 create a new client connection (instantiate a new ZooKeeper
 instance) if you with to access the ensemble.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[Enumeration of states the ZooKeeper may be at the event]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.Watcher.Event.KeeperState -->
  <!-- start class org.apache.zookeeper.ZKUtil -->
  <class name="ZKUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ZKUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="deleteRecursive"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="zk" type="org.apache.zookeeper.ZooKeeper"/>
      <param name="pathRoot" type="java.lang.String"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <doc>
      <![CDATA[Recursively delete the node with the given path. 
 <p>
 Important: All versions, of all nodes, under the given node are deleted.
 <p>
 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.
 
 See {@link #delete(String, int)} for more details.
 
 @throws IllegalArgumentException if an invalid path is specified]]>
      </doc>
    </method>
    <method name="deleteRecursive"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="zk" type="org.apache.zookeeper.ZooKeeper"/>
      <param name="pathRoot" type="java.lang.String"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.VoidCallback"/>
      <param name="ctx" type="java.lang.Object"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <doc>
      <![CDATA[Recursively delete the node with the given path. (async version).
 
 <p>
 Important: All versions, of all nodes, under the given node are deleted.
 <p>
 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.
 <p>
 @param zk the zookeeper handle
 @param pathRoot the path to be deleted
 @param cb call back method
 @param ctx the context the callback method is called with
 @throws IllegalArgumentException if an invalid path is specified]]>
      </doc>
    </method>
    <method name="listSubTreeBFS" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="zk" type="org.apache.zookeeper.ZooKeeper"/>
      <param name="pathRoot" type="java.lang.String"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[BFS Traversal of the system under pathRoot, with the entries in the list, in the 
 same order as that of the traversal.
 <p>
 <b>Important:</b> This is <i>not an atomic snapshot</i> 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.   
 
 @param zk the zookeeper handle
 @param pathRoot The znode path, for which the entire subtree needs to be listed.
 @throws InterruptedException 
 @throws KeeperException]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.zookeeper.ZKUtil -->
  <!-- start class org.apache.zookeeper.ZooDefs -->
  <class name="ZooDefs" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ZooDefs"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <field name="opNames" type="java.lang.String[]"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.zookeeper.ZooDefs -->
  <!-- start interface org.apache.zookeeper.ZooDefs.Ids -->
  <interface name="ZooDefs.Ids"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <field name="ANYONE_ID_UNSAFE" type="org.apache.zookeeper.data.Id"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This Id represents anyone.]]>
      </doc>
    </field>
    <field name="AUTH_IDS" type="org.apache.zookeeper.data.Id"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This Id is only usable to set ACLs. It will get substituted with the
 Id's the client authenticated with.]]>
      </doc>
    </field>
    <field name="OPEN_ACL_UNSAFE" type="java.util.ArrayList"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This is a completely open ACL .]]>
      </doc>
    </field>
    <field name="CREATOR_ALL_ACL" type="java.util.ArrayList"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This ACL gives the creators authentication id's all permissions.]]>
      </doc>
    </field>
    <field name="READ_ACL_UNSAFE" type="java.util.ArrayList"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This ACL gives the world the ability to read.]]>
      </doc>
    </field>
  </interface>
  <!-- end interface org.apache.zookeeper.ZooDefs.Ids -->
  <!-- start interface org.apache.zookeeper.ZooDefs.OpCode -->
  <interface name="ZooDefs.OpCode"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <field name="notification" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="create" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="delete" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="exists" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="getData" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="setData" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="getACL" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="setACL" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="getChildren" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="sync" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="ping" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="getChildren2" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="check" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="multi" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="auth" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="setWatches" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="sasl" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="createSession" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="closeSession" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="error" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </interface>
  <!-- end interface org.apache.zookeeper.ZooDefs.OpCode -->
  <!-- start interface org.apache.zookeeper.ZooDefs.Perms -->
  <interface name="ZooDefs.Perms"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <field name="READ" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="WRITE" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="CREATE" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DELETE" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="ADMIN" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="ALL" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </interface>
  <!-- end interface org.apache.zookeeper.ZooDefs.Perms -->
  <!-- start class org.apache.zookeeper.ZooKeeper -->
  <class name="ZooKeeper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ZooKeeper" type="java.lang.String, int, org.apache.zookeeper.Watcher"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[To create a ZooKeeper client object, the application needs to pass a
 connection string containing a comma separated list of host:port pairs,
 each corresponding to a ZooKeeper server.
 <p>
 Session establishment is asynchronous. This constructor will initiate
 connection to the server and return immediately - potentially (usually)
 before the session is fully established. The watcher argument specifies
 the watcher that will be notified of any changes in state. This
 notification can come at any point before or after the constructor call
 has returned.
 <p>
 The instantiated ZooKeeper client object will pick an arbitrary server
 from the connectString and attempt to connect to it. If establishment of
 the connection fails, another server in the connect string will be tried
 (the order is non-deterministic, as we random shuffle the list), until a
 connection is established. The client will continue attempts until the
 session is explicitly closed.
 <p>
 Added in 3.2.0: An optional "chroot" suffix may also be appended to the
 connection string. This will run the client commands while interpreting
 all paths relative to this root (similar to the unix chroot command).

 @param connectString
            comma separated host:port pairs, each corresponding to a zk
            server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002" If
            the optional chroot suffix is used the example would look
            like: "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002/app/a"
            where the client would be rooted at "/app/a" and all paths
            would be relative to this root - ie getting/setting/etc...
            "/foo/bar" would result in operations being run on
            "/app/a/foo/bar" (from the server perspective).
 @param sessionTimeout
            session timeout in milliseconds
 @param watcher
            a watcher object which will be notified of state changes, may
            also be notified for node events

 @throws IOException
             in cases of network failure
 @throws IllegalArgumentException
             if an invalid chroot path is specified]]>
      </doc>
    </constructor>
    <constructor name="ZooKeeper" type="java.lang.String, int, org.apache.zookeeper.Watcher, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[To create a ZooKeeper client object, the application needs to pass a
 connection string containing a comma separated list of host:port pairs,
 each corresponding to a ZooKeeper server.
 <p>
 Session establishment is asynchronous. This constructor will initiate
 connection to the server and return immediately - potentially (usually)
 before the session is fully established. The watcher argument specifies
 the watcher that will be notified of any changes in state. This
 notification can come at any point before or after the constructor call
 has returned.
 <p>
 The instantiated ZooKeeper client object will pick an arbitrary server
 from the connectString and attempt to connect to it. If establishment of
 the connection fails, another server in the connect string will be tried
 (the order is non-deterministic, as we random shuffle the list), until a
 connection is established. The client will continue attempts until the
 session is explicitly closed.
 <p>
 Added in 3.2.0: An optional "chroot" suffix may also be appended to the
 connection string. This will run the client commands while interpreting
 all paths relative to this root (similar to the unix chroot command).

 @param connectString
            comma separated host:port pairs, each corresponding to a zk
            server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002" If
            the optional chroot suffix is used the example would look
            like: "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002/app/a"
            where the client would be rooted at "/app/a" and all paths
            would be relative to this root - ie getting/setting/etc...
            "/foo/bar" would result in operations being run on
            "/app/a/foo/bar" (from the server perspective).
 @param sessionTimeout
            session timeout in milliseconds
 @param watcher
            a watcher object which will be notified of state changes, may
            also be notified for node events
 @param canBeReadOnly
            (added in 3.4) whether the created client is allowed to go to
            read-only mode in case of partitioning. Read-only mode
            basically means that if the client can't find any majority
            servers but there's partitioned server it could reach, it
            connects to one in read-only mode, i.e. read requests are
            allowed while write requests are not. It continues seeking for
            majority in the background.

 @throws IOException
             in cases of network failure
 @throws IllegalArgumentException
             if an invalid chroot path is specified]]>
      </doc>
    </constructor>
    <constructor name="ZooKeeper" type="java.lang.String, int, org.apache.zookeeper.Watcher, long, byte[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[To create a ZooKeeper client object, the application needs to pass a
 connection string containing a comma separated list of host:port pairs,
 each corresponding to a ZooKeeper server.
 <p>
 Session establishment is asynchronous. This constructor will initiate
 connection to the server and return immediately - potentially (usually)
 before the session is fully established. The watcher argument specifies
 the watcher that will be notified of any changes in state. This
 notification can come at any point before or after the constructor call
 has returned.
 <p>
 The instantiated ZooKeeper client object will pick an arbitrary server
 from the connectString and attempt to connect to it. If establishment of
 the connection fails, another server in the connect string will be tried
 (the order is non-deterministic, as we random shuffle the list), until a
 connection is established. The client will continue attempts until the
 session is explicitly closed (or the session is expired by the server).
 <p>
 Added in 3.2.0: An optional "chroot" suffix may also be appended to the
 connection string. This will run the client commands while interpreting
 all paths relative to this root (similar to the unix chroot command).
 <p>
 Use {@link #getSessionId} and {@link #getSessionPasswd} on an established
 client connection, these values must be passed as sessionId and
 sessionPasswd respectively if reconnecting. Otherwise, if not
 reconnecting, use the other constructor which does not require these
 parameters.

 @param connectString
            comma separated host:port pairs, each corresponding to a zk
            server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
            If the optional chroot suffix is used the example would look
            like: "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002/app/a"
            where the client would be rooted at "/app/a" and all paths
            would be relative to this root - ie getting/setting/etc...
            "/foo/bar" would result in operations being run on
            "/app/a/foo/bar" (from the server perspective).
 @param sessionTimeout
            session timeout in milliseconds
 @param watcher
            a watcher object which will be notified of state changes, may
            also be notified for node events
 @param sessionId
            specific session id to use if reconnecting
 @param sessionPasswd
            password for this session

 @throws IOException in cases of network failure
 @throws IllegalArgumentException if an invalid chroot path is specified
 @throws IllegalArgumentException for an invalid list of ZooKeeper hosts]]>
      </doc>
    </constructor>
    <constructor name="ZooKeeper" type="java.lang.String, int, org.apache.zookeeper.Watcher, long, byte[], boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[To create a ZooKeeper client object, the application needs to pass a
 connection string containing a comma separated list of host:port pairs,
 each corresponding to a ZooKeeper server.
 <p>
 Session establishment is asynchronous. This constructor will initiate
 connection to the server and return immediately - potentially (usually)
 before the session is fully established. The watcher argument specifies
 the watcher that will be notified of any changes in state. This
 notification can come at any point before or after the constructor call
 has returned.
 <p>
 The instantiated ZooKeeper client object will pick an arbitrary server
 from the connectString and attempt to connect to it. If establishment of
 the connection fails, another server in the connect string will be tried
 (the order is non-deterministic, as we random shuffle the list), until a
 connection is established. The client will continue attempts until the
 session is explicitly closed (or the session is expired by the server).
 <p>
 Added in 3.2.0: An optional "chroot" suffix may also be appended to the
 connection string. This will run the client commands while interpreting
 all paths relative to this root (similar to the unix chroot command).
 <p>
 Use {@link #getSessionId} and {@link #getSessionPasswd} on an established
 client connection, these values must be passed as sessionId and
 sessionPasswd respectively if reconnecting. Otherwise, if not
 reconnecting, use the other constructor which does not require these
 parameters.

 @param connectString
            comma separated host:port pairs, each corresponding to a zk
            server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
            If the optional chroot suffix is used the example would look
            like: "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002/app/a"
            where the client would be rooted at "/app/a" and all paths
            would be relative to this root - ie getting/setting/etc...
            "/foo/bar" would result in operations being run on
            "/app/a/foo/bar" (from the server perspective).
 @param sessionTimeout
            session timeout in milliseconds
 @param watcher
            a watcher object which will be notified of state changes, may
            also be notified for node events
 @param sessionId
            specific session id to use if reconnecting
 @param sessionPasswd
            password for this session
 @param canBeReadOnly
            (added in 3.4) whether the created client is allowed to go to
            read-only mode in case of partitioning. Read-only mode
            basically means that if the client can't find any majority
            servers but there's partitioned server it could reach, it
            connects to one in read-only mode, i.e. read requests are
            allowed while write requests are not. It continues seeking for
            majority in the background.

 @throws IOException in cases of network failure
 @throws IllegalArgumentException if an invalid chroot path is specified]]>
      </doc>
    </constructor>
    <method name="getSaslClient" return="org.apache.zookeeper.client.ZooKeeperSaslClient"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getTestable" return="org.apache.zookeeper.Testable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSessionId" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The session id for this ZooKeeper client instance. The value returned is
 not valid until the client connects to a server and may change after a
 re-connect.

 This method is NOT thread safe

 @return current session id]]>
      </doc>
    </method>
    <method name="getSessionPasswd" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The session password for this ZooKeeper client instance. The value
 returned is not valid until the client connects to a server and may
 change after a re-connect.

 This method is NOT thread safe

 @return current session password]]>
      </doc>
    </method>
    <method name="getSessionTimeout" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The negotiated session timeout for this ZooKeeper client instance. The
 value returned is not valid until the client connects to a server and
 may change after a re-connect.

 This method is NOT thread safe

 @return current session timeout]]>
      </doc>
    </method>
    <method name="addAuthInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scheme" type="java.lang.String"/>
      <param name="auth" type="byte[]"/>
      <doc>
      <![CDATA[Add the specified scheme:auth information to this connection.

 This method is NOT thread safe

 @param scheme
 @param auth]]>
      </doc>
    </method>
    <method name="register"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
      <doc>
      <![CDATA[Specify the default watcher for the connection (overrides the one
 specified during construction).

 @param watcher]]>
      </doc>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Close this client object. Once the client is closed, its session becomes
 invalid. All the ephemeral nodes in the ZooKeeper server associated with
 the session will be removed. The watches left on those nodes (and on
 their parents) will be triggered.

 @throws InterruptedException]]>
      </doc>
    </method>
    <method name="create" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="data" type="byte[]"/>
      <param name="acl" type="java.util.List"/>
      <param name="createMode" type="org.apache.zookeeper.CreateMode"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Create a node with the given path. The node data will be the given data,
 and node acl will be the given acl.
 <p>
 The flags argument specifies whether the created node will be ephemeral
 or not.
 <p>
 An ephemeral node will be removed by the ZooKeeper automatically when the
 session associated with the creation of the node expires.
 <p>
 The flags argument can also specify to create a sequential node. The
 actual path name of a sequential node will be the given path plus a
 suffix "i" where i is the current sequential number of the node. The sequence
 number is always fixed length of 10 digits, 0 padded. Once
 such a node is created, the sequential number will be incremented by one.
 <p>
 If a node with the same actual path already exists in the ZooKeeper, a
 KeeperException with error code KeeperException.NodeExists will be
 thrown. Note that since a different actual path is used for each
 invocation of creating sequential node with the same path argument, the
 call will never throw "file exists" KeeperException.
 <p>
 If the parent node does not exist in the ZooKeeper, a KeeperException
 with error code KeeperException.NoNode will be thrown.
 <p>
 An ephemeral node cannot have children. If the parent node of the given
 path is ephemeral, a KeeperException with error code
 KeeperException.NoChildrenForEphemerals will be thrown.
 <p>
 This operation, if successful, will trigger all the watches left on the
 node of the given path by exists and getData API calls, and the watches
 left on the parent node by getChildren API calls.
 <p>
 If a node is created successfully, the ZooKeeper server will trigger the
 watches on the path left by exists calls, and the watches on the parent
 of the node by getChildren calls.
 <p>
 The maximum allowable size of the data array is 1 MB (1,048,576 bytes).
 Arrays larger than this will cause a KeeperExecption to be thrown.

 @param path
                the path for the node
 @param data
                the initial data for the node
 @param acl
                the acl for the node
 @param createMode
                specifying whether the node to be created is ephemeral
                and/or sequential
 @return the actual path of the created node
 @throws KeeperException if the server returns a non-zero error code
 @throws KeeperException.InvalidACLException if the ACL is invalid, null, or empty
 @throws InterruptedException if the transaction is interrupted
 @throws IllegalArgumentException if an invalid path is specified]]>
      </doc>
    </method>
    <method name="create"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="data" type="byte[]"/>
      <param name="acl" type="java.util.List"/>
      <param name="createMode" type="org.apache.zookeeper.CreateMode"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.StringCallback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[The asynchronous version of create.

 @see #create(String, byte[], List, CreateMode)]]>
      </doc>
    </method>
    <method name="delete"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="version" type="int"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <doc>
      <![CDATA[Delete the node with the given path. The call will succeed if such a node
 exists, and the given version matches the node's version (if the given
 version is -1, it matches any node's versions).
 <p>
 A KeeperException with error code KeeperException.NoNode will be thrown
 if the nodes does not exist.
 <p>
 A KeeperException with error code KeeperException.BadVersion will be
 thrown if the given version does not match the node's version.
 <p>
 A KeeperException with error code KeeperException.NotEmpty will be thrown
 if the node has children.
 <p>
 This operation, if successful, will trigger all the watches on the node
 of the given path left by exists API calls, and the watches on the parent
 node left by getChildren API calls.

 @param path
                the path of the node to be deleted.
 @param version
                the expected node version.
 @throws InterruptedException IF the server transaction is interrupted
 @throws KeeperException If the server signals an error with a non-zero
   return code.
 @throws IllegalArgumentException if an invalid path is specified]]>
      </doc>
    </method>
    <method name="multi" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ops" type="java.lang.Iterable"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <doc>
      <![CDATA[Executes multiple ZooKeeper operations or none of them.
 <p>
 On success, a list of results is returned.
 On failure, an exception is raised which contains partial results and
 error details, see {@link KeeperException#getResults}
 <p>
 Note: The maximum allowable size of all of the data arrays in all of
 the setData operations in this single request is typically 1 MB
 (1,048,576 bytes). This limit is specified on the server via
 <a href="http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#Unsafe+Options">jute.maxbuffer</a>.
 Requests larger than this will cause a KeeperException to be
 thrown.

 @param ops An iterable that contains the operations to be done.
 These should be created using the factory methods on {@link Op}.
 @return A list of results, one for each input Op, the order of
 which exactly matches the order of the <code>ops</code> input
 operations.
 @throws InterruptedException If the operation was interrupted.
 The operation may or may not have succeeded, but will not have
 partially succeeded if this exception is thrown.
 @throws KeeperException If the operation could not be completed
 due to some error in doing one of the specified ops.
 @throws IllegalArgumentException if an invalid path is specified

 @since 3.4.0]]>
      </doc>
    </method>
    <method name="multi"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ops" type="java.lang.Iterable"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.MultiCallback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[The asynchronous version of multi.

 @see #multi(Iterable)
 @since 3.4.7]]>
      </doc>
    </method>
    <method name="multiInternal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="request" type="org.apache.zookeeper.MultiTransactionRecord"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.MultiCallback"/>
      <param name="ctx" type="java.lang.Object"/>
    </method>
    <method name="multiInternal" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="request" type="org.apache.zookeeper.MultiTransactionRecord"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
    </method>
    <method name="transaction" return="org.apache.zookeeper.Transaction"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[A Transaction is a thin wrapper on the {@link #multi} method
 which provides a builder object that can be used to construct
 and commit an atomic set of operations.

 @since 3.4.0

 @return a Transaction builder object]]>
      </doc>
    </method>
    <method name="delete"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="version" type="int"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.VoidCallback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[The asynchronous version of delete.

 @see #delete(String, int)]]>
      </doc>
    </method>
    <method name="exists" return="org.apache.zookeeper.data.Stat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Return the stat of the node of the given path. Return null if no such a
 node exists.
 <p>
 If the watch is non-null and the call is successful (no exception is thrown),
 a watch will be left on the node with the given path. The watch will be
 triggered by a successful operation that creates/delete the node or sets
 the data on the node.

 @param path the node path
 @param watcher explicit watcher
 @return the stat of the node of the given path; return null if no such a
         node exists.
 @throws KeeperException If the server signals an error
 @throws InterruptedException If the server transaction is interrupted.
 @throws IllegalArgumentException if an invalid path is specified]]>
      </doc>
    </method>
    <method name="exists" return="org.apache.zookeeper.data.Stat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watch" type="boolean"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Return the stat of the node of the given path. Return null if no such a
 node exists.
 <p>
 If the watch is true and the call is successful (no exception is thrown),
 a watch will be left on the node with the given path. The watch will be
 triggered by a successful operation that creates/delete the node or sets
 the data on the node.

 @param path
                the node path
 @param watch
                whether need to watch this node
 @return the stat of the node of the given path; return null if no such a
         node exists.
 @throws KeeperException If the server signals an error
 @throws InterruptedException If the server transaction is interrupted.]]>
      </doc>
    </method>
    <method name="exists"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.StatCallback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[The asynchronous version of exists.

 @see #exists(String, Watcher)]]>
      </doc>
    </method>
    <method name="exists"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watch" type="boolean"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.StatCallback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[The asynchronous version of exists.

 @see #exists(String, boolean)]]>
      </doc>
    </method>
    <method name="getData" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Return the data and the stat of the node of the given path.
 <p>
 If the watch is non-null and the call is successful (no exception is
 thrown), a watch will be left on the node with the given path. The watch
 will be triggered by a successful operation that sets data on the node, or
 deletes the node.
 <p>
 A KeeperException with error code KeeperException.NoNode will be thrown
 if no node with the given path exists.

 @param path the given path
 @param watcher explicit watcher
 @param stat the stat of the node
 @return the data of the node
 @throws KeeperException If the server signals an error with a non-zero error code
 @throws InterruptedException If the server transaction is interrupted.
 @throws IllegalArgumentException if an invalid path is specified]]>
      </doc>
    </method>
    <method name="getData" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watch" type="boolean"/>
      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Return the data and the stat of the node of the given path.
 <p>
 If the watch is true and the call is successful (no exception is
 thrown), a watch will be left on the node with the given path. The watch
 will be triggered by a successful operation that sets data on the node, or
 deletes the node.
 <p>
 A KeeperException with error code KeeperException.NoNode will be thrown
 if no node with the given path exists.

 @param path the given path
 @param watch whether need to watch this node
 @param stat the stat of the node
 @return the data of the node
 @throws KeeperException If the server signals an error with a non-zero error code
 @throws InterruptedException If the server transaction is interrupted.]]>
      </doc>
    </method>
    <method name="getData"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.DataCallback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[The asynchronous version of getData.

 @see #getData(String, Watcher, Stat)]]>
      </doc>
    </method>
    <method name="getData"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watch" type="boolean"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.DataCallback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[The asynchronous version of getData.

 @see #getData(String, boolean, Stat)]]>
      </doc>
    </method>
    <method name="setData" return="org.apache.zookeeper.data.Stat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="data" type="byte[]"/>
      <param name="version" type="int"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Set the data for the node of the given path if such a node exists and the
 given version matches the version of the node (if the given version is
 -1, it matches any node's versions). Return the stat of the node.
 <p>
 This operation, if successful, will trigger all the watches on the node
 of the given path left by getData calls.
 <p>
 A KeeperException with error code KeeperException.NoNode will be thrown
 if no node with the given path exists.
 <p>
 A KeeperException with error code KeeperException.BadVersion will be
 thrown if the given version does not match the node's version.
 <p>
 The maximum allowable size of the data array is 1 MB (1,048,576 bytes).
 Arrays larger than this will cause a KeeperException to be thrown.

 @param path
                the path of the node
 @param data
                the data to set
 @param version
                the expected matching version
 @return the state of the node
 @throws InterruptedException If the server transaction is interrupted.
 @throws KeeperException If the server signals an error with a non-zero error code.
 @throws IllegalArgumentException if an invalid path is specified]]>
      </doc>
    </method>
    <method name="setData"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="data" type="byte[]"/>
      <param name="version" type="int"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.StatCallback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[The asynchronous version of setData.

 @see #setData(String, byte[], int)]]>
      </doc>
    </method>
    <method name="getACL" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Return the ACL and stat of the node of the given path.
 <p>
 A KeeperException with error code KeeperException.NoNode will be thrown
 if no node with the given path exists.

 @param path
                the given path for the node
 @param stat
                the stat of the node will be copied to this parameter if
                not null.
 @return the ACL array of the given node.
 @throws InterruptedException If the server transaction is interrupted.
 @throws KeeperException If the server signals an error with a non-zero error code.
 @throws IllegalArgumentException if an invalid path is specified]]>
      </doc>
    </method>
    <method name="getACL"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.ACLCallback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[The asynchronous version of getACL.

 @see #getACL(String, Stat)]]>
      </doc>
    </method>
    <method name="setACL" return="org.apache.zookeeper.data.Stat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="acl" type="java.util.List"/>
      <param name="aclVersion" type="int"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Set the ACL for the node of the given path if such a node exists and the
 given aclVersion matches the acl version of the node. Return the stat of the
 node.
 <p>
 A KeeperException with error code KeeperException.NoNode will be thrown
 if no node with the given path exists.
 <p>
 A KeeperException with error code KeeperException.BadVersion will be
 thrown if the given aclVersion does not match the node's aclVersion.

 @param path the given path for the node
 @param acl the given acl for the node
 @param aclVersion the given acl version of the node
 @return the stat of the node.
 @throws InterruptedException If the server transaction is interrupted.
 @throws KeeperException If the server signals an error with a non-zero error code.
 @throws org.apache.zookeeper.KeeperException.InvalidACLException If the acl is invalide.
 @throws IllegalArgumentException if an invalid path is specified]]>
      </doc>
    </method>
    <method name="setACL"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="acl" type="java.util.List"/>
      <param name="version" type="int"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.StatCallback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[The asynchronous version of setACL.

 @see #setACL(String, List, int)]]>
      </doc>
    </method>
    <method name="getChildren" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Return the list of the children of the node of the given path.
 <p>
 If the watch is non-null and the call is successful (no exception is thrown),
 a watch will be left on the node with the given path. The watch willbe
 triggered by a successful operation that deletes the node of the given
 path or creates/delete a child under the node.
 <p>
 The list of children returned is not sorted and no guarantee is provided
 as to its natural or lexical order.
 <p>
 A KeeperException with error code KeeperException.NoNode will be thrown
 if no node with the given path exists.

 @param path
 @param watcher explicit watcher
 @return an unordered array of children of the node with the given path
 @throws InterruptedException If the server transaction is interrupted.
 @throws KeeperException If the server signals an error with a non-zero error code.
 @throws IllegalArgumentException if an invalid path is specified]]>
      </doc>
    </method>
    <method name="getChildren" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watch" type="boolean"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Return the list of the children of the node of the given path.
 <p>
 If the watch is true and the call is successful (no exception is thrown),
 a watch will be left on the node with the given path. The watch willbe
 triggered by a successful operation that deletes the node of the given
 path or creates/delete a child under the node.
 <p>
 The list of children returned is not sorted and no guarantee is provided
 as to its natural or lexical order.
 <p>
 A KeeperException with error code KeeperException.NoNode will be thrown
 if no node with the given path exists.

 @param path
 @param watch
 @return an unordered array of children of the node with the given path
 @throws InterruptedException If the server transaction is interrupted.
 @throws KeeperException If the server signals an error with a non-zero error code.]]>
      </doc>
    </method>
    <method name="getChildren"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.ChildrenCallback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[The asynchronous version of getChildren.

 @see #getChildren(String, Watcher)]]>
      </doc>
    </method>
    <method name="getChildren"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watch" type="boolean"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.ChildrenCallback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[The asynchronous version of getChildren.

 @see #getChildren(String, boolean)]]>
      </doc>
    </method>
    <method name="getChildren" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[For the given znode path return the stat and children list.
 <p>
 If the watch is non-null and the call is successful (no exception is thrown),
 a watch will be left on the node with the given path. The watch willbe
 triggered by a successful operation that deletes the node of the given
 path or creates/delete a child under the node.
 <p>
 The list of children returned is not sorted and no guarantee is provided
 as to its natural or lexical order.
 <p>
 A KeeperException with error code KeeperException.NoNode will be thrown
 if no node with the given path exists.

 @since 3.3.0
 
 @param path
 @param watcher explicit watcher
 @param stat stat of the znode designated by path
 @return an unordered array of children of the node with the given path
 @throws InterruptedException If the server transaction is interrupted.
 @throws KeeperException If the server signals an error with a non-zero error code.
 @throws IllegalArgumentException if an invalid path is specified]]>
      </doc>
    </method>
    <method name="getChildren" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watch" type="boolean"/>
      <param name="stat" type="org.apache.zookeeper.data.Stat"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[For the given znode path return the stat and children list.
 <p>
 If the watch is true and the call is successful (no exception is thrown),
 a watch will be left on the node with the given path. The watch willbe
 triggered by a successful operation that deletes the node of the given
 path or creates/delete a child under the node.
 <p>
 The list of children returned is not sorted and no guarantee is provided
 as to its natural or lexical order.
 <p>
 A KeeperException with error code KeeperException.NoNode will be thrown
 if no node with the given path exists.

 @since 3.3.0
 
 @param path
 @param watch
 @param stat stat of the znode designated by path
 @return an unordered array of children of the node with the given path
 @throws InterruptedException If the server transaction is interrupted.
 @throws KeeperException If the server signals an error with a non-zero
  error code.]]>
      </doc>
    </method>
    <method name="getChildren"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watcher" type="org.apache.zookeeper.Watcher"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.Children2Callback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[The asynchronous version of getChildren.

 @since 3.3.0
 
 @see #getChildren(String, Watcher, Stat)]]>
      </doc>
    </method>
    <method name="getChildren"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="watch" type="boolean"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.Children2Callback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[The asynchronous version of getChildren.

 @since 3.3.0
 
 @see #getChildren(String, boolean, Stat)]]>
      </doc>
    </method>
    <method name="sync"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="cb" type="org.apache.zookeeper.AsyncCallback.VoidCallback"/>
      <param name="ctx" type="java.lang.Object"/>
      <doc>
      <![CDATA[Asynchronous sync. Flushes channel between process and leader.
 @param path
 @param cb a handler for the callback
 @param ctx context to be provided to the callback
 @throws IllegalArgumentException if an invalid path is specified]]>
      </doc>
    </method>
    <method name="getState" return="org.apache.zookeeper.ZooKeeper.States"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[String representation of this ZooKeeper client. Suitable for things
 like logging.
 
 Do NOT count on the format of this string, it may change without
 warning.
 
 @since 3.3.0]]>
      </doc>
    </method>
    <method name="testableWaitForShutdown" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="wait" type="int"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Wait up to wait milliseconds for the underlying threads to shutdown.
 THIS METHOD IS EXPECTED TO BE USED FOR TESTING ONLY!!!
 
 @since 3.3.0
 
 @param wait max wait in milliseconds
 @return true iff all threads are shutdown, otw false]]>
      </doc>
    </method>
    <method name="testableRemoteSocketAddress" return="java.net.SocketAddress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the address to which the socket is connected. Useful for testing
 against an ensemble - test client may need to know which server
 to shutdown if interested in verifying that the code handles
 disconnection/reconnection correctly.
 THIS METHOD IS EXPECTED TO BE USED FOR TESTING ONLY!!!

 @since 3.3.0
 
 @return ip address of the remote side of the connection or null if
         not connected]]>
      </doc>
    </method>
    <method name="testableLocalSocketAddress" return="java.net.SocketAddress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the local address to which the socket is bound.
 THIS METHOD IS EXPECTED TO BE USED FOR TESTING ONLY!!!

 @since 3.3.0
 
 @return ip address of the remote side of the connection or null if
         not connected]]>
      </doc>
    </method>
    <field name="ZOOKEEPER_CLIENT_CNXN_SOCKET" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="cnxn" type="org.apache.zookeeper.ClientCnxn"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This is the main class of ZooKeeper client library. To use a ZooKeeper
 service, an application must first instantiate an object of ZooKeeper class.
 All the iterations will be done by calling the methods of ZooKeeper class.
 The methods of this class are thread-safe unless otherwise noted.
 <p>
 Once a connection to a server is established, a session ID is assigned to the
 client. The client will send heart beats to the server periodically to keep
 the session valid.
 <p>
 The application can call ZooKeeper APIs through a client as long as the
 session ID of the client remains valid.
 <p>
 If for some reason, the client fails to send heart beats to the server for a
 prolonged period of time (exceeding the sessionTimeout value, for instance),
 the server will expire the session, and the session ID will become invalid.
 The client object will no longer be usable. To make ZooKeeper API calls, the
 application must create a new client object.
 <p>
 If the ZooKeeper server the client currently connects to fails or otherwise
 does not respond, the client will automatically try to connect to another
 server before its session ID expires. If successful, the application can
 continue to use the client.
 <p>
 The ZooKeeper API methods are either synchronous or asynchronous. Synchronous
 methods blocks until the server has responded. Asynchronous methods just queue
 the request for sending and return immediately. They take a callback object that
 will be executed either on successful execution of the request or on error with
 an appropriate return code (rc) indicating the error.
 <p>
 Some successful ZooKeeper API calls can leave watches on the "data nodes" in
 the ZooKeeper server. Other successful ZooKeeper API calls can trigger those
 watches. Once a watch is triggered, an event will be delivered to the client
 which left the watch at the first place. Each watch can be triggered only
 once. Thus, up to one event will be delivered to a client for every watch it
 leaves.
 <p>
 A client needs an object of a class implementing Watcher interface for
 processing the events delivered to the client.

 When a client drops the current connection and re-connects to a server, all the
 existing watches are considered as being triggered but the undelivered events
 are lost. To emulate this, the client will generate a special event to tell
 the event handler a connection has been dropped. This special event has
 EventType None and KeeperState Disconnected.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.ZooKeeper -->
  <!-- start class org.apache.zookeeper.ZooKeeper.States -->
  <class name="ZooKeeper.States" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.zookeeper.ZooKeeper.States[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.zookeeper.ZooKeeper.States"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="isAlive" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isConnected" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns whether we are connected to a server (which
 could possibly be read-only, if this client is allowed
 to go to read-only mode)]]>
      </doc>
    </method>
    <field name="CONNECTING" type="org.apache.zookeeper.ZooKeeper.States"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="ASSOCIATING" type="org.apache.zookeeper.ZooKeeper.States"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="CONNECTED" type="org.apache.zookeeper.ZooKeeper.States"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="CONNECTEDREADONLY" type="org.apache.zookeeper.ZooKeeper.States"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="CLOSED" type="org.apache.zookeeper.ZooKeeper.States"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="AUTH_FAILED" type="org.apache.zookeeper.ZooKeeper.States"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NOT_CONNECTED" type="org.apache.zookeeper.ZooKeeper.States"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.zookeeper.ZooKeeper.States -->
  <!-- start class org.apache.zookeeper.ZooKeeperMain -->
  <class name="ZooKeeperMain" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ZooKeeperMain" type="java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </constructor>
    <constructor name="ZooKeeperMain" type="org.apache.zookeeper.ZooKeeper"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getPrintWatches" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="addToHistory"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="i" type="int"/>
      <param name="cmd" type="java.lang.String"/>
      <doc>
      <![CDATA[Makes a list of possible completions, either for commands
 or for zk nodes if the token to complete begins with /]]>
      </doc>
    </method>
    <method name="getCommands" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPrompt" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="printMessage"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="msg" type="java.lang.String"/>
    </method>
    <method name="connectToZK"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="newHost" type="java.lang.String"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="main"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="args" type="java.lang.String[]"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="executeLine"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="line" type="java.lang.String"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
    </method>
    <method name="delQuota" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="zk" type="org.apache.zookeeper.ZooKeeper"/>
      <param name="path" type="java.lang.String"/>
      <param name="bytes" type="boolean"/>
      <param name="numNodes" type="boolean"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[this method deletes quota for a node.
 @param zk the zookeeper client
 @param path the path to delete quota for
 @param bytes true if number of bytes needs to
 be unset
 @param numNodes true if number of nodes needs
 to be unset
 @return true if quota deletion is successful
 @throws KeeperException
 @throws IOException
 @throws InterruptedException]]>
      </doc>
    </method>
    <method name="createQuota" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="zk" type="org.apache.zookeeper.ZooKeeper"/>
      <param name="path" type="java.lang.String"/>
      <param name="bytes" type="long"/>
      <param name="numNodes" type="int"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[this method creates a quota node for the path
 @param zk the ZooKeeper client
 @param path the path for which quota needs to be created
 @param bytes the limit of bytes on this path
 @param numNodes the limit of number of nodes on this path
 @return true if its successful and false if not.]]>
      </doc>
    </method>
    <method name="processCmd" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="co" type="org.apache.zookeeper.ZooKeeperMain.MyCommandOptions"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="processZKCmd" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="co" type="org.apache.zookeeper.ZooKeeperMain.MyCommandOptions"/>
      <exception name="KeeperException" type="org.apache.zookeeper.KeeperException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <field name="cl" type="org.apache.zookeeper.ZooKeeperMain.MyCommandOptions"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="history" type="java.util.HashMap"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="commandCount" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="printWatches" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="zk" type="org.apache.zookeeper.ZooKeeper"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="host" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[The command line client to ZooKeeper.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.ZooKeeperMain -->
</package>

</api>
