You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@curator.apache.org by ra...@apache.org on 2014/05/27 15:57:27 UTC

[05/14] wip

http://git-wip-us.apache.org/repos/asf/curator/blob/5fe11f80/curator-x-rpc/src/test/java/org/apache/curator/generated/EventType.java
----------------------------------------------------------------------
diff --git a/curator-x-rpc/src/test/java/org/apache/curator/generated/EventType.java b/curator-x-rpc/src/test/java/org/apache/curator/generated/EventType.java
new file mode 100644
index 0000000..dced909
--- /dev/null
+++ b/curator-x-rpc/src/test/java/org/apache/curator/generated/EventType.java
@@ -0,0 +1,54 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.curator.generated;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum EventType implements org.apache.thrift.TEnum {
+  None(0),
+  NodeCreated(1),
+  NodeDeleted(2),
+  NodeDataChanged(3),
+  NodeChildrenChanged(4);
+
+  private final int value;
+
+  private EventType(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static EventType findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return None;
+      case 1:
+        return NodeCreated;
+      case 2:
+        return NodeDeleted;
+      case 3:
+        return NodeDataChanged;
+      case 4:
+        return NodeChildrenChanged;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/curator/blob/5fe11f80/curator-x-rpc/src/test/java/org/apache/curator/generated/KeeperState.java
----------------------------------------------------------------------
diff --git a/curator-x-rpc/src/test/java/org/apache/curator/generated/KeeperState.java b/curator-x-rpc/src/test/java/org/apache/curator/generated/KeeperState.java
new file mode 100644
index 0000000..cd945ee
--- /dev/null
+++ b/curator-x-rpc/src/test/java/org/apache/curator/generated/KeeperState.java
@@ -0,0 +1,63 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.curator.generated;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum KeeperState implements org.apache.thrift.TEnum {
+  Unknown(0),
+  Disconnected(1),
+  NoSyncConnected(2),
+  SyncConnected(3),
+  AuthFailed(4),
+  ConnectedReadOnly(5),
+  SaslAuthenticated(6),
+  Expired(7);
+
+  private final int value;
+
+  private KeeperState(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static KeeperState findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return Unknown;
+      case 1:
+        return Disconnected;
+      case 2:
+        return NoSyncConnected;
+      case 3:
+        return SyncConnected;
+      case 4:
+        return AuthFailed;
+      case 5:
+        return ConnectedReadOnly;
+      case 6:
+        return SaslAuthenticated;
+      case 7:
+        return Expired;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/curator/blob/5fe11f80/curator-x-rpc/src/test/java/org/apache/curator/generated/Stat.java
----------------------------------------------------------------------
diff --git a/curator-x-rpc/src/test/java/org/apache/curator/generated/Stat.java b/curator-x-rpc/src/test/java/org/apache/curator/generated/Stat.java
new file mode 100644
index 0000000..e8475c0
--- /dev/null
+++ b/curator-x-rpc/src/test/java/org/apache/curator/generated/Stat.java
@@ -0,0 +1,1326 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.curator.generated;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class Stat implements org.apache.thrift.TBase<Stat, Stat._Fields>, java.io.Serializable, Cloneable, Comparable<Stat> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Stat");
+
+  private static final org.apache.thrift.protocol.TField CZXID_FIELD_DESC = new org.apache.thrift.protocol.TField("czxid", org.apache.thrift.protocol.TType.I64, (short)1);
+  private static final org.apache.thrift.protocol.TField MZXID_FIELD_DESC = new org.apache.thrift.protocol.TField("mzxid", org.apache.thrift.protocol.TType.I64, (short)2);
+  private static final org.apache.thrift.protocol.TField CTIME_FIELD_DESC = new org.apache.thrift.protocol.TField("ctime", org.apache.thrift.protocol.TType.I64, (short)3);
+  private static final org.apache.thrift.protocol.TField MTIME_FIELD_DESC = new org.apache.thrift.protocol.TField("mtime", org.apache.thrift.protocol.TType.I64, (short)4);
+  private static final org.apache.thrift.protocol.TField VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("version", org.apache.thrift.protocol.TType.I32, (short)5);
+  private static final org.apache.thrift.protocol.TField CVERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("cversion", org.apache.thrift.protocol.TType.I32, (short)6);
+  private static final org.apache.thrift.protocol.TField AVERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("aversion", org.apache.thrift.protocol.TType.I32, (short)7);
+  private static final org.apache.thrift.protocol.TField EPHEMERAL_OWNER_FIELD_DESC = new org.apache.thrift.protocol.TField("ephemeralOwner", org.apache.thrift.protocol.TType.I64, (short)8);
+  private static final org.apache.thrift.protocol.TField DATA_LENGTH_FIELD_DESC = new org.apache.thrift.protocol.TField("dataLength", org.apache.thrift.protocol.TType.I32, (short)9);
+  private static final org.apache.thrift.protocol.TField NUM_CHILDREN_FIELD_DESC = new org.apache.thrift.protocol.TField("numChildren", org.apache.thrift.protocol.TType.I32, (short)10);
+  private static final org.apache.thrift.protocol.TField PZXID_FIELD_DESC = new org.apache.thrift.protocol.TField("pzxid", org.apache.thrift.protocol.TType.I64, (short)11);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new StatStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new StatTupleSchemeFactory());
+  }
+
+  public long czxid; // required
+  public long mzxid; // required
+  public long ctime; // required
+  public long mtime; // required
+  public int version; // required
+  public int cversion; // required
+  public int aversion; // required
+  public long ephemeralOwner; // required
+  public int dataLength; // required
+  public int numChildren; // required
+  public long pzxid; // required
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    CZXID((short)1, "czxid"),
+    MZXID((short)2, "mzxid"),
+    CTIME((short)3, "ctime"),
+    MTIME((short)4, "mtime"),
+    VERSION((short)5, "version"),
+    CVERSION((short)6, "cversion"),
+    AVERSION((short)7, "aversion"),
+    EPHEMERAL_OWNER((short)8, "ephemeralOwner"),
+    DATA_LENGTH((short)9, "dataLength"),
+    NUM_CHILDREN((short)10, "numChildren"),
+    PZXID((short)11, "pzxid");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // CZXID
+          return CZXID;
+        case 2: // MZXID
+          return MZXID;
+        case 3: // CTIME
+          return CTIME;
+        case 4: // MTIME
+          return MTIME;
+        case 5: // VERSION
+          return VERSION;
+        case 6: // CVERSION
+          return CVERSION;
+        case 7: // AVERSION
+          return AVERSION;
+        case 8: // EPHEMERAL_OWNER
+          return EPHEMERAL_OWNER;
+        case 9: // DATA_LENGTH
+          return DATA_LENGTH;
+        case 10: // NUM_CHILDREN
+          return NUM_CHILDREN;
+        case 11: // PZXID
+          return PZXID;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final int __CZXID_ISSET_ID = 0;
+  private static final int __MZXID_ISSET_ID = 1;
+  private static final int __CTIME_ISSET_ID = 2;
+  private static final int __MTIME_ISSET_ID = 3;
+  private static final int __VERSION_ISSET_ID = 4;
+  private static final int __CVERSION_ISSET_ID = 5;
+  private static final int __AVERSION_ISSET_ID = 6;
+  private static final int __EPHEMERALOWNER_ISSET_ID = 7;
+  private static final int __DATALENGTH_ISSET_ID = 8;
+  private static final int __NUMCHILDREN_ISSET_ID = 9;
+  private static final int __PZXID_ISSET_ID = 10;
+  private short __isset_bitfield = 0;
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.CZXID, new org.apache.thrift.meta_data.FieldMetaData("czxid", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.MZXID, new org.apache.thrift.meta_data.FieldMetaData("mzxid", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.CTIME, new org.apache.thrift.meta_data.FieldMetaData("ctime", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.MTIME, new org.apache.thrift.meta_data.FieldMetaData("mtime", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.VERSION, new org.apache.thrift.meta_data.FieldMetaData("version", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.CVERSION, new org.apache.thrift.meta_data.FieldMetaData("cversion", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.AVERSION, new org.apache.thrift.meta_data.FieldMetaData("aversion", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.EPHEMERAL_OWNER, new org.apache.thrift.meta_data.FieldMetaData("ephemeralOwner", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.DATA_LENGTH, new org.apache.thrift.meta_data.FieldMetaData("dataLength", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.NUM_CHILDREN, new org.apache.thrift.meta_data.FieldMetaData("numChildren", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.PZXID, new org.apache.thrift.meta_data.FieldMetaData("pzxid", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Stat.class, metaDataMap);
+  }
+
+  public Stat() {
+  }
+
+  public Stat(
+    long czxid,
+    long mzxid,
+    long ctime,
+    long mtime,
+    int version,
+    int cversion,
+    int aversion,
+    long ephemeralOwner,
+    int dataLength,
+    int numChildren,
+    long pzxid)
+  {
+    this();
+    this.czxid = czxid;
+    setCzxidIsSet(true);
+    this.mzxid = mzxid;
+    setMzxidIsSet(true);
+    this.ctime = ctime;
+    setCtimeIsSet(true);
+    this.mtime = mtime;
+    setMtimeIsSet(true);
+    this.version = version;
+    setVersionIsSet(true);
+    this.cversion = cversion;
+    setCversionIsSet(true);
+    this.aversion = aversion;
+    setAversionIsSet(true);
+    this.ephemeralOwner = ephemeralOwner;
+    setEphemeralOwnerIsSet(true);
+    this.dataLength = dataLength;
+    setDataLengthIsSet(true);
+    this.numChildren = numChildren;
+    setNumChildrenIsSet(true);
+    this.pzxid = pzxid;
+    setPzxidIsSet(true);
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public Stat(Stat other) {
+    __isset_bitfield = other.__isset_bitfield;
+    this.czxid = other.czxid;
+    this.mzxid = other.mzxid;
+    this.ctime = other.ctime;
+    this.mtime = other.mtime;
+    this.version = other.version;
+    this.cversion = other.cversion;
+    this.aversion = other.aversion;
+    this.ephemeralOwner = other.ephemeralOwner;
+    this.dataLength = other.dataLength;
+    this.numChildren = other.numChildren;
+    this.pzxid = other.pzxid;
+  }
+
+  public Stat deepCopy() {
+    return new Stat(this);
+  }
+
+  @Override
+  public void clear() {
+    setCzxidIsSet(false);
+    this.czxid = 0;
+    setMzxidIsSet(false);
+    this.mzxid = 0;
+    setCtimeIsSet(false);
+    this.ctime = 0;
+    setMtimeIsSet(false);
+    this.mtime = 0;
+    setVersionIsSet(false);
+    this.version = 0;
+    setCversionIsSet(false);
+    this.cversion = 0;
+    setAversionIsSet(false);
+    this.aversion = 0;
+    setEphemeralOwnerIsSet(false);
+    this.ephemeralOwner = 0;
+    setDataLengthIsSet(false);
+    this.dataLength = 0;
+    setNumChildrenIsSet(false);
+    this.numChildren = 0;
+    setPzxidIsSet(false);
+    this.pzxid = 0;
+  }
+
+  public long getCzxid() {
+    return this.czxid;
+  }
+
+  public Stat setCzxid(long czxid) {
+    this.czxid = czxid;
+    setCzxidIsSet(true);
+    return this;
+  }
+
+  public void unsetCzxid() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CZXID_ISSET_ID);
+  }
+
+  /** Returns true if field czxid is set (has been assigned a value) and false otherwise */
+  public boolean isSetCzxid() {
+    return EncodingUtils.testBit(__isset_bitfield, __CZXID_ISSET_ID);
+  }
+
+  public void setCzxidIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CZXID_ISSET_ID, value);
+  }
+
+  public long getMzxid() {
+    return this.mzxid;
+  }
+
+  public Stat setMzxid(long mzxid) {
+    this.mzxid = mzxid;
+    setMzxidIsSet(true);
+    return this;
+  }
+
+  public void unsetMzxid() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MZXID_ISSET_ID);
+  }
+
+  /** Returns true if field mzxid is set (has been assigned a value) and false otherwise */
+  public boolean isSetMzxid() {
+    return EncodingUtils.testBit(__isset_bitfield, __MZXID_ISSET_ID);
+  }
+
+  public void setMzxidIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MZXID_ISSET_ID, value);
+  }
+
+  public long getCtime() {
+    return this.ctime;
+  }
+
+  public Stat setCtime(long ctime) {
+    this.ctime = ctime;
+    setCtimeIsSet(true);
+    return this;
+  }
+
+  public void unsetCtime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CTIME_ISSET_ID);
+  }
+
+  /** Returns true if field ctime is set (has been assigned a value) and false otherwise */
+  public boolean isSetCtime() {
+    return EncodingUtils.testBit(__isset_bitfield, __CTIME_ISSET_ID);
+  }
+
+  public void setCtimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CTIME_ISSET_ID, value);
+  }
+
+  public long getMtime() {
+    return this.mtime;
+  }
+
+  public Stat setMtime(long mtime) {
+    this.mtime = mtime;
+    setMtimeIsSet(true);
+    return this;
+  }
+
+  public void unsetMtime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MTIME_ISSET_ID);
+  }
+
+  /** Returns true if field mtime is set (has been assigned a value) and false otherwise */
+  public boolean isSetMtime() {
+    return EncodingUtils.testBit(__isset_bitfield, __MTIME_ISSET_ID);
+  }
+
+  public void setMtimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MTIME_ISSET_ID, value);
+  }
+
+  public int getVersion() {
+    return this.version;
+  }
+
+  public Stat setVersion(int version) {
+    this.version = version;
+    setVersionIsSet(true);
+    return this;
+  }
+
+  public void unsetVersion() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __VERSION_ISSET_ID);
+  }
+
+  /** Returns true if field version is set (has been assigned a value) and false otherwise */
+  public boolean isSetVersion() {
+    return EncodingUtils.testBit(__isset_bitfield, __VERSION_ISSET_ID);
+  }
+
+  public void setVersionIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __VERSION_ISSET_ID, value);
+  }
+
+  public int getCversion() {
+    return this.cversion;
+  }
+
+  public Stat setCversion(int cversion) {
+    this.cversion = cversion;
+    setCversionIsSet(true);
+    return this;
+  }
+
+  public void unsetCversion() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CVERSION_ISSET_ID);
+  }
+
+  /** Returns true if field cversion is set (has been assigned a value) and false otherwise */
+  public boolean isSetCversion() {
+    return EncodingUtils.testBit(__isset_bitfield, __CVERSION_ISSET_ID);
+  }
+
+  public void setCversionIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CVERSION_ISSET_ID, value);
+  }
+
+  public int getAversion() {
+    return this.aversion;
+  }
+
+  public Stat setAversion(int aversion) {
+    this.aversion = aversion;
+    setAversionIsSet(true);
+    return this;
+  }
+
+  public void unsetAversion() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __AVERSION_ISSET_ID);
+  }
+
+  /** Returns true if field aversion is set (has been assigned a value) and false otherwise */
+  public boolean isSetAversion() {
+    return EncodingUtils.testBit(__isset_bitfield, __AVERSION_ISSET_ID);
+  }
+
+  public void setAversionIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __AVERSION_ISSET_ID, value);
+  }
+
+  public long getEphemeralOwner() {
+    return this.ephemeralOwner;
+  }
+
+  public Stat setEphemeralOwner(long ephemeralOwner) {
+    this.ephemeralOwner = ephemeralOwner;
+    setEphemeralOwnerIsSet(true);
+    return this;
+  }
+
+  public void unsetEphemeralOwner() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __EPHEMERALOWNER_ISSET_ID);
+  }
+
+  /** Returns true if field ephemeralOwner is set (has been assigned a value) and false otherwise */
+  public boolean isSetEphemeralOwner() {
+    return EncodingUtils.testBit(__isset_bitfield, __EPHEMERALOWNER_ISSET_ID);
+  }
+
+  public void setEphemeralOwnerIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __EPHEMERALOWNER_ISSET_ID, value);
+  }
+
+  public int getDataLength() {
+    return this.dataLength;
+  }
+
+  public Stat setDataLength(int dataLength) {
+    this.dataLength = dataLength;
+    setDataLengthIsSet(true);
+    return this;
+  }
+
+  public void unsetDataLength() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DATALENGTH_ISSET_ID);
+  }
+
+  /** Returns true if field dataLength is set (has been assigned a value) and false otherwise */
+  public boolean isSetDataLength() {
+    return EncodingUtils.testBit(__isset_bitfield, __DATALENGTH_ISSET_ID);
+  }
+
+  public void setDataLengthIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DATALENGTH_ISSET_ID, value);
+  }
+
+  public int getNumChildren() {
+    return this.numChildren;
+  }
+
+  public Stat setNumChildren(int numChildren) {
+    this.numChildren = numChildren;
+    setNumChildrenIsSet(true);
+    return this;
+  }
+
+  public void unsetNumChildren() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUMCHILDREN_ISSET_ID);
+  }
+
+  /** Returns true if field numChildren is set (has been assigned a value) and false otherwise */
+  public boolean isSetNumChildren() {
+    return EncodingUtils.testBit(__isset_bitfield, __NUMCHILDREN_ISSET_ID);
+  }
+
+  public void setNumChildrenIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUMCHILDREN_ISSET_ID, value);
+  }
+
+  public long getPzxid() {
+    return this.pzxid;
+  }
+
+  public Stat setPzxid(long pzxid) {
+    this.pzxid = pzxid;
+    setPzxidIsSet(true);
+    return this;
+  }
+
+  public void unsetPzxid() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PZXID_ISSET_ID);
+  }
+
+  /** Returns true if field pzxid is set (has been assigned a value) and false otherwise */
+  public boolean isSetPzxid() {
+    return EncodingUtils.testBit(__isset_bitfield, __PZXID_ISSET_ID);
+  }
+
+  public void setPzxidIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PZXID_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case CZXID:
+      if (value == null) {
+        unsetCzxid();
+      } else {
+        setCzxid((Long)value);
+      }
+      break;
+
+    case MZXID:
+      if (value == null) {
+        unsetMzxid();
+      } else {
+        setMzxid((Long)value);
+      }
+      break;
+
+    case CTIME:
+      if (value == null) {
+        unsetCtime();
+      } else {
+        setCtime((Long)value);
+      }
+      break;
+
+    case MTIME:
+      if (value == null) {
+        unsetMtime();
+      } else {
+        setMtime((Long)value);
+      }
+      break;
+
+    case VERSION:
+      if (value == null) {
+        unsetVersion();
+      } else {
+        setVersion((Integer)value);
+      }
+      break;
+
+    case CVERSION:
+      if (value == null) {
+        unsetCversion();
+      } else {
+        setCversion((Integer)value);
+      }
+      break;
+
+    case AVERSION:
+      if (value == null) {
+        unsetAversion();
+      } else {
+        setAversion((Integer)value);
+      }
+      break;
+
+    case EPHEMERAL_OWNER:
+      if (value == null) {
+        unsetEphemeralOwner();
+      } else {
+        setEphemeralOwner((Long)value);
+      }
+      break;
+
+    case DATA_LENGTH:
+      if (value == null) {
+        unsetDataLength();
+      } else {
+        setDataLength((Integer)value);
+      }
+      break;
+
+    case NUM_CHILDREN:
+      if (value == null) {
+        unsetNumChildren();
+      } else {
+        setNumChildren((Integer)value);
+      }
+      break;
+
+    case PZXID:
+      if (value == null) {
+        unsetPzxid();
+      } else {
+        setPzxid((Long)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case CZXID:
+      return Long.valueOf(getCzxid());
+
+    case MZXID:
+      return Long.valueOf(getMzxid());
+
+    case CTIME:
+      return Long.valueOf(getCtime());
+
+    case MTIME:
+      return Long.valueOf(getMtime());
+
+    case VERSION:
+      return Integer.valueOf(getVersion());
+
+    case CVERSION:
+      return Integer.valueOf(getCversion());
+
+    case AVERSION:
+      return Integer.valueOf(getAversion());
+
+    case EPHEMERAL_OWNER:
+      return Long.valueOf(getEphemeralOwner());
+
+    case DATA_LENGTH:
+      return Integer.valueOf(getDataLength());
+
+    case NUM_CHILDREN:
+      return Integer.valueOf(getNumChildren());
+
+    case PZXID:
+      return Long.valueOf(getPzxid());
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case CZXID:
+      return isSetCzxid();
+    case MZXID:
+      return isSetMzxid();
+    case CTIME:
+      return isSetCtime();
+    case MTIME:
+      return isSetMtime();
+    case VERSION:
+      return isSetVersion();
+    case CVERSION:
+      return isSetCversion();
+    case AVERSION:
+      return isSetAversion();
+    case EPHEMERAL_OWNER:
+      return isSetEphemeralOwner();
+    case DATA_LENGTH:
+      return isSetDataLength();
+    case NUM_CHILDREN:
+      return isSetNumChildren();
+    case PZXID:
+      return isSetPzxid();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof Stat)
+      return this.equals((Stat)that);
+    return false;
+  }
+
+  public boolean equals(Stat that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_czxid = true;
+    boolean that_present_czxid = true;
+    if (this_present_czxid || that_present_czxid) {
+      if (!(this_present_czxid && that_present_czxid))
+        return false;
+      if (this.czxid != that.czxid)
+        return false;
+    }
+
+    boolean this_present_mzxid = true;
+    boolean that_present_mzxid = true;
+    if (this_present_mzxid || that_present_mzxid) {
+      if (!(this_present_mzxid && that_present_mzxid))
+        return false;
+      if (this.mzxid != that.mzxid)
+        return false;
+    }
+
+    boolean this_present_ctime = true;
+    boolean that_present_ctime = true;
+    if (this_present_ctime || that_present_ctime) {
+      if (!(this_present_ctime && that_present_ctime))
+        return false;
+      if (this.ctime != that.ctime)
+        return false;
+    }
+
+    boolean this_present_mtime = true;
+    boolean that_present_mtime = true;
+    if (this_present_mtime || that_present_mtime) {
+      if (!(this_present_mtime && that_present_mtime))
+        return false;
+      if (this.mtime != that.mtime)
+        return false;
+    }
+
+    boolean this_present_version = true;
+    boolean that_present_version = true;
+    if (this_present_version || that_present_version) {
+      if (!(this_present_version && that_present_version))
+        return false;
+      if (this.version != that.version)
+        return false;
+    }
+
+    boolean this_present_cversion = true;
+    boolean that_present_cversion = true;
+    if (this_present_cversion || that_present_cversion) {
+      if (!(this_present_cversion && that_present_cversion))
+        return false;
+      if (this.cversion != that.cversion)
+        return false;
+    }
+
+    boolean this_present_aversion = true;
+    boolean that_present_aversion = true;
+    if (this_present_aversion || that_present_aversion) {
+      if (!(this_present_aversion && that_present_aversion))
+        return false;
+      if (this.aversion != that.aversion)
+        return false;
+    }
+
+    boolean this_present_ephemeralOwner = true;
+    boolean that_present_ephemeralOwner = true;
+    if (this_present_ephemeralOwner || that_present_ephemeralOwner) {
+      if (!(this_present_ephemeralOwner && that_present_ephemeralOwner))
+        return false;
+      if (this.ephemeralOwner != that.ephemeralOwner)
+        return false;
+    }
+
+    boolean this_present_dataLength = true;
+    boolean that_present_dataLength = true;
+    if (this_present_dataLength || that_present_dataLength) {
+      if (!(this_present_dataLength && that_present_dataLength))
+        return false;
+      if (this.dataLength != that.dataLength)
+        return false;
+    }
+
+    boolean this_present_numChildren = true;
+    boolean that_present_numChildren = true;
+    if (this_present_numChildren || that_present_numChildren) {
+      if (!(this_present_numChildren && that_present_numChildren))
+        return false;
+      if (this.numChildren != that.numChildren)
+        return false;
+    }
+
+    boolean this_present_pzxid = true;
+    boolean that_present_pzxid = true;
+    if (this_present_pzxid || that_present_pzxid) {
+      if (!(this_present_pzxid && that_present_pzxid))
+        return false;
+      if (this.pzxid != that.pzxid)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(Stat other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetCzxid()).compareTo(other.isSetCzxid());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCzxid()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.czxid, other.czxid);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetMzxid()).compareTo(other.isSetMzxid());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetMzxid()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.mzxid, other.mzxid);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetCtime()).compareTo(other.isSetCtime());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCtime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ctime, other.ctime);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetMtime()).compareTo(other.isSetMtime());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetMtime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.mtime, other.mtime);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetVersion()).compareTo(other.isSetVersion());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetVersion()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.version, other.version);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetCversion()).compareTo(other.isSetCversion());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCversion()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cversion, other.cversion);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetAversion()).compareTo(other.isSetAversion());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetAversion()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aversion, other.aversion);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetEphemeralOwner()).compareTo(other.isSetEphemeralOwner());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetEphemeralOwner()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ephemeralOwner, other.ephemeralOwner);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDataLength()).compareTo(other.isSetDataLength());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDataLength()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataLength, other.dataLength);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetNumChildren()).compareTo(other.isSetNumChildren());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetNumChildren()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.numChildren, other.numChildren);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetPzxid()).compareTo(other.isSetPzxid());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetPzxid()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pzxid, other.pzxid);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("Stat(");
+    boolean first = true;
+
+    sb.append("czxid:");
+    sb.append(this.czxid);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("mzxid:");
+    sb.append(this.mzxid);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("ctime:");
+    sb.append(this.ctime);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("mtime:");
+    sb.append(this.mtime);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("version:");
+    sb.append(this.version);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("cversion:");
+    sb.append(this.cversion);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("aversion:");
+    sb.append(this.aversion);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("ephemeralOwner:");
+    sb.append(this.ephemeralOwner);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("dataLength:");
+    sb.append(this.dataLength);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("numChildren:");
+    sb.append(this.numChildren);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("pzxid:");
+    sb.append(this.pzxid);
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+      __isset_bitfield = 0;
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class StatStandardSchemeFactory implements SchemeFactory {
+    public StatStandardScheme getScheme() {
+      return new StatStandardScheme();
+    }
+  }
+
+  private static class StatStandardScheme extends StandardScheme<Stat> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, Stat struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // CZXID
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.czxid = iprot.readI64();
+              struct.setCzxidIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // MZXID
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.mzxid = iprot.readI64();
+              struct.setMzxidIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // CTIME
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.ctime = iprot.readI64();
+              struct.setCtimeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // MTIME
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.mtime = iprot.readI64();
+              struct.setMtimeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // VERSION
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.version = iprot.readI32();
+              struct.setVersionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // CVERSION
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.cversion = iprot.readI32();
+              struct.setCversionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // AVERSION
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.aversion = iprot.readI32();
+              struct.setAversionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // EPHEMERAL_OWNER
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.ephemeralOwner = iprot.readI64();
+              struct.setEphemeralOwnerIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 9: // DATA_LENGTH
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.dataLength = iprot.readI32();
+              struct.setDataLengthIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // NUM_CHILDREN
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.numChildren = iprot.readI32();
+              struct.setNumChildrenIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 11: // PZXID
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.pzxid = iprot.readI64();
+              struct.setPzxidIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, Stat struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      oprot.writeFieldBegin(CZXID_FIELD_DESC);
+      oprot.writeI64(struct.czxid);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(MZXID_FIELD_DESC);
+      oprot.writeI64(struct.mzxid);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(CTIME_FIELD_DESC);
+      oprot.writeI64(struct.ctime);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(MTIME_FIELD_DESC);
+      oprot.writeI64(struct.mtime);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(VERSION_FIELD_DESC);
+      oprot.writeI32(struct.version);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(CVERSION_FIELD_DESC);
+      oprot.writeI32(struct.cversion);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(AVERSION_FIELD_DESC);
+      oprot.writeI32(struct.aversion);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(EPHEMERAL_OWNER_FIELD_DESC);
+      oprot.writeI64(struct.ephemeralOwner);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(DATA_LENGTH_FIELD_DESC);
+      oprot.writeI32(struct.dataLength);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(NUM_CHILDREN_FIELD_DESC);
+      oprot.writeI32(struct.numChildren);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(PZXID_FIELD_DESC);
+      oprot.writeI64(struct.pzxid);
+      oprot.writeFieldEnd();
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class StatTupleSchemeFactory implements SchemeFactory {
+    public StatTupleScheme getScheme() {
+      return new StatTupleScheme();
+    }
+  }
+
+  private static class StatTupleScheme extends TupleScheme<Stat> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, Stat struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetCzxid()) {
+        optionals.set(0);
+      }
+      if (struct.isSetMzxid()) {
+        optionals.set(1);
+      }
+      if (struct.isSetCtime()) {
+        optionals.set(2);
+      }
+      if (struct.isSetMtime()) {
+        optionals.set(3);
+      }
+      if (struct.isSetVersion()) {
+        optionals.set(4);
+      }
+      if (struct.isSetCversion()) {
+        optionals.set(5);
+      }
+      if (struct.isSetAversion()) {
+        optionals.set(6);
+      }
+      if (struct.isSetEphemeralOwner()) {
+        optionals.set(7);
+      }
+      if (struct.isSetDataLength()) {
+        optionals.set(8);
+      }
+      if (struct.isSetNumChildren()) {
+        optionals.set(9);
+      }
+      if (struct.isSetPzxid()) {
+        optionals.set(10);
+      }
+      oprot.writeBitSet(optionals, 11);
+      if (struct.isSetCzxid()) {
+        oprot.writeI64(struct.czxid);
+      }
+      if (struct.isSetMzxid()) {
+        oprot.writeI64(struct.mzxid);
+      }
+      if (struct.isSetCtime()) {
+        oprot.writeI64(struct.ctime);
+      }
+      if (struct.isSetMtime()) {
+        oprot.writeI64(struct.mtime);
+      }
+      if (struct.isSetVersion()) {
+        oprot.writeI32(struct.version);
+      }
+      if (struct.isSetCversion()) {
+        oprot.writeI32(struct.cversion);
+      }
+      if (struct.isSetAversion()) {
+        oprot.writeI32(struct.aversion);
+      }
+      if (struct.isSetEphemeralOwner()) {
+        oprot.writeI64(struct.ephemeralOwner);
+      }
+      if (struct.isSetDataLength()) {
+        oprot.writeI32(struct.dataLength);
+      }
+      if (struct.isSetNumChildren()) {
+        oprot.writeI32(struct.numChildren);
+      }
+      if (struct.isSetPzxid()) {
+        oprot.writeI64(struct.pzxid);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, Stat struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(11);
+      if (incoming.get(0)) {
+        struct.czxid = iprot.readI64();
+        struct.setCzxidIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.mzxid = iprot.readI64();
+        struct.setMzxidIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.ctime = iprot.readI64();
+        struct.setCtimeIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.mtime = iprot.readI64();
+        struct.setMtimeIsSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.version = iprot.readI32();
+        struct.setVersionIsSet(true);
+      }
+      if (incoming.get(5)) {
+        struct.cversion = iprot.readI32();
+        struct.setCversionIsSet(true);
+      }
+      if (incoming.get(6)) {
+        struct.aversion = iprot.readI32();
+        struct.setAversionIsSet(true);
+      }
+      if (incoming.get(7)) {
+        struct.ephemeralOwner = iprot.readI64();
+        struct.setEphemeralOwnerIsSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.dataLength = iprot.readI32();
+        struct.setDataLengthIsSet(true);
+      }
+      if (incoming.get(9)) {
+        struct.numChildren = iprot.readI32();
+        struct.setNumChildrenIsSet(true);
+      }
+      if (incoming.get(10)) {
+        struct.pzxid = iprot.readI64();
+        struct.setPzxidIsSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/curator/blob/5fe11f80/curator-x-rpc/src/test/java/org/apache/curator/generated/WatchedEvent.java
----------------------------------------------------------------------
diff --git a/curator-x-rpc/src/test/java/org/apache/curator/generated/WatchedEvent.java b/curator-x-rpc/src/test/java/org/apache/curator/generated/WatchedEvent.java
new file mode 100644
index 0000000..025db2e
--- /dev/null
+++ b/curator-x-rpc/src/test/java/org/apache/curator/generated/WatchedEvent.java
@@ -0,0 +1,620 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.curator.generated;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class WatchedEvent implements org.apache.thrift.TBase<WatchedEvent, WatchedEvent._Fields>, java.io.Serializable, Cloneable, Comparable<WatchedEvent> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WatchedEvent");
+
+  private static final org.apache.thrift.protocol.TField KEEPER_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("keeperState", org.apache.thrift.protocol.TType.I32, (short)1);
+  private static final org.apache.thrift.protocol.TField EVENT_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("eventType", org.apache.thrift.protocol.TType.I32, (short)2);
+  private static final org.apache.thrift.protocol.TField PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("path", org.apache.thrift.protocol.TType.STRING, (short)3);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new WatchedEventStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new WatchedEventTupleSchemeFactory());
+  }
+
+  /**
+   * 
+   * @see KeeperState
+   */
+  public KeeperState keeperState; // required
+  /**
+   * 
+   * @see EventType
+   */
+  public EventType eventType; // required
+  public String path; // required
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    /**
+     * 
+     * @see KeeperState
+     */
+    KEEPER_STATE((short)1, "keeperState"),
+    /**
+     * 
+     * @see EventType
+     */
+    EVENT_TYPE((short)2, "eventType"),
+    PATH((short)3, "path");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // KEEPER_STATE
+          return KEEPER_STATE;
+        case 2: // EVENT_TYPE
+          return EVENT_TYPE;
+        case 3: // PATH
+          return PATH;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.KEEPER_STATE, new org.apache.thrift.meta_data.FieldMetaData("keeperState", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, KeeperState.class)));
+    tmpMap.put(_Fields.EVENT_TYPE, new org.apache.thrift.meta_data.FieldMetaData("eventType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, EventType.class)));
+    tmpMap.put(_Fields.PATH, new org.apache.thrift.meta_data.FieldMetaData("path", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(WatchedEvent.class, metaDataMap);
+  }
+
+  public WatchedEvent() {
+  }
+
+  public WatchedEvent(
+    KeeperState keeperState,
+    EventType eventType,
+    String path)
+  {
+    this();
+    this.keeperState = keeperState;
+    this.eventType = eventType;
+    this.path = path;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public WatchedEvent(WatchedEvent other) {
+    if (other.isSetKeeperState()) {
+      this.keeperState = other.keeperState;
+    }
+    if (other.isSetEventType()) {
+      this.eventType = other.eventType;
+    }
+    if (other.isSetPath()) {
+      this.path = other.path;
+    }
+  }
+
+  public WatchedEvent deepCopy() {
+    return new WatchedEvent(this);
+  }
+
+  @Override
+  public void clear() {
+    this.keeperState = null;
+    this.eventType = null;
+    this.path = null;
+  }
+
+  /**
+   * 
+   * @see KeeperState
+   */
+  public KeeperState getKeeperState() {
+    return this.keeperState;
+  }
+
+  /**
+   * 
+   * @see KeeperState
+   */
+  public WatchedEvent setKeeperState(KeeperState keeperState) {
+    this.keeperState = keeperState;
+    return this;
+  }
+
+  public void unsetKeeperState() {
+    this.keeperState = null;
+  }
+
+  /** Returns true if field keeperState is set (has been assigned a value) and false otherwise */
+  public boolean isSetKeeperState() {
+    return this.keeperState != null;
+  }
+
+  public void setKeeperStateIsSet(boolean value) {
+    if (!value) {
+      this.keeperState = null;
+    }
+  }
+
+  /**
+   * 
+   * @see EventType
+   */
+  public EventType getEventType() {
+    return this.eventType;
+  }
+
+  /**
+   * 
+   * @see EventType
+   */
+  public WatchedEvent setEventType(EventType eventType) {
+    this.eventType = eventType;
+    return this;
+  }
+
+  public void unsetEventType() {
+    this.eventType = null;
+  }
+
+  /** Returns true if field eventType is set (has been assigned a value) and false otherwise */
+  public boolean isSetEventType() {
+    return this.eventType != null;
+  }
+
+  public void setEventTypeIsSet(boolean value) {
+    if (!value) {
+      this.eventType = null;
+    }
+  }
+
+  public String getPath() {
+    return this.path;
+  }
+
+  public WatchedEvent setPath(String path) {
+    this.path = path;
+    return this;
+  }
+
+  public void unsetPath() {
+    this.path = null;
+  }
+
+  /** Returns true if field path is set (has been assigned a value) and false otherwise */
+  public boolean isSetPath() {
+    return this.path != null;
+  }
+
+  public void setPathIsSet(boolean value) {
+    if (!value) {
+      this.path = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case KEEPER_STATE:
+      if (value == null) {
+        unsetKeeperState();
+      } else {
+        setKeeperState((KeeperState)value);
+      }
+      break;
+
+    case EVENT_TYPE:
+      if (value == null) {
+        unsetEventType();
+      } else {
+        setEventType((EventType)value);
+      }
+      break;
+
+    case PATH:
+      if (value == null) {
+        unsetPath();
+      } else {
+        setPath((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case KEEPER_STATE:
+      return getKeeperState();
+
+    case EVENT_TYPE:
+      return getEventType();
+
+    case PATH:
+      return getPath();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case KEEPER_STATE:
+      return isSetKeeperState();
+    case EVENT_TYPE:
+      return isSetEventType();
+    case PATH:
+      return isSetPath();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof WatchedEvent)
+      return this.equals((WatchedEvent)that);
+    return false;
+  }
+
+  public boolean equals(WatchedEvent that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_keeperState = true && this.isSetKeeperState();
+    boolean that_present_keeperState = true && that.isSetKeeperState();
+    if (this_present_keeperState || that_present_keeperState) {
+      if (!(this_present_keeperState && that_present_keeperState))
+        return false;
+      if (!this.keeperState.equals(that.keeperState))
+        return false;
+    }
+
+    boolean this_present_eventType = true && this.isSetEventType();
+    boolean that_present_eventType = true && that.isSetEventType();
+    if (this_present_eventType || that_present_eventType) {
+      if (!(this_present_eventType && that_present_eventType))
+        return false;
+      if (!this.eventType.equals(that.eventType))
+        return false;
+    }
+
+    boolean this_present_path = true && this.isSetPath();
+    boolean that_present_path = true && that.isSetPath();
+    if (this_present_path || that_present_path) {
+      if (!(this_present_path && that_present_path))
+        return false;
+      if (!this.path.equals(that.path))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(WatchedEvent other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetKeeperState()).compareTo(other.isSetKeeperState());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetKeeperState()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.keeperState, other.keeperState);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetEventType()).compareTo(other.isSetEventType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetEventType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.eventType, other.eventType);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetPath()).compareTo(other.isSetPath());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetPath()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.path, other.path);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("WatchedEvent(");
+    boolean first = true;
+
+    sb.append("keeperState:");
+    if (this.keeperState == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.keeperState);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("eventType:");
+    if (this.eventType == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.eventType);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("path:");
+    if (this.path == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.path);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class WatchedEventStandardSchemeFactory implements SchemeFactory {
+    public WatchedEventStandardScheme getScheme() {
+      return new WatchedEventStandardScheme();
+    }
+  }
+
+  private static class WatchedEventStandardScheme extends StandardScheme<WatchedEvent> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, WatchedEvent struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // KEEPER_STATE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.keeperState = KeeperState.findByValue(iprot.readI32());
+              struct.setKeeperStateIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // EVENT_TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.eventType = EventType.findByValue(iprot.readI32());
+              struct.setEventTypeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // PATH
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.path = iprot.readString();
+              struct.setPathIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, WatchedEvent struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.keeperState != null) {
+        oprot.writeFieldBegin(KEEPER_STATE_FIELD_DESC);
+        oprot.writeI32(struct.keeperState.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.eventType != null) {
+        oprot.writeFieldBegin(EVENT_TYPE_FIELD_DESC);
+        oprot.writeI32(struct.eventType.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.path != null) {
+        oprot.writeFieldBegin(PATH_FIELD_DESC);
+        oprot.writeString(struct.path);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class WatchedEventTupleSchemeFactory implements SchemeFactory {
+    public WatchedEventTupleScheme getScheme() {
+      return new WatchedEventTupleScheme();
+    }
+  }
+
+  private static class WatchedEventTupleScheme extends TupleScheme<WatchedEvent> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, WatchedEvent struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetKeeperState()) {
+        optionals.set(0);
+      }
+      if (struct.isSetEventType()) {
+        optionals.set(1);
+      }
+      if (struct.isSetPath()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetKeeperState()) {
+        oprot.writeI32(struct.keeperState.getValue());
+      }
+      if (struct.isSetEventType()) {
+        oprot.writeI32(struct.eventType.getValue());
+      }
+      if (struct.isSetPath()) {
+        oprot.writeString(struct.path);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, WatchedEvent struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(3);
+      if (incoming.get(0)) {
+        struct.keeperState = KeeperState.findByValue(iprot.readI32());
+        struct.setKeeperStateIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.eventType = EventType.findByValue(iprot.readI32());
+        struct.setEventTypeIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.path = iprot.readString();
+        struct.setPathIsSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/curator/blob/5fe11f80/curator-x-rpc/src/test/java/org/apache/curator/generated/id.java
----------------------------------------------------------------------
diff --git a/curator-x-rpc/src/test/java/org/apache/curator/generated/id.java b/curator-x-rpc/src/test/java/org/apache/curator/generated/id.java
new file mode 100644
index 0000000..4cad71f
--- /dev/null
+++ b/curator-x-rpc/src/test/java/org/apache/curator/generated/id.java
@@ -0,0 +1,488 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.curator.generated;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class id implements org.apache.thrift.TBase<id, id._Fields>, java.io.Serializable, Cloneable, Comparable<id> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("id");
+
+  private static final org.apache.thrift.protocol.TField SCHEME_FIELD_DESC = new org.apache.thrift.protocol.TField("scheme", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRING, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new idStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new idTupleSchemeFactory());
+  }
+
+  public String scheme; // required
+  public String id; // required
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    SCHEME((short)1, "scheme"),
+    ID((short)2, "id");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // SCHEME
+          return SCHEME;
+        case 2: // ID
+          return ID;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.SCHEME, new org.apache.thrift.meta_data.FieldMetaData("scheme", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(id.class, metaDataMap);
+  }
+
+  public id() {
+  }
+
+  public id(
+    String scheme,
+    String id)
+  {
+    this();
+    this.scheme = scheme;
+    this.id = id;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public id(id other) {
+    if (other.isSetScheme()) {
+      this.scheme = other.scheme;
+    }
+    if (other.isSetId()) {
+      this.id = other.id;
+    }
+  }
+
+  public id deepCopy() {
+    return new id(this);
+  }
+
+  @Override
+  public void clear() {
+    this.scheme = null;
+    this.id = null;
+  }
+
+  public String getScheme() {
+    return this.scheme;
+  }
+
+  public id setScheme(String scheme) {
+    this.scheme = scheme;
+    return this;
+  }
+
+  public void unsetScheme() {
+    this.scheme = null;
+  }
+
+  /** Returns true if field scheme is set (has been assigned a value) and false otherwise */
+  public boolean isSetScheme() {
+    return this.scheme != null;
+  }
+
+  public void setSchemeIsSet(boolean value) {
+    if (!value) {
+      this.scheme = null;
+    }
+  }
+
+  public String getId() {
+    return this.id;
+  }
+
+  public id setId(String id) {
+    this.id = id;
+    return this;
+  }
+
+  public void unsetId() {
+    this.id = null;
+  }
+
+  /** Returns true if field id is set (has been assigned a value) and false otherwise */
+  public boolean isSetId() {
+    return this.id != null;
+  }
+
+  public void setIdIsSet(boolean value) {
+    if (!value) {
+      this.id = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case SCHEME:
+      if (value == null) {
+        unsetScheme();
+      } else {
+        setScheme((String)value);
+      }
+      break;
+
+    case ID:
+      if (value == null) {
+        unsetId();
+      } else {
+        setId((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case SCHEME:
+      return getScheme();
+
+    case ID:
+      return getId();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case SCHEME:
+      return isSetScheme();
+    case ID:
+      return isSetId();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof id)
+      return this.equals((id)that);
+    return false;
+  }
+
+  public boolean equals(id that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_scheme = true && this.isSetScheme();
+    boolean that_present_scheme = true && that.isSetScheme();
+    if (this_present_scheme || that_present_scheme) {
+      if (!(this_present_scheme && that_present_scheme))
+        return false;
+      if (!this.scheme.equals(that.scheme))
+        return false;
+    }
+
+    boolean this_present_id = true && this.isSetId();
+    boolean that_present_id = true && that.isSetId();
+    if (this_present_id || that_present_id) {
+      if (!(this_present_id && that_present_id))
+        return false;
+      if (!this.id.equals(that.id))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(id other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetScheme()).compareTo(other.isSetScheme());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetScheme()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.scheme, other.scheme);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("id(");
+    boolean first = true;
+
+    sb.append("scheme:");
+    if (this.scheme == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.scheme);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("id:");
+    if (this.id == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.id);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class idStandardSchemeFactory implements SchemeFactory {
+    public idStandardScheme getScheme() {
+      return new idStandardScheme();
+    }
+  }
+
+  private static class idStandardScheme extends StandardScheme<id> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, id struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // SCHEME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.scheme = iprot.readString();
+              struct.setSchemeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.id = iprot.readString();
+              struct.setIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, id struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.scheme != null) {
+        oprot.writeFieldBegin(SCHEME_FIELD_DESC);
+        oprot.writeString(struct.scheme);
+        oprot.writeFieldEnd();
+      }
+      if (struct.id != null) {
+        oprot.writeFieldBegin(ID_FIELD_DESC);
+        oprot.writeString(struct.id);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class idTupleSchemeFactory implements SchemeFactory {
+    public idTupleScheme getScheme() {
+      return new idTupleScheme();
+    }
+  }
+
+  private static class idTupleScheme extends TupleScheme<id> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, id struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetScheme()) {
+        optionals.set(0);
+      }
+      if (struct.isSetId()) {
+        optionals.set(1);
+      }
+      oprot.writeBitSet(optionals, 2);
+      if (struct.isSetScheme()) {
+        oprot.writeString(struct.scheme);
+      }
+      if (struct.isSetId()) {
+        oprot.writeString(struct.id);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, id struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(2);
+      if (incoming.get(0)) {
+        struct.scheme = iprot.readString();
+        struct.setSchemeIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.id = iprot.readString();
+        struct.setIdIsSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/curator/blob/5fe11f80/curator-x-rpc/src/test/java/org/apache/curator/x/rpc/TestClient.java
----------------------------------------------------------------------
diff --git a/curator-x-rpc/src/test/java/org/apache/curator/x/rpc/TestClient.java b/curator-x-rpc/src/test/java/org/apache/curator/x/rpc/TestClient.java
new file mode 100644
index 0000000..84d88c6
--- /dev/null
+++ b/curator-x-rpc/src/test/java/org/apache/curator/x/rpc/TestClient.java
@@ -0,0 +1,48 @@
+/**
+ * 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.
+ */
+package org.apache.curator.x.rpc;
+
+import org.apache.curator.generated.CreateSpec;
+import org.apache.curator.generated.CuratorProjection;
+import org.apache.curator.generated.CuratorProjectionSpec;
+import org.apache.curator.generated.CuratorService;
+import org.apache.thrift.TException;
+import org.apache.thrift.protocol.TBinaryProtocol;
+import org.apache.thrift.protocol.TProtocol;
+import org.apache.thrift.transport.TSocket;
+
+public class TestClient
+{
+    public static void main(String[] args) throws TException
+    {
+        TSocket transport = new TSocket("localhost", 8899);
+        transport.open();
+        TProtocol protocol = new TBinaryProtocol(transport);
+        CuratorService.Client client = new CuratorService.Client(protocol);
+        CuratorProjection curatorProjection = client.newCuratorProjection(new CuratorProjectionSpec());
+        System.out.println(curatorProjection);
+
+        CreateSpec createSpec = new CreateSpec();
+        createSpec.setPath("/a/b/c");
+        createSpec.setCreatingParentsIfNeeded(true);
+        createSpec.setData("");
+        String s = client.create(curatorProjection, createSpec);
+        System.out.println(s);
+    }
+}

http://git-wip-us.apache.org/repos/asf/curator/blob/5fe11f80/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index d9675c7..51f050a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -687,6 +687,7 @@
                         <exclude>**/README</exclude>
                         <exclude>**/CHANGES</exclude>
                         <exclude>**/RELEASE-NOTES</exclude>
+                        <exclude>**/generated/**</exclude>
                     </excludes>
                     <strictCheck>true</strictCheck>
                 </configuration>
@@ -728,6 +729,7 @@
                         <exclude>**/README</exclude>
                         <exclude>**/CHANGES</exclude>
                         <exclude>**/RELEASE-NOTES</exclude>
+                        <exclude>**/generated/**</exclude>
                     </excludes>
                 </configuration>
             </plugin>