incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amccu...@apache.org
Subject [6/20] First commit of api changes.
Date Sun, 28 Oct 2012 00:20:59 GMT
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1e930bbc/interface/gen-java/org/apache/blur/thrift/generated/Sort.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/Sort.java b/interface/gen-java/org/apache/blur/thrift/generated/Sort.java
new file mode 100644
index 0000000..54f9012
--- /dev/null
+++ b/interface/gen-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/interface/gen-java/org/apache/blur/thrift/generated/SortField.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/SortField.java b/interface/gen-java/org/apache/blur/thrift/generated/SortField.java
new file mode 100644
index 0000000..02a1e82
--- /dev/null
+++ b/interface/gen-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/interface/gen-java/org/apache/blur/thrift/generated/SortType.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/SortType.java b/interface/gen-java/org/apache/blur/thrift/generated/SortType.java
new file mode 100644
index 0000000..09fddb5
--- /dev/null
+++ b/interface/gen-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/interface/gen-java/org/apache/blur/thrift/generated/TYPE.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/TYPE.java b/interface/gen-java/org/apache/blur/thrift/generated/TYPE.java
new file mode 100644
index 0000000..ba2ef66
--- /dev/null
+++ b/interface/gen-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/interface/gen-java/org/apache/blur/thrift/generated/Term.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/Term.java b/interface/gen-java/org/apache/blur/thrift/generated/Term.java
new file mode 100644
index 0000000..568bf17
--- /dev/null
+++ b/interface/gen-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/interface/gen-java/org/apache/blur/thrift/generated/TopFieldDocs.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/TopFieldDocs.java b/interface/gen-java/org/apache/blur/thrift/generated/TopFieldDocs.java
new file mode 100644
index 0000000..b0f0b7a
--- /dev/null
+++ b/interface/gen-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);
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/1e930bbc/interface/gen-perl/Blur/Blur.pm
----------------------------------------------------------------------
diff --git a/interface/gen-perl/Blur/Blur.pm b/interface/gen-perl/Blur/Blur.pm
index b260d03..0f71dcc 100644
--- a/interface/gen-perl/Blur/Blur.pm
+++ b/interface/gen-perl/Blur/Blur.pm
@@ -100,15 +100,15 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size147 = 0;
+          my $_size198 = 0;
           $self->{success} = [];
-          my $_etype150 = 0;
-          $xfer += $input->readListBegin(\$_etype150, \$_size147);
-          for (my $_i151 = 0; $_i151 < $_size147; ++$_i151)
+          my $_etype201 = 0;
+          $xfer += $input->readListBegin(\$_etype201, \$_size198);
+          for (my $_i202 = 0; $_i202 < $_size198; ++$_i202)
           {
-            my $elem152 = undef;
-            $xfer += $input->readString(\$elem152);
-            push(@{$self->{success}},$elem152);
+            my $elem203 = undef;
+            $xfer += $input->readString(\$elem203);
+            push(@{$self->{success}},$elem203);
           }
           $xfer += $input->readListEnd();
         }
@@ -140,9 +140,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::STRING, scalar(@{$self->{success}}));
       {
-        foreach my $iter153 (@{$self->{success}}) 
+        foreach my $iter204 (@{$self->{success}}) 
         {
-          $xfer += $output->writeString($iter153);
+          $xfer += $output->writeString($iter204);
         }
       }
       $xfer += $output->writeListEnd();
@@ -265,15 +265,15 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size154 = 0;
+          my $_size205 = 0;
           $self->{success} = [];
-          my $_etype157 = 0;
-          $xfer += $input->readListBegin(\$_etype157, \$_size154);
-          for (my $_i158 = 0; $_i158 < $_size154; ++$_i158)
+          my $_etype208 = 0;
+          $xfer += $input->readListBegin(\$_etype208, \$_size205);
+          for (my $_i209 = 0; $_i209 < $_size205; ++$_i209)
           {
-            my $elem159 = undef;
-            $xfer += $input->readString(\$elem159);
-            push(@{$self->{success}},$elem159);
+            my $elem210 = undef;
+            $xfer += $input->readString(\$elem210);
+            push(@{$self->{success}},$elem210);
           }
           $xfer += $input->readListEnd();
         }
@@ -305,9 +305,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::STRING, scalar(@{$self->{success}}));
       {
-        foreach my $iter160 (@{$self->{success}}) 
+        foreach my $iter211 (@{$self->{success}}) 
         {
-          $xfer += $output->writeString($iter160);
+          $xfer += $output->writeString($iter211);
         }
       }
       $xfer += $output->writeListEnd();
@@ -412,15 +412,15 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size161 = 0;
+          my $_size212 = 0;
           $self->{success} = [];
-          my $_etype164 = 0;
-          $xfer += $input->readListBegin(\$_etype164, \$_size161);
-          for (my $_i165 = 0; $_i165 < $_size161; ++$_i165)
+          my $_etype215 = 0;
+          $xfer += $input->readListBegin(\$_etype215, \$_size212);
+          for (my $_i216 = 0; $_i216 < $_size212; ++$_i216)
           {
-            my $elem166 = undef;
-            $xfer += $input->readString(\$elem166);
-            push(@{$self->{success}},$elem166);
+            my $elem217 = undef;
+            $xfer += $input->readString(\$elem217);
+            push(@{$self->{success}},$elem217);
           }
           $xfer += $input->readListEnd();
         }
@@ -452,9 +452,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::STRING, scalar(@{$self->{success}}));
       {
-        foreach my $iter167 (@{$self->{success}}) 
+        foreach my $iter218 (@{$self->{success}}) 
         {
-          $xfer += $output->writeString($iter167);
+          $xfer += $output->writeString($iter218);
         }
       }
       $xfer += $output->writeListEnd();
@@ -577,18 +577,18 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::MAP) {
         {
-          my $_size168 = 0;
+          my $_size219 = 0;
           $self->{success} = {};
-          my $_ktype169 = 0;
-          my $_vtype170 = 0;
-          $xfer += $input->readMapBegin(\$_ktype169, \$_vtype170, \$_size168);
-          for (my $_i172 = 0; $_i172 < $_size168; ++$_i172)
+          my $_ktype220 = 0;
+          my $_vtype221 = 0;
+          $xfer += $input->readMapBegin(\$_ktype220, \$_vtype221, \$_size219);
+          for (my $_i223 = 0; $_i223 < $_size219; ++$_i223)
           {
-            my $key173 = '';
-            my $val174 = '';
-            $xfer += $input->readString(\$key173);
-            $xfer += $input->readString(\$val174);
-            $self->{success}->{$key173} = $val174;
+            my $key224 = '';
+            my $val225 = '';
+            $xfer += $input->readString(\$key224);
+            $xfer += $input->readString(\$val225);
+            $self->{success}->{$key224} = $val225;
           }
           $xfer += $input->readMapEnd();
         }
@@ -620,10 +620,10 @@ sub write {
     {
       $xfer += $output->writeMapBegin(TType::STRING, TType::STRING, scalar(keys %{$self->{success}}));
       {
-        while( my ($kiter175,$viter176) = each %{$self->{success}}) 
+        while( my ($kiter226,$viter227) = each %{$self->{success}}) 
         {
-          $xfer += $output->writeString($kiter175);
-          $xfer += $output->writeString($viter176);
+          $xfer += $output->writeString($kiter226);
+          $xfer += $output->writeString($viter227);
         }
       }
       $xfer += $output->writeMapEnd();
@@ -728,15 +728,15 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size177 = 0;
+          my $_size228 = 0;
           $self->{success} = [];
-          my $_etype180 = 0;
-          $xfer += $input->readListBegin(\$_etype180, \$_size177);
-          for (my $_i181 = 0; $_i181 < $_size177; ++$_i181)
+          my $_etype231 = 0;
+          $xfer += $input->readListBegin(\$_etype231, \$_size228);
+          for (my $_i232 = 0; $_i232 < $_size228; ++$_i232)
           {
-            my $elem182 = undef;
-            $xfer += $input->readString(\$elem182);
-            push(@{$self->{success}},$elem182);
+            my $elem233 = undef;
+            $xfer += $input->readString(\$elem233);
+            push(@{$self->{success}},$elem233);
           }
           $xfer += $input->readListEnd();
         }
@@ -768,9 +768,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::STRING, scalar(@{$self->{success}}));
       {
-        foreach my $iter183 (@{$self->{success}}) 
+        foreach my $iter234 (@{$self->{success}}) 
         {
-          $xfer += $output->writeString($iter183);
+          $xfer += $output->writeString($iter234);
         }
       }
       $xfer += $output->writeListEnd();
@@ -893,15 +893,15 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size184 = 0;
+          my $_size235 = 0;
           $self->{success} = [];
-          my $_etype187 = 0;
-          $xfer += $input->readListBegin(\$_etype187, \$_size184);
-          for (my $_i188 = 0; $_i188 < $_size184; ++$_i188)
+          my $_etype238 = 0;
+          $xfer += $input->readListBegin(\$_etype238, \$_size235);
+          for (my $_i239 = 0; $_i239 < $_size235; ++$_i239)
           {
-            my $elem189 = undef;
-            $xfer += $input->readString(\$elem189);
-            push(@{$self->{success}},$elem189);
+            my $elem240 = undef;
+            $xfer += $input->readString(\$elem240);
+            push(@{$self->{success}},$elem240);
           }
           $xfer += $input->readListEnd();
         }
@@ -933,9 +933,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::STRING, scalar(@{$self->{success}}));
       {
-        foreach my $iter190 (@{$self->{success}}) 
+        foreach my $iter241 (@{$self->{success}}) 
         {
-          $xfer += $output->writeString($iter190);
+          $xfer += $output->writeString($iter241);
         }
       }
       $xfer += $output->writeListEnd();
@@ -1508,16 +1508,16 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size191 = 0;
+          my $_size242 = 0;
           $self->{success} = [];
-          my $_etype194 = 0;
-          $xfer += $input->readListBegin(\$_etype194, \$_size191);
-          for (my $_i195 = 0; $_i195 < $_size191; ++$_i195)
+          my $_etype245 = 0;
+          $xfer += $input->readListBegin(\$_etype245, \$_size242);
+          for (my $_i246 = 0; $_i246 < $_size242; ++$_i246)
           {
-            my $elem196 = undef;
-            $elem196 = new Blur::BlurQueryStatus();
-            $xfer += $elem196->read($input);
-            push(@{$self->{success}},$elem196);
+            my $elem247 = undef;
+            $elem247 = new Blur::BlurQueryStatus();
+            $xfer += $elem247->read($input);
+            push(@{$self->{success}},$elem247);
           }
           $xfer += $input->readListEnd();
         }
@@ -1549,9 +1549,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::STRUCT, scalar(@{$self->{success}}));
       {
-        foreach my $iter197 (@{$self->{success}}) 
+        foreach my $iter248 (@{$self->{success}}) 
         {
-          $xfer += ${iter197}->write($output);
+          $xfer += ${iter248}->write($output);
         }
       }
       $xfer += $output->writeListEnd();
@@ -1674,15 +1674,15 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size198 = 0;
+          my $_size249 = 0;
           $self->{success} = [];
-          my $_etype201 = 0;
-          $xfer += $input->readListBegin(\$_etype201, \$_size198);
-          for (my $_i202 = 0; $_i202 < $_size198; ++$_i202)
+          my $_etype252 = 0;
+          $xfer += $input->readListBegin(\$_etype252, \$_size249);
+          for (my $_i253 = 0; $_i253 < $_size249; ++$_i253)
           {
-            my $elem203 = undef;
-            $xfer += $input->readI64(\$elem203);
-            push(@{$self->{success}},$elem203);
+            my $elem254 = undef;
+            $xfer += $input->readI64(\$elem254);
+            push(@{$self->{success}},$elem254);
           }
           $xfer += $input->readListEnd();
         }
@@ -1714,9 +1714,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::I64, scalar(@{$self->{success}}));
       {
-        foreach my $iter204 (@{$self->{success}}) 
+        foreach my $iter255 (@{$self->{success}}) 
         {
-          $xfer += $output->writeI64($iter204);
+          $xfer += $output->writeI64($iter255);
         }
       }
       $xfer += $output->writeListEnd();
@@ -2494,15 +2494,15 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size205 = 0;
+          my $_size256 = 0;
           $self->{success} = [];
-          my $_etype208 = 0;
-          $xfer += $input->readListBegin(\$_etype208, \$_size205);
-          for (my $_i209 = 0; $_i209 < $_size205; ++$_i209)
+          my $_etype259 = 0;
+          $xfer += $input->readListBegin(\$_etype259, \$_size256);
+          for (my $_i260 = 0; $_i260 < $_size256; ++$_i260)
           {
-            my $elem210 = undef;
-            $xfer += $input->readString(\$elem210);
-            push(@{$self->{success}},$elem210);
+            my $elem261 = undef;
+            $xfer += $input->readString(\$elem261);
+            push(@{$self->{success}},$elem261);
           }
           $xfer += $input->readListEnd();
         }
@@ -2534,9 +2534,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::STRING, scalar(@{$self->{success}}));
       {
-        foreach my $iter211 (@{$self->{success}}) 
+        foreach my $iter262 (@{$self->{success}}) 
         {
-          $xfer += $output->writeString($iter211);
+          $xfer += $output->writeString($iter262);
         }
       }
       $xfer += $output->writeListEnd();
@@ -3071,16 +3071,16 @@ sub read {
     {
       /^1$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size212 = 0;
+          my $_size263 = 0;
           $self->{mutations} = [];
-          my $_etype215 = 0;
-          $xfer += $input->readListBegin(\$_etype215, \$_size212);
-          for (my $_i216 = 0; $_i216 < $_size212; ++$_i216)
+          my $_etype266 = 0;
+          $xfer += $input->readListBegin(\$_etype266, \$_size263);
+          for (my $_i267 = 0; $_i267 < $_size263; ++$_i267)
           {
-            my $elem217 = undef;
-            $elem217 = new Blur::RowMutation();
-            $xfer += $elem217->read($input);
-            push(@{$self->{mutations}},$elem217);
+            my $elem268 = undef;
+            $elem268 = new Blur::RowMutation();
+            $xfer += $elem268->read($input);
+            push(@{$self->{mutations}},$elem268);
           }
           $xfer += $input->readListEnd();
         }
@@ -3105,9 +3105,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::STRUCT, scalar(@{$self->{mutations}}));
       {
-        foreach my $iter218 (@{$self->{mutations}}) 
+        foreach my $iter269 (@{$self->{mutations}}) 
         {
-          $xfer += ${iter218}->write($output);
+          $xfer += ${iter269}->write($output);
         }
       }
       $xfer += $output->writeListEnd();
@@ -4092,18 +4092,18 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::MAP) {
         {
-          my $_size219 = 0;
+          my $_size270 = 0;
           $self->{success} = {};
-          my $_ktype220 = 0;
-          my $_vtype221 = 0;
-          $xfer += $input->readMapBegin(\$_ktype220, \$_vtype221, \$_size219);
-          for (my $_i223 = 0; $_i223 < $_size219; ++$_i223)
+          my $_ktype271 = 0;
+          my $_vtype272 = 0;
+          $xfer += $input->readMapBegin(\$_ktype271, \$_vtype272, \$_size270);
+          for (my $_i274 = 0; $_i274 < $_size270; ++$_i274)
           {
-            my $key224 = '';
-            my $val225 = '';
-            $xfer += $input->readString(\$key224);
-            $xfer += $input->readString(\$val225);
-            $self->{success}->{$key224} = $val225;
+            my $key275 = '';
+            my $val276 = '';
+            $xfer += $input->readString(\$key275);
+            $xfer += $input->readString(\$val276);
+            $self->{success}->{$key275} = $val276;
           }
           $xfer += $input->readMapEnd();
         }
@@ -4135,10 +4135,10 @@ sub write {
     {
       $xfer += $output->writeMapBegin(TType::STRING, TType::STRING, scalar(keys %{$self->{success}}));
       {
-        while( my ($kiter226,$viter227) = each %{$self->{success}}) 
+        while( my ($kiter277,$viter278) = each %{$self->{success}}) 
         {
-          $xfer += $output->writeString($kiter226);
-          $xfer += $output->writeString($viter227);
+          $xfer += $output->writeString($kiter277);
+          $xfer += $output->writeString($viter278);
         }
       }
       $xfer += $output->writeMapEnd();


Mime
View raw message