<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!-- Generated by the JDiff Javadoc doclet -->
<!-- (http://www.jdiff.org) -->
<!-- on Wed Apr 22 05:04:00 UTC 2009 -->

<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->

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

<!--  Command line arguments =  -doclet jdiff.JDiff -docletpath /home/gkesavan/zk-3.1/src/java/lib/jdiff-1.0.9.jar:/home/gkesavan/zk-3.1/src/java/lib/xerces-1.4.4.jar -classpath /home/gkesavan/zk-3.1/src/java/lib/jdiff-1.0.9.jar:/home/gkesavan/zk-3.1/src/java/lib/junit-4.4.jar:/home/gkesavan/zk-3.1/src/java/lib/log4j-1.2.15.jar:/home/gkesavan/zk-3.1/src/java/lib/xerces-1.4.4.jar:/home/gkesavan/zk-3.1/build/classes -sourcepath /home/gkesavan/zk-3.1/src/java/main -apidir /home/gkesavan/zk-3.1/src/java/lib/jdiff -apiname zookeeper 3.1.1 -->
<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">
  </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="false" 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"/>
    </method>
  </interface>
  <!-- end interface org.apache.zookeeper.AsyncCallback.ACLCallback -->
  <!-- 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="false" 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"/>
    </method>
  </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="false" 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"/>
    </method>
  </interface>
  <!-- end interface org.apache.zookeeper.AsyncCallback.DataCallback -->
  <!-- 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="false" 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"/>
    </method>
  </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="false" 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"/>
    </method>
  </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="false" 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"/>
    </method>
  </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, int, org.apache.zookeeper.ZooKeeper, org.apache.zookeeper.ClientWatchManager"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <constructor name="ClientCnxn" type="java.lang.String, int, org.apache.zookeeper.ZooKeeper, org.apache.zookeeper.ClientWatchManager, long, byte[]"
      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.

 @param hosts
                a comma separated list of hosts that can be connected to.
 @param sessionTimeout
                the timeout for connections.
 @param zooKeeper
                the zookeeper object that this connection is related to.
 @throws KeeperException
 @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="toString" return="java.lang.String"
      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="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="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="disableAutoWatchReset" type="boolean"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This controls whether automatic watch resetting is enabled.
 Clients automatically reset watches during session reconnect, this
 option allows the client to turn off this behavior by setting
 the environment variable "zookeeper.disableAutoWatchReset" to "true"]]>
      </doc>
    </field>
    <field name="packetLen" type="int"
      transient="false" volatile="false"
      static="true" final="false" 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 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="false" 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]]>
      </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.apache.log4j.Logger"/>
    </method>
    <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="Environment.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>
  </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="KeeperException.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="KeeperException.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="KeeperException.BadArgumentsException"
      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="KeeperException.BadVersionException"
      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>
    <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="KeeperException.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="KeeperException.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="KeeperException.InvalidACLException"
      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="KeeperException.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="KeeperException.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="KeeperException.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="KeeperException.NoChildrenForEphemeralsException"
      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="KeeperException.NodeExistsException"
      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="KeeperException.NoNodeException"
      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="KeeperException.NotEmptyException"
      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.OperationTimeoutException -->
  <class name="KeeperException.OperationTimeoutException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="KeeperException.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="KeeperException.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="KeeperException.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.SystemErrorException -->
  <class name="KeeperException.SystemErrorException" extends="org.apache.zookeeper.KeeperException"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="KeeperException.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="KeeperException.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.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.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.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 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="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="false" 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 ZooKeepr
 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="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.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 with the exception of ADMIN permission.]]>
      </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="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="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 client(ZooKeeper) object, the application needs to pass a
 string containing a comma separated list of host:port pairs, each 
 corresponding to a ZooKeeper server.
 <p>
 The client object will pick an arbitrary server and try to connect to it.
 If failed, it will try the next one in the list, until a connection is
 established, or all the servers have been tried.

 @param host
            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"
 @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]]>
      </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 client(ZooKeeper) object, the application needs to pass a
 string containing a comma separated list of host:port pairs, each
 corresponding to a ZooKeeper server.
 <p>
 The client object will pick an arbitrary server and try to connect to it.
 If failed, it will try the next one in the list, until a connection is
 established, or all the servers have been tried.
 <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 host
            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"
 @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]]>
      </doc>
    </constructor>
    <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.

 @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.

 @return current session password]]>
      </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[]"/>
    </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"/>
    </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

 @throws IOException
 @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. 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 flags
                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 org.apache.zookeeper.KeeperException.InvalidACLException if the ACL is invalid
 @throws InterruptedException if the transaction is interrupted
 @throws IllegalArgumentException if an invalid path is specified]]>
      </doc>
    </method>
    <method name="validatePath"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <exception name="IllegalArgumentException" type="java.lang.IllegalArgumentException"/>
      <doc>
      <![CDATA[Validate the provided znode path string
 @param path znode path string
 @throws IllegalArgumentException if the path is invalid]]>
      </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. The request doesn't actually until
 the asynchronous callback is called.

 @see #create(String, byte[], List<ACL>, 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="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. The request doesn't actually until
 the asynchronous callback is called.

 @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. The request doesn't actually until
 the asynchronous callback is called.

 @see #exists(String, boolean)]]>
      </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. The request doesn't actually until
 the asynchronous callback is called.

 @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. The request doesn't actually until
 the asynchronous callback is called.

 @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. The request doesn't actually until
 the asynchronous callback is called.

 @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 KeeperExecption 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. The request doesn't actually until
 the asynchronous callback is called.

 @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.
 @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. The request doesn't actually until
 the asynchronous callback is called.

 @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="version" 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 version matches the 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 version does not match the node's version.

 @param path
 @param acl
 @param version
 @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. The request doesn't actually until
 the asynchronous callback is called.

 @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. The request doesn't actually
 until the asynchronous callback is called.

 @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. The request doesn't actually
 until the asynchronous callback is called.

 @see #getChildren(String, boolean)]]>
      </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>
    <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.
 <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>
 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 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 type
 EventNone and state sKeeperStateDisconnected.]]>
    </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>
    <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="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>
  </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"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <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="NumberFormatException" type="java.lang.NumberFormatException"/>
      <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="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>
    <doc>
    <![CDATA[The command line client to ZooKeeper.]]>
    </doc>
  </class>
  <!-- end class org.apache.zookeeper.ZooKeeperMain -->
</package>

</api>
