incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amccu...@apache.org
Subject [46/46] First commit of api changes.
Date Tue, 30 Oct 2012 02:53:19 GMT
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1e930bbc/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Sort.java
----------------------------------------------------------------------
diff --git a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Sort.java b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Sort.java
new file mode 100644
index 0000000..54f9012
--- /dev/null
+++ b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Sort.java
@@ -0,0 +1,376 @@
+/**
+ * Autogenerated by Thrift Compiler (0.7.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ */
+package org.apache.blur.thrift.generated;
+
+/**
+ * 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.
+ */
+
+
+
+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 Sort implements org.apache.thrift.TBase<Sort, Sort._Fields>, java.io.Serializable, Cloneable {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Sort");
+
+  private static final org.apache.thrift.protocol.TField FIELDS_FIELD_DESC = new org.apache.thrift.protocol.TField("fields", org.apache.thrift.protocol.TType.LIST, (short)1);
+
+  public List<SortField> fields; // 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 {
+    FIELDS((short)1, "fields");
+
+    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: // FIELDS
+          return FIELDS;
+        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.FIELDS, new org.apache.thrift.meta_data.FieldMetaData("fields", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SortField.class))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Sort.class, metaDataMap);
+  }
+
+  public Sort() {
+  }
+
+  public Sort(
+    List<SortField> fields)
+  {
+    this();
+    this.fields = fields;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public Sort(Sort other) {
+    if (other.isSetFields()) {
+      List<SortField> __this__fields = new ArrayList<SortField>();
+      for (SortField other_element : other.fields) {
+        __this__fields.add(new SortField(other_element));
+      }
+      this.fields = __this__fields;
+    }
+  }
+
+  public Sort deepCopy() {
+    return new Sort(this);
+  }
+
+  @Override
+  public void clear() {
+    this.fields = null;
+  }
+
+  public int getFieldsSize() {
+    return (this.fields == null) ? 0 : this.fields.size();
+  }
+
+  public java.util.Iterator<SortField> getFieldsIterator() {
+    return (this.fields == null) ? null : this.fields.iterator();
+  }
+
+  public void addToFields(SortField elem) {
+    if (this.fields == null) {
+      this.fields = new ArrayList<SortField>();
+    }
+    this.fields.add(elem);
+  }
+
+  public List<SortField> getFields() {
+    return this.fields;
+  }
+
+  public Sort setFields(List<SortField> fields) {
+    this.fields = fields;
+    return this;
+  }
+
+  public void unsetFields() {
+    this.fields = null;
+  }
+
+  /** Returns true if field fields is set (has been assigned a value) and false otherwise */
+  public boolean isSetFields() {
+    return this.fields != null;
+  }
+
+  public void setFieldsIsSet(boolean value) {
+    if (!value) {
+      this.fields = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case FIELDS:
+      if (value == null) {
+        unsetFields();
+      } else {
+        setFields((List<SortField>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case FIELDS:
+      return getFields();
+
+    }
+    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 FIELDS:
+      return isSetFields();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof Sort)
+      return this.equals((Sort)that);
+    return false;
+  }
+
+  public boolean equals(Sort that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_fields = true && this.isSetFields();
+    boolean that_present_fields = true && that.isSetFields();
+    if (this_present_fields || that_present_fields) {
+      if (!(this_present_fields && that_present_fields))
+        return false;
+      if (!this.fields.equals(that.fields))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  public int compareTo(Sort other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    Sort typedOther = (Sort)other;
+
+    lastComparison = Boolean.valueOf(isSetFields()).compareTo(typedOther.isSetFields());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetFields()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fields, typedOther.fields);
+      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 {
+    org.apache.thrift.protocol.TField field;
+    iprot.readStructBegin();
+    while (true)
+    {
+      field = iprot.readFieldBegin();
+      if (field.type == org.apache.thrift.protocol.TType.STOP) { 
+        break;
+      }
+      switch (field.id) {
+        case 1: // FIELDS
+          if (field.type == org.apache.thrift.protocol.TType.LIST) {
+            {
+              org.apache.thrift.protocol.TList _list88 = iprot.readListBegin();
+              this.fields = new ArrayList<SortField>(_list88.size);
+              for (int _i89 = 0; _i89 < _list88.size; ++_i89)
+              {
+                SortField _elem90; // required
+                _elem90 = new SortField();
+                _elem90.read(iprot);
+                this.fields.add(_elem90);
+              }
+              iprot.readListEnd();
+            }
+          } else { 
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+          }
+          break;
+        default:
+          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+      }
+      iprot.readFieldEnd();
+    }
+    iprot.readStructEnd();
+
+    // check for required fields of primitive type, which can't be checked in the validate method
+    validate();
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    validate();
+
+    oprot.writeStructBegin(STRUCT_DESC);
+    if (this.fields != null) {
+      oprot.writeFieldBegin(FIELDS_FIELD_DESC);
+      {
+        oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.fields.size()));
+        for (SortField _iter91 : this.fields)
+        {
+          _iter91.write(oprot);
+        }
+        oprot.writeListEnd();
+      }
+      oprot.writeFieldEnd();
+    }
+    oprot.writeFieldStop();
+    oprot.writeStructEnd();
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("Sort(");
+    boolean first = true;
+
+    sb.append("fields:");
+    if (this.fields == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.fields);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+  }
+
+  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);
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1e930bbc/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/SortField.java
----------------------------------------------------------------------
diff --git a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/SortField.java b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/SortField.java
new file mode 100644
index 0000000..02a1e82
--- /dev/null
+++ b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/SortField.java
@@ -0,0 +1,532 @@
+/**
+ * Autogenerated by Thrift Compiler (0.7.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ */
+package org.apache.blur.thrift.generated;
+
+/**
+ * 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.
+ */
+
+
+
+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 SortField implements org.apache.thrift.TBase<SortField, SortField._Fields>, java.io.Serializable, Cloneable {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SortField");
+
+  private static final org.apache.thrift.protocol.TField FIELD_FIELD_DESC = new org.apache.thrift.protocol.TField("field", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("type", org.apache.thrift.protocol.TType.I32, (short)2);
+  private static final org.apache.thrift.protocol.TField REVERSE_FIELD_DESC = new org.apache.thrift.protocol.TField("reverse", org.apache.thrift.protocol.TType.BOOL, (short)3);
+
+  public String field; // required
+  /**
+   * 
+   * @see SortType
+   */
+  public SortType type; // required
+  public boolean reverse; // 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 {
+    FIELD((short)1, "field"),
+    /**
+     * 
+     * @see SortType
+     */
+    TYPE((short)2, "type"),
+    REVERSE((short)3, "reverse");
+
+    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: // FIELD
+          return FIELD;
+        case 2: // TYPE
+          return TYPE;
+        case 3: // REVERSE
+          return REVERSE;
+        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 __REVERSE_ISSET_ID = 0;
+  private BitSet __isset_bit_vector = new BitSet(1);
+
+  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.FIELD, new org.apache.thrift.meta_data.FieldMetaData("field", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TYPE, new org.apache.thrift.meta_data.FieldMetaData("type", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, SortType.class)));
+    tmpMap.put(_Fields.REVERSE, new org.apache.thrift.meta_data.FieldMetaData("reverse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(SortField.class, metaDataMap);
+  }
+
+  public SortField() {
+  }
+
+  public SortField(
+    String field,
+    SortType type,
+    boolean reverse)
+  {
+    this();
+    this.field = field;
+    this.type = type;
+    this.reverse = reverse;
+    setReverseIsSet(true);
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public SortField(SortField other) {
+    __isset_bit_vector.clear();
+    __isset_bit_vector.or(other.__isset_bit_vector);
+    if (other.isSetField()) {
+      this.field = other.field;
+    }
+    if (other.isSetType()) {
+      this.type = other.type;
+    }
+    this.reverse = other.reverse;
+  }
+
+  public SortField deepCopy() {
+    return new SortField(this);
+  }
+
+  @Override
+  public void clear() {
+    this.field = null;
+    this.type = null;
+    setReverseIsSet(false);
+    this.reverse = false;
+  }
+
+  public String getField() {
+    return this.field;
+  }
+
+  public SortField setField(String field) {
+    this.field = field;
+    return this;
+  }
+
+  public void unsetField() {
+    this.field = null;
+  }
+
+  /** Returns true if field field is set (has been assigned a value) and false otherwise */
+  public boolean isSetField() {
+    return this.field != null;
+  }
+
+  public void setFieldIsSet(boolean value) {
+    if (!value) {
+      this.field = null;
+    }
+  }
+
+  /**
+   * 
+   * @see SortType
+   */
+  public SortType getType() {
+    return this.type;
+  }
+
+  /**
+   * 
+   * @see SortType
+   */
+  public SortField setType(SortType type) {
+    this.type = type;
+    return this;
+  }
+
+  public void unsetType() {
+    this.type = null;
+  }
+
+  /** Returns true if field type is set (has been assigned a value) and false otherwise */
+  public boolean isSetType() {
+    return this.type != null;
+  }
+
+  public void setTypeIsSet(boolean value) {
+    if (!value) {
+      this.type = null;
+    }
+  }
+
+  public boolean isReverse() {
+    return this.reverse;
+  }
+
+  public SortField setReverse(boolean reverse) {
+    this.reverse = reverse;
+    setReverseIsSet(true);
+    return this;
+  }
+
+  public void unsetReverse() {
+    __isset_bit_vector.clear(__REVERSE_ISSET_ID);
+  }
+
+  /** Returns true if field reverse is set (has been assigned a value) and false otherwise */
+  public boolean isSetReverse() {
+    return __isset_bit_vector.get(__REVERSE_ISSET_ID);
+  }
+
+  public void setReverseIsSet(boolean value) {
+    __isset_bit_vector.set(__REVERSE_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case FIELD:
+      if (value == null) {
+        unsetField();
+      } else {
+        setField((String)value);
+      }
+      break;
+
+    case TYPE:
+      if (value == null) {
+        unsetType();
+      } else {
+        setType((SortType)value);
+      }
+      break;
+
+    case REVERSE:
+      if (value == null) {
+        unsetReverse();
+      } else {
+        setReverse((Boolean)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case FIELD:
+      return getField();
+
+    case TYPE:
+      return getType();
+
+    case REVERSE:
+      return Boolean.valueOf(isReverse());
+
+    }
+    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 FIELD:
+      return isSetField();
+    case TYPE:
+      return isSetType();
+    case REVERSE:
+      return isSetReverse();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof SortField)
+      return this.equals((SortField)that);
+    return false;
+  }
+
+  public boolean equals(SortField that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_field = true && this.isSetField();
+    boolean that_present_field = true && that.isSetField();
+    if (this_present_field || that_present_field) {
+      if (!(this_present_field && that_present_field))
+        return false;
+      if (!this.field.equals(that.field))
+        return false;
+    }
+
+    boolean this_present_type = true && this.isSetType();
+    boolean that_present_type = true && that.isSetType();
+    if (this_present_type || that_present_type) {
+      if (!(this_present_type && that_present_type))
+        return false;
+      if (!this.type.equals(that.type))
+        return false;
+    }
+
+    boolean this_present_reverse = true;
+    boolean that_present_reverse = true;
+    if (this_present_reverse || that_present_reverse) {
+      if (!(this_present_reverse && that_present_reverse))
+        return false;
+      if (this.reverse != that.reverse)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  public int compareTo(SortField other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    SortField typedOther = (SortField)other;
+
+    lastComparison = Boolean.valueOf(isSetField()).compareTo(typedOther.isSetField());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetField()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.field, typedOther.field);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetType()).compareTo(typedOther.isSetType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.type, typedOther.type);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetReverse()).compareTo(typedOther.isSetReverse());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetReverse()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.reverse, typedOther.reverse);
+      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 {
+    org.apache.thrift.protocol.TField field;
+    iprot.readStructBegin();
+    while (true)
+    {
+      field = iprot.readFieldBegin();
+      if (field.type == org.apache.thrift.protocol.TType.STOP) { 
+        break;
+      }
+      switch (field.id) {
+        case 1: // FIELD
+          if (field.type == org.apache.thrift.protocol.TType.STRING) {
+            this.field = iprot.readString();
+          } else { 
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+          }
+          break;
+        case 2: // TYPE
+          if (field.type == org.apache.thrift.protocol.TType.I32) {
+            this.type = SortType.findByValue(iprot.readI32());
+          } else { 
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+          }
+          break;
+        case 3: // REVERSE
+          if (field.type == org.apache.thrift.protocol.TType.BOOL) {
+            this.reverse = iprot.readBool();
+            setReverseIsSet(true);
+          } else { 
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+          }
+          break;
+        default:
+          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+      }
+      iprot.readFieldEnd();
+    }
+    iprot.readStructEnd();
+
+    // check for required fields of primitive type, which can't be checked in the validate method
+    validate();
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    validate();
+
+    oprot.writeStructBegin(STRUCT_DESC);
+    if (this.field != null) {
+      oprot.writeFieldBegin(FIELD_FIELD_DESC);
+      oprot.writeString(this.field);
+      oprot.writeFieldEnd();
+    }
+    if (this.type != null) {
+      oprot.writeFieldBegin(TYPE_FIELD_DESC);
+      oprot.writeI32(this.type.getValue());
+      oprot.writeFieldEnd();
+    }
+    oprot.writeFieldBegin(REVERSE_FIELD_DESC);
+    oprot.writeBool(this.reverse);
+    oprot.writeFieldEnd();
+    oprot.writeFieldStop();
+    oprot.writeStructEnd();
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("SortField(");
+    boolean first = true;
+
+    sb.append("field:");
+    if (this.field == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.field);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("type:");
+    if (this.type == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.type);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("reverse:");
+    sb.append(this.reverse);
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+  }
+
+  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_bit_vector = new BitSet(1);
+      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);
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1e930bbc/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/SortType.java
----------------------------------------------------------------------
diff --git a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/SortType.java b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/SortType.java
new file mode 100644
index 0000000..09fddb5
--- /dev/null
+++ b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/SortType.java
@@ -0,0 +1,135 @@
+/**
+ * Autogenerated by Thrift Compiler (0.7.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ */
+package org.apache.blur.thrift.generated;
+
+/**
+ * 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.
+ */
+
+
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum SortType implements org.apache.thrift.TEnum {
+  /**
+   * Sort by document score (relevance).  Sort values are Float and higher
+   * values are at the front.
+   */
+  SCORE(0),
+  /**
+   * Sort by document number (index order).  Sort values are Integer and lower
+   * values are at the front.
+   */
+  DOC(1),
+  /**
+   * Sort using term values as Strings.  Sort values are String and lower
+   * values are at the front.
+   */
+  STRING(2),
+  /**
+   * Sort using term values as encoded Integers.  Sort values are Integer and
+   * lower values are at the front.
+   */
+  INT(3),
+  /**
+   * Sort using term values as encoded Floats.  Sort values are Float and
+   * lower values are at the front.
+   */
+  FLOAT(4),
+  /**
+   * Sort using term values as encoded Longs.  Sort values are Long and
+   * lower values are at the front.
+   */
+  LONG(5),
+  /**
+   * Sort using term values as encoded Doubles.  Sort values are Double and
+   * lower values are at the front.
+   */
+  DOUBLE(6),
+  /**
+   * Sort using term values as encoded Shorts.  Sort values are Short and
+   * lower values are at the front.
+   */
+  SHORT(7),
+  /**
+   * Sort using term values as encoded Bytes.  Sort values are Byte and
+   * lower values are at the front.
+   */
+  BYTE(8),
+  /**
+   * Sort using term values as Strings, but comparing by
+   * value (using String.compareTo) for all comparisons.
+   * This is typically slower than {@link #STRING}, which
+   * uses ordinals to do the sorting.
+   */
+  STRING_VAL(9),
+  /**
+   * Sort use byte[] index values.
+   */
+  BYTES(10);
+
+  private final int value;
+
+  private SortType(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 SortType findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return SCORE;
+      case 1:
+        return DOC;
+      case 2:
+        return STRING;
+      case 3:
+        return INT;
+      case 4:
+        return FLOAT;
+      case 5:
+        return LONG;
+      case 6:
+        return DOUBLE;
+      case 7:
+        return SHORT;
+      case 8:
+        return BYTE;
+      case 9:
+        return STRING_VAL;
+      case 10:
+        return BYTES;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1e930bbc/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/TYPE.java
----------------------------------------------------------------------
diff --git a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/TYPE.java b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/TYPE.java
new file mode 100644
index 0000000..ba2ef66
--- /dev/null
+++ b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/TYPE.java
@@ -0,0 +1,81 @@
+/**
+ * Autogenerated by Thrift Compiler (0.7.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ */
+package org.apache.blur.thrift.generated;
+
+/**
+ * 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.
+ */
+
+
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum TYPE implements org.apache.thrift.TEnum {
+  STRING(0),
+  BOOL(1),
+  SHORT(2),
+  INT(3),
+  LONG(4),
+  FLOAT(5),
+  DOUBLE(6),
+  BINARY(7);
+
+  private final int value;
+
+  private TYPE(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 TYPE findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return STRING;
+      case 1:
+        return BOOL;
+      case 2:
+        return SHORT;
+      case 3:
+        return INT;
+      case 4:
+        return LONG;
+      case 5:
+        return FLOAT;
+      case 6:
+        return DOUBLE;
+      case 7:
+        return BINARY;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1e930bbc/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Term.java
----------------------------------------------------------------------
diff --git a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Term.java b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Term.java
new file mode 100644
index 0000000..568bf17
--- /dev/null
+++ b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Term.java
@@ -0,0 +1,438 @@
+/**
+ * Autogenerated by Thrift Compiler (0.7.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ */
+package org.apache.blur.thrift.generated;
+
+/**
+ * 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.
+ */
+
+
+
+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 Term implements org.apache.thrift.TBase<Term, Term._Fields>, java.io.Serializable, Cloneable {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Term");
+
+  private static final org.apache.thrift.protocol.TField FIELD_FIELD_DESC = new org.apache.thrift.protocol.TField("field", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField BYTES_FIELD_DESC = new org.apache.thrift.protocol.TField("bytes", org.apache.thrift.protocol.TType.STRING, (short)2);
+
+  public String field; // required
+  public ByteBuffer bytes; // 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 {
+    FIELD((short)1, "field"),
+    BYTES((short)2, "bytes");
+
+    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: // FIELD
+          return FIELD;
+        case 2: // BYTES
+          return BYTES;
+        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.FIELD, new org.apache.thrift.meta_data.FieldMetaData("field", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.BYTES, new org.apache.thrift.meta_data.FieldMetaData("bytes", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING        , true)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Term.class, metaDataMap);
+  }
+
+  public Term() {
+  }
+
+  public Term(
+    String field,
+    ByteBuffer bytes)
+  {
+    this();
+    this.field = field;
+    this.bytes = bytes;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public Term(Term other) {
+    if (other.isSetField()) {
+      this.field = other.field;
+    }
+    if (other.isSetBytes()) {
+      this.bytes = org.apache.thrift.TBaseHelper.copyBinary(other.bytes);
+;
+    }
+  }
+
+  public Term deepCopy() {
+    return new Term(this);
+  }
+
+  @Override
+  public void clear() {
+    this.field = null;
+    this.bytes = null;
+  }
+
+  public String getField() {
+    return this.field;
+  }
+
+  public Term setField(String field) {
+    this.field = field;
+    return this;
+  }
+
+  public void unsetField() {
+    this.field = null;
+  }
+
+  /** Returns true if field field is set (has been assigned a value) and false otherwise */
+  public boolean isSetField() {
+    return this.field != null;
+  }
+
+  public void setFieldIsSet(boolean value) {
+    if (!value) {
+      this.field = null;
+    }
+  }
+
+  public byte[] getBytes() {
+    setBytes(org.apache.thrift.TBaseHelper.rightSize(bytes));
+    return bytes == null ? null : bytes.array();
+  }
+
+  public ByteBuffer bufferForBytes() {
+    return bytes;
+  }
+
+  public Term setBytes(byte[] bytes) {
+    setBytes(bytes == null ? (ByteBuffer)null : ByteBuffer.wrap(bytes));
+    return this;
+  }
+
+  public Term setBytes(ByteBuffer bytes) {
+    this.bytes = bytes;
+    return this;
+  }
+
+  public void unsetBytes() {
+    this.bytes = null;
+  }
+
+  /** Returns true if field bytes is set (has been assigned a value) and false otherwise */
+  public boolean isSetBytes() {
+    return this.bytes != null;
+  }
+
+  public void setBytesIsSet(boolean value) {
+    if (!value) {
+      this.bytes = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case FIELD:
+      if (value == null) {
+        unsetField();
+      } else {
+        setField((String)value);
+      }
+      break;
+
+    case BYTES:
+      if (value == null) {
+        unsetBytes();
+      } else {
+        setBytes((ByteBuffer)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case FIELD:
+      return getField();
+
+    case BYTES:
+      return getBytes();
+
+    }
+    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 FIELD:
+      return isSetField();
+    case BYTES:
+      return isSetBytes();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof Term)
+      return this.equals((Term)that);
+    return false;
+  }
+
+  public boolean equals(Term that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_field = true && this.isSetField();
+    boolean that_present_field = true && that.isSetField();
+    if (this_present_field || that_present_field) {
+      if (!(this_present_field && that_present_field))
+        return false;
+      if (!this.field.equals(that.field))
+        return false;
+    }
+
+    boolean this_present_bytes = true && this.isSetBytes();
+    boolean that_present_bytes = true && that.isSetBytes();
+    if (this_present_bytes || that_present_bytes) {
+      if (!(this_present_bytes && that_present_bytes))
+        return false;
+      if (!this.bytes.equals(that.bytes))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  public int compareTo(Term other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    Term typedOther = (Term)other;
+
+    lastComparison = Boolean.valueOf(isSetField()).compareTo(typedOther.isSetField());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetField()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.field, typedOther.field);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetBytes()).compareTo(typedOther.isSetBytes());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetBytes()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.bytes, typedOther.bytes);
+      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 {
+    org.apache.thrift.protocol.TField field;
+    iprot.readStructBegin();
+    while (true)
+    {
+      field = iprot.readFieldBegin();
+      if (field.type == org.apache.thrift.protocol.TType.STOP) { 
+        break;
+      }
+      switch (field.id) {
+        case 1: // FIELD
+          if (field.type == org.apache.thrift.protocol.TType.STRING) {
+            this.field = iprot.readString();
+          } else { 
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+          }
+          break;
+        case 2: // BYTES
+          if (field.type == org.apache.thrift.protocol.TType.STRING) {
+            this.bytes = iprot.readBinary();
+          } else { 
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+          }
+          break;
+        default:
+          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+      }
+      iprot.readFieldEnd();
+    }
+    iprot.readStructEnd();
+
+    // check for required fields of primitive type, which can't be checked in the validate method
+    validate();
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    validate();
+
+    oprot.writeStructBegin(STRUCT_DESC);
+    if (this.field != null) {
+      oprot.writeFieldBegin(FIELD_FIELD_DESC);
+      oprot.writeString(this.field);
+      oprot.writeFieldEnd();
+    }
+    if (this.bytes != null) {
+      oprot.writeFieldBegin(BYTES_FIELD_DESC);
+      oprot.writeBinary(this.bytes);
+      oprot.writeFieldEnd();
+    }
+    oprot.writeFieldStop();
+    oprot.writeStructEnd();
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("Term(");
+    boolean first = true;
+
+    sb.append("field:");
+    if (this.field == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.field);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("bytes:");
+    if (this.bytes == null) {
+      sb.append("null");
+    } else {
+      org.apache.thrift.TBaseHelper.toString(this.bytes, sb);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+  }
+
+  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);
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1e930bbc/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/TopFieldDocs.java
----------------------------------------------------------------------
diff --git a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/TopFieldDocs.java b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/TopFieldDocs.java
new file mode 100644
index 0000000..b0f0b7a
--- /dev/null
+++ b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/TopFieldDocs.java
@@ -0,0 +1,676 @@
+/**
+ * Autogenerated by Thrift Compiler (0.7.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ */
+package org.apache.blur.thrift.generated;
+
+/**
+ * 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.
+ */
+
+
+
+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 TopFieldDocs implements org.apache.thrift.TBase<TopFieldDocs, TopFieldDocs._Fields>, java.io.Serializable, Cloneable {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TopFieldDocs");
+
+  private static final org.apache.thrift.protocol.TField TOTAL_HITS_FIELD_DESC = new org.apache.thrift.protocol.TField("totalHits", org.apache.thrift.protocol.TType.I64, (short)1);
+  private static final org.apache.thrift.protocol.TField SCORE_DOCS_FIELD_DESC = new org.apache.thrift.protocol.TField("scoreDocs", org.apache.thrift.protocol.TType.LIST, (short)2);
+  private static final org.apache.thrift.protocol.TField MAX_SCORE_FIELD_DESC = new org.apache.thrift.protocol.TField("maxScore", org.apache.thrift.protocol.TType.DOUBLE, (short)3);
+  private static final org.apache.thrift.protocol.TField FIELDS_FIELD_DESC = new org.apache.thrift.protocol.TField("fields", org.apache.thrift.protocol.TType.LIST, (short)4);
+
+  public long totalHits; // required
+  public List<ScoreDoc> scoreDocs; // required
+  public double maxScore; // required
+  public List<SortField> fields; // 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 {
+    TOTAL_HITS((short)1, "totalHits"),
+    SCORE_DOCS((short)2, "scoreDocs"),
+    MAX_SCORE((short)3, "maxScore"),
+    FIELDS((short)4, "fields");
+
+    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: // TOTAL_HITS
+          return TOTAL_HITS;
+        case 2: // SCORE_DOCS
+          return SCORE_DOCS;
+        case 3: // MAX_SCORE
+          return MAX_SCORE;
+        case 4: // FIELDS
+          return FIELDS;
+        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 __TOTALHITS_ISSET_ID = 0;
+  private static final int __MAXSCORE_ISSET_ID = 1;
+  private BitSet __isset_bit_vector = new BitSet(2);
+
+  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.TOTAL_HITS, new org.apache.thrift.meta_data.FieldMetaData("totalHits", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.SCORE_DOCS, new org.apache.thrift.meta_data.FieldMetaData("scoreDocs", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ScoreDoc.class))));
+    tmpMap.put(_Fields.MAX_SCORE, new org.apache.thrift.meta_data.FieldMetaData("maxScore", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+    tmpMap.put(_Fields.FIELDS, new org.apache.thrift.meta_data.FieldMetaData("fields", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SortField.class))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TopFieldDocs.class, metaDataMap);
+  }
+
+  public TopFieldDocs() {
+  }
+
+  public TopFieldDocs(
+    long totalHits,
+    List<ScoreDoc> scoreDocs,
+    double maxScore,
+    List<SortField> fields)
+  {
+    this();
+    this.totalHits = totalHits;
+    setTotalHitsIsSet(true);
+    this.scoreDocs = scoreDocs;
+    this.maxScore = maxScore;
+    setMaxScoreIsSet(true);
+    this.fields = fields;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public TopFieldDocs(TopFieldDocs other) {
+    __isset_bit_vector.clear();
+    __isset_bit_vector.or(other.__isset_bit_vector);
+    this.totalHits = other.totalHits;
+    if (other.isSetScoreDocs()) {
+      List<ScoreDoc> __this__scoreDocs = new ArrayList<ScoreDoc>();
+      for (ScoreDoc other_element : other.scoreDocs) {
+        __this__scoreDocs.add(new ScoreDoc(other_element));
+      }
+      this.scoreDocs = __this__scoreDocs;
+    }
+    this.maxScore = other.maxScore;
+    if (other.isSetFields()) {
+      List<SortField> __this__fields = new ArrayList<SortField>();
+      for (SortField other_element : other.fields) {
+        __this__fields.add(new SortField(other_element));
+      }
+      this.fields = __this__fields;
+    }
+  }
+
+  public TopFieldDocs deepCopy() {
+    return new TopFieldDocs(this);
+  }
+
+  @Override
+  public void clear() {
+    setTotalHitsIsSet(false);
+    this.totalHits = 0;
+    this.scoreDocs = null;
+    setMaxScoreIsSet(false);
+    this.maxScore = 0.0;
+    this.fields = null;
+  }
+
+  public long getTotalHits() {
+    return this.totalHits;
+  }
+
+  public TopFieldDocs setTotalHits(long totalHits) {
+    this.totalHits = totalHits;
+    setTotalHitsIsSet(true);
+    return this;
+  }
+
+  public void unsetTotalHits() {
+    __isset_bit_vector.clear(__TOTALHITS_ISSET_ID);
+  }
+
+  /** Returns true if field totalHits is set (has been assigned a value) and false otherwise */
+  public boolean isSetTotalHits() {
+    return __isset_bit_vector.get(__TOTALHITS_ISSET_ID);
+  }
+
+  public void setTotalHitsIsSet(boolean value) {
+    __isset_bit_vector.set(__TOTALHITS_ISSET_ID, value);
+  }
+
+  public int getScoreDocsSize() {
+    return (this.scoreDocs == null) ? 0 : this.scoreDocs.size();
+  }
+
+  public java.util.Iterator<ScoreDoc> getScoreDocsIterator() {
+    return (this.scoreDocs == null) ? null : this.scoreDocs.iterator();
+  }
+
+  public void addToScoreDocs(ScoreDoc elem) {
+    if (this.scoreDocs == null) {
+      this.scoreDocs = new ArrayList<ScoreDoc>();
+    }
+    this.scoreDocs.add(elem);
+  }
+
+  public List<ScoreDoc> getScoreDocs() {
+    return this.scoreDocs;
+  }
+
+  public TopFieldDocs setScoreDocs(List<ScoreDoc> scoreDocs) {
+    this.scoreDocs = scoreDocs;
+    return this;
+  }
+
+  public void unsetScoreDocs() {
+    this.scoreDocs = null;
+  }
+
+  /** Returns true if field scoreDocs is set (has been assigned a value) and false otherwise */
+  public boolean isSetScoreDocs() {
+    return this.scoreDocs != null;
+  }
+
+  public void setScoreDocsIsSet(boolean value) {
+    if (!value) {
+      this.scoreDocs = null;
+    }
+  }
+
+  public double getMaxScore() {
+    return this.maxScore;
+  }
+
+  public TopFieldDocs setMaxScore(double maxScore) {
+    this.maxScore = maxScore;
+    setMaxScoreIsSet(true);
+    return this;
+  }
+
+  public void unsetMaxScore() {
+    __isset_bit_vector.clear(__MAXSCORE_ISSET_ID);
+  }
+
+  /** Returns true if field maxScore is set (has been assigned a value) and false otherwise */
+  public boolean isSetMaxScore() {
+    return __isset_bit_vector.get(__MAXSCORE_ISSET_ID);
+  }
+
+  public void setMaxScoreIsSet(boolean value) {
+    __isset_bit_vector.set(__MAXSCORE_ISSET_ID, value);
+  }
+
+  public int getFieldsSize() {
+    return (this.fields == null) ? 0 : this.fields.size();
+  }
+
+  public java.util.Iterator<SortField> getFieldsIterator() {
+    return (this.fields == null) ? null : this.fields.iterator();
+  }
+
+  public void addToFields(SortField elem) {
+    if (this.fields == null) {
+      this.fields = new ArrayList<SortField>();
+    }
+    this.fields.add(elem);
+  }
+
+  public List<SortField> getFields() {
+    return this.fields;
+  }
+
+  public TopFieldDocs setFields(List<SortField> fields) {
+    this.fields = fields;
+    return this;
+  }
+
+  public void unsetFields() {
+    this.fields = null;
+  }
+
+  /** Returns true if field fields is set (has been assigned a value) and false otherwise */
+  public boolean isSetFields() {
+    return this.fields != null;
+  }
+
+  public void setFieldsIsSet(boolean value) {
+    if (!value) {
+      this.fields = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case TOTAL_HITS:
+      if (value == null) {
+        unsetTotalHits();
+      } else {
+        setTotalHits((Long)value);
+      }
+      break;
+
+    case SCORE_DOCS:
+      if (value == null) {
+        unsetScoreDocs();
+      } else {
+        setScoreDocs((List<ScoreDoc>)value);
+      }
+      break;
+
+    case MAX_SCORE:
+      if (value == null) {
+        unsetMaxScore();
+      } else {
+        setMaxScore((Double)value);
+      }
+      break;
+
+    case FIELDS:
+      if (value == null) {
+        unsetFields();
+      } else {
+        setFields((List<SortField>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case TOTAL_HITS:
+      return Long.valueOf(getTotalHits());
+
+    case SCORE_DOCS:
+      return getScoreDocs();
+
+    case MAX_SCORE:
+      return Double.valueOf(getMaxScore());
+
+    case FIELDS:
+      return getFields();
+
+    }
+    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 TOTAL_HITS:
+      return isSetTotalHits();
+    case SCORE_DOCS:
+      return isSetScoreDocs();
+    case MAX_SCORE:
+      return isSetMaxScore();
+    case FIELDS:
+      return isSetFields();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof TopFieldDocs)
+      return this.equals((TopFieldDocs)that);
+    return false;
+  }
+
+  public boolean equals(TopFieldDocs that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_totalHits = true;
+    boolean that_present_totalHits = true;
+    if (this_present_totalHits || that_present_totalHits) {
+      if (!(this_present_totalHits && that_present_totalHits))
+        return false;
+      if (this.totalHits != that.totalHits)
+        return false;
+    }
+
+    boolean this_present_scoreDocs = true && this.isSetScoreDocs();
+    boolean that_present_scoreDocs = true && that.isSetScoreDocs();
+    if (this_present_scoreDocs || that_present_scoreDocs) {
+      if (!(this_present_scoreDocs && that_present_scoreDocs))
+        return false;
+      if (!this.scoreDocs.equals(that.scoreDocs))
+        return false;
+    }
+
+    boolean this_present_maxScore = true;
+    boolean that_present_maxScore = true;
+    if (this_present_maxScore || that_present_maxScore) {
+      if (!(this_present_maxScore && that_present_maxScore))
+        return false;
+      if (this.maxScore != that.maxScore)
+        return false;
+    }
+
+    boolean this_present_fields = true && this.isSetFields();
+    boolean that_present_fields = true && that.isSetFields();
+    if (this_present_fields || that_present_fields) {
+      if (!(this_present_fields && that_present_fields))
+        return false;
+      if (!this.fields.equals(that.fields))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  public int compareTo(TopFieldDocs other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    TopFieldDocs typedOther = (TopFieldDocs)other;
+
+    lastComparison = Boolean.valueOf(isSetTotalHits()).compareTo(typedOther.isSetTotalHits());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTotalHits()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.totalHits, typedOther.totalHits);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetScoreDocs()).compareTo(typedOther.isSetScoreDocs());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetScoreDocs()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.scoreDocs, typedOther.scoreDocs);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetMaxScore()).compareTo(typedOther.isSetMaxScore());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetMaxScore()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxScore, typedOther.maxScore);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetFields()).compareTo(typedOther.isSetFields());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetFields()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fields, typedOther.fields);
+      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 {
+    org.apache.thrift.protocol.TField field;
+    iprot.readStructBegin();
+    while (true)
+    {
+      field = iprot.readFieldBegin();
+      if (field.type == org.apache.thrift.protocol.TType.STOP) { 
+        break;
+      }
+      switch (field.id) {
+        case 1: // TOTAL_HITS
+          if (field.type == org.apache.thrift.protocol.TType.I64) {
+            this.totalHits = iprot.readI64();
+            setTotalHitsIsSet(true);
+          } else { 
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+          }
+          break;
+        case 2: // SCORE_DOCS
+          if (field.type == org.apache.thrift.protocol.TType.LIST) {
+            {
+              org.apache.thrift.protocol.TList _list100 = iprot.readListBegin();
+              this.scoreDocs = new ArrayList<ScoreDoc>(_list100.size);
+              for (int _i101 = 0; _i101 < _list100.size; ++_i101)
+              {
+                ScoreDoc _elem102; // required
+                _elem102 = new ScoreDoc();
+                _elem102.read(iprot);
+                this.scoreDocs.add(_elem102);
+              }
+              iprot.readListEnd();
+            }
+          } else { 
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+          }
+          break;
+        case 3: // MAX_SCORE
+          if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
+            this.maxScore = iprot.readDouble();
+            setMaxScoreIsSet(true);
+          } else { 
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+          }
+          break;
+        case 4: // FIELDS
+          if (field.type == org.apache.thrift.protocol.TType.LIST) {
+            {
+              org.apache.thrift.protocol.TList _list103 = iprot.readListBegin();
+              this.fields = new ArrayList<SortField>(_list103.size);
+              for (int _i104 = 0; _i104 < _list103.size; ++_i104)
+              {
+                SortField _elem105; // required
+                _elem105 = new SortField();
+                _elem105.read(iprot);
+                this.fields.add(_elem105);
+              }
+              iprot.readListEnd();
+            }
+          } else { 
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+          }
+          break;
+        default:
+          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+      }
+      iprot.readFieldEnd();
+    }
+    iprot.readStructEnd();
+
+    // check for required fields of primitive type, which can't be checked in the validate method
+    validate();
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    validate();
+
+    oprot.writeStructBegin(STRUCT_DESC);
+    oprot.writeFieldBegin(TOTAL_HITS_FIELD_DESC);
+    oprot.writeI64(this.totalHits);
+    oprot.writeFieldEnd();
+    if (this.scoreDocs != null) {
+      oprot.writeFieldBegin(SCORE_DOCS_FIELD_DESC);
+      {
+        oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.scoreDocs.size()));
+        for (ScoreDoc _iter106 : this.scoreDocs)
+        {
+          _iter106.write(oprot);
+        }
+        oprot.writeListEnd();
+      }
+      oprot.writeFieldEnd();
+    }
+    oprot.writeFieldBegin(MAX_SCORE_FIELD_DESC);
+    oprot.writeDouble(this.maxScore);
+    oprot.writeFieldEnd();
+    if (this.fields != null) {
+      oprot.writeFieldBegin(FIELDS_FIELD_DESC);
+      {
+        oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.fields.size()));
+        for (SortField _iter107 : this.fields)
+        {
+          _iter107.write(oprot);
+        }
+        oprot.writeListEnd();
+      }
+      oprot.writeFieldEnd();
+    }
+    oprot.writeFieldStop();
+    oprot.writeStructEnd();
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("TopFieldDocs(");
+    boolean first = true;
+
+    sb.append("totalHits:");
+    sb.append(this.totalHits);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("scoreDocs:");
+    if (this.scoreDocs == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.scoreDocs);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("maxScore:");
+    sb.append(this.maxScore);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("fields:");
+    if (this.fields == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.fields);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+  }
+
+  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_bit_vector = new BitSet(1);
+      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);
+    }
+  }
+
+}
+


Mime
View raw message