incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amccu...@apache.org
Subject [28/39] Massive changes to the thrift RPC defs, see mail list for details subject (Rows, Records, Session oh my).
Date Thu, 28 Feb 2013 03:07:37 GMT
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11f5141c/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/BlurException.java
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/BlurException.java b/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/BlurException.java
new file mode 100644
index 0000000..5e60ca2
--- /dev/null
+++ b/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/BlurException.java
@@ -0,0 +1,533 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+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 org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import 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;
+
+/**
+ * BlurException that carries a message plus the original stack
+ * trace (if any).
+ */
+public class BlurException extends TException implements org.apache.thrift.TBase<BlurException, BlurException._Fields>, java.io.Serializable, Cloneable {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BlurException");
+
+  private static final org.apache.thrift.protocol.TField MESSAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("message", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField STACK_TRACE_STR_FIELD_DESC = new org.apache.thrift.protocol.TField("stackTraceStr", org.apache.thrift.protocol.TType.STRING, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new BlurExceptionStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new BlurExceptionTupleSchemeFactory());
+  }
+
+  /**
+   * The message in the exception.
+   */
+  public String message; // required
+  /**
+   * The original stack trace (if any).
+   */
+  public String stackTraceStr; // 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 {
+    /**
+     * The message in the exception.
+     */
+    MESSAGE((short)1, "message"),
+    /**
+     * The original stack trace (if any).
+     */
+    STACK_TRACE_STR((short)2, "stackTraceStr");
+
+    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: // MESSAGE
+          return MESSAGE;
+        case 2: // STACK_TRACE_STR
+          return STACK_TRACE_STR;
+        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.MESSAGE, new org.apache.thrift.meta_data.FieldMetaData("message", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.STACK_TRACE_STR, new org.apache.thrift.meta_data.FieldMetaData("stackTraceStr", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(BlurException.class, metaDataMap);
+  }
+
+  public BlurException() {
+  }
+
+  public BlurException(
+    String message,
+    String stackTraceStr)
+  {
+    this();
+    this.message = message;
+    this.stackTraceStr = stackTraceStr;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public BlurException(BlurException other) {
+    if (other.isSetMessage()) {
+      this.message = other.message;
+    }
+    if (other.isSetStackTraceStr()) {
+      this.stackTraceStr = other.stackTraceStr;
+    }
+  }
+
+  public BlurException deepCopy() {
+    return new BlurException(this);
+  }
+
+  @Override
+  public void clear() {
+    this.message = null;
+    this.stackTraceStr = null;
+  }
+
+  /**
+   * The message in the exception.
+   */
+  public String getMessage() {
+    return this.message;
+  }
+
+  /**
+   * The message in the exception.
+   */
+  public BlurException setMessage(String message) {
+    this.message = message;
+    return this;
+  }
+
+  public void unsetMessage() {
+    this.message = null;
+  }
+
+  /** Returns true if field message is set (has been assigned a value) and false otherwise */
+  public boolean isSetMessage() {
+    return this.message != null;
+  }
+
+  public void setMessageIsSet(boolean value) {
+    if (!value) {
+      this.message = null;
+    }
+  }
+
+  /**
+   * The original stack trace (if any).
+   */
+  public String getStackTraceStr() {
+    return this.stackTraceStr;
+  }
+
+  /**
+   * The original stack trace (if any).
+   */
+  public BlurException setStackTraceStr(String stackTraceStr) {
+    this.stackTraceStr = stackTraceStr;
+    return this;
+  }
+
+  public void unsetStackTraceStr() {
+    this.stackTraceStr = null;
+  }
+
+  /** Returns true if field stackTraceStr is set (has been assigned a value) and false otherwise */
+  public boolean isSetStackTraceStr() {
+    return this.stackTraceStr != null;
+  }
+
+  public void setStackTraceStrIsSet(boolean value) {
+    if (!value) {
+      this.stackTraceStr = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case MESSAGE:
+      if (value == null) {
+        unsetMessage();
+      } else {
+        setMessage((String)value);
+      }
+      break;
+
+    case STACK_TRACE_STR:
+      if (value == null) {
+        unsetStackTraceStr();
+      } else {
+        setStackTraceStr((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case MESSAGE:
+      return getMessage();
+
+    case STACK_TRACE_STR:
+      return getStackTraceStr();
+
+    }
+    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 MESSAGE:
+      return isSetMessage();
+    case STACK_TRACE_STR:
+      return isSetStackTraceStr();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof BlurException)
+      return this.equals((BlurException)that);
+    return false;
+  }
+
+  public boolean equals(BlurException that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_message = true && this.isSetMessage();
+    boolean that_present_message = true && that.isSetMessage();
+    if (this_present_message || that_present_message) {
+      if (!(this_present_message && that_present_message))
+        return false;
+      if (!this.message.equals(that.message))
+        return false;
+    }
+
+    boolean this_present_stackTraceStr = true && this.isSetStackTraceStr();
+    boolean that_present_stackTraceStr = true && that.isSetStackTraceStr();
+    if (this_present_stackTraceStr || that_present_stackTraceStr) {
+      if (!(this_present_stackTraceStr && that_present_stackTraceStr))
+        return false;
+      if (!this.stackTraceStr.equals(that.stackTraceStr))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  public int compareTo(BlurException other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    BlurException typedOther = (BlurException)other;
+
+    lastComparison = Boolean.valueOf(isSetMessage()).compareTo(typedOther.isSetMessage());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetMessage()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.message, typedOther.message);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetStackTraceStr()).compareTo(typedOther.isSetStackTraceStr());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetStackTraceStr()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.stackTraceStr, typedOther.stackTraceStr);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("BlurException(");
+    boolean first = true;
+
+    sb.append("message:");
+    if (this.message == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.message);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("stackTraceStr:");
+    if (this.stackTraceStr == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.stackTraceStr);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class BlurExceptionStandardSchemeFactory implements SchemeFactory {
+    public BlurExceptionStandardScheme getScheme() {
+      return new BlurExceptionStandardScheme();
+    }
+  }
+
+  private static class BlurExceptionStandardScheme extends StandardScheme<BlurException> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, BlurException struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // MESSAGE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.message = iprot.readString();
+              struct.setMessageIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // STACK_TRACE_STR
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.stackTraceStr = iprot.readString();
+              struct.setStackTraceStrIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, BlurException struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.message != null) {
+        oprot.writeFieldBegin(MESSAGE_FIELD_DESC);
+        oprot.writeString(struct.message);
+        oprot.writeFieldEnd();
+      }
+      if (struct.stackTraceStr != null) {
+        oprot.writeFieldBegin(STACK_TRACE_STR_FIELD_DESC);
+        oprot.writeString(struct.stackTraceStr);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class BlurExceptionTupleSchemeFactory implements SchemeFactory {
+    public BlurExceptionTupleScheme getScheme() {
+      return new BlurExceptionTupleScheme();
+    }
+  }
+
+  private static class BlurExceptionTupleScheme extends TupleScheme<BlurException> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, BlurException struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetMessage()) {
+        optionals.set(0);
+      }
+      if (struct.isSetStackTraceStr()) {
+        optionals.set(1);
+      }
+      oprot.writeBitSet(optionals, 2);
+      if (struct.isSetMessage()) {
+        oprot.writeString(struct.message);
+      }
+      if (struct.isSetStackTraceStr()) {
+        oprot.writeString(struct.stackTraceStr);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, BlurException struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(2);
+      if (incoming.get(0)) {
+        struct.message = iprot.readString();
+        struct.setMessageIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.stackTraceStr = iprot.readString();
+        struct.setStackTraceStrIsSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11f5141c/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/ClassDefinition.java
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/ClassDefinition.java b/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/ClassDefinition.java
new file mode 100644
index 0000000..4f13848
--- /dev/null
+++ b/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/ClassDefinition.java
@@ -0,0 +1,685 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+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 org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import 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 ClassDefinition implements org.apache.thrift.TBase<ClassDefinition, ClassDefinition._Fields>, java.io.Serializable, Cloneable {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ClassDefinition");
+
+  private static final org.apache.thrift.protocol.TField CLASS_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("className", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField ARGUMENTS_FIELD_DESC = new org.apache.thrift.protocol.TField("arguments", org.apache.thrift.protocol.TType.MAP, (short)2);
+  private static final org.apache.thrift.protocol.TField INIT_FUNCTION_FIELD_DESC = new org.apache.thrift.protocol.TField("initFunction", org.apache.thrift.protocol.TType.STRING, (short)3);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ClassDefinitionStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ClassDefinitionTupleSchemeFactory());
+  }
+
+  public String className; // required
+  public Map<String,ByteBuffer> arguments; // required
+  /**
+   * user can define its own way to initialize analyzer by providing javascript function.
+   * This function will always be used if defined.
+   */
+  public String initFunction; // 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 {
+    CLASS_NAME((short)1, "className"),
+    ARGUMENTS((short)2, "arguments"),
+    /**
+     * user can define its own way to initialize analyzer by providing javascript function.
+     * This function will always be used if defined.
+     */
+    INIT_FUNCTION((short)3, "initFunction");
+
+    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: // CLASS_NAME
+          return CLASS_NAME;
+        case 2: // ARGUMENTS
+          return ARGUMENTS;
+        case 3: // INIT_FUNCTION
+          return INIT_FUNCTION;
+        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.CLASS_NAME, new org.apache.thrift.meta_data.FieldMetaData("className", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.ARGUMENTS, new org.apache.thrift.meta_data.FieldMetaData("arguments", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING            , true))));
+    tmpMap.put(_Fields.INIT_FUNCTION, new org.apache.thrift.meta_data.FieldMetaData("initFunction", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ClassDefinition.class, metaDataMap);
+  }
+
+  public ClassDefinition() {
+  }
+
+  public ClassDefinition(
+    String className,
+    Map<String,ByteBuffer> arguments,
+    String initFunction)
+  {
+    this();
+    this.className = className;
+    this.arguments = arguments;
+    this.initFunction = initFunction;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ClassDefinition(ClassDefinition other) {
+    if (other.isSetClassName()) {
+      this.className = other.className;
+    }
+    if (other.isSetArguments()) {
+      Map<String,ByteBuffer> __this__arguments = new HashMap<String,ByteBuffer>();
+      for (Map.Entry<String, ByteBuffer> other_element : other.arguments.entrySet()) {
+
+        String other_element_key = other_element.getKey();
+        ByteBuffer other_element_value = other_element.getValue();
+
+        String __this__arguments_copy_key = other_element_key;
+
+        ByteBuffer __this__arguments_copy_value = org.apache.thrift.TBaseHelper.copyBinary(other_element_value);
+;
+
+        __this__arguments.put(__this__arguments_copy_key, __this__arguments_copy_value);
+      }
+      this.arguments = __this__arguments;
+    }
+    if (other.isSetInitFunction()) {
+      this.initFunction = other.initFunction;
+    }
+  }
+
+  public ClassDefinition deepCopy() {
+    return new ClassDefinition(this);
+  }
+
+  @Override
+  public void clear() {
+    this.className = null;
+    this.arguments = null;
+    this.initFunction = null;
+  }
+
+  public String getClassName() {
+    return this.className;
+  }
+
+  public ClassDefinition setClassName(String className) {
+    this.className = className;
+    return this;
+  }
+
+  public void unsetClassName() {
+    this.className = null;
+  }
+
+  /** Returns true if field className is set (has been assigned a value) and false otherwise */
+  public boolean isSetClassName() {
+    return this.className != null;
+  }
+
+  public void setClassNameIsSet(boolean value) {
+    if (!value) {
+      this.className = null;
+    }
+  }
+
+  public int getArgumentsSize() {
+    return (this.arguments == null) ? 0 : this.arguments.size();
+  }
+
+  public void putToArguments(String key, ByteBuffer val) {
+    if (this.arguments == null) {
+      this.arguments = new HashMap<String,ByteBuffer>();
+    }
+    this.arguments.put(key, val);
+  }
+
+  public Map<String,ByteBuffer> getArguments() {
+    return this.arguments;
+  }
+
+  public ClassDefinition setArguments(Map<String,ByteBuffer> arguments) {
+    this.arguments = arguments;
+    return this;
+  }
+
+  public void unsetArguments() {
+    this.arguments = null;
+  }
+
+  /** Returns true if field arguments is set (has been assigned a value) and false otherwise */
+  public boolean isSetArguments() {
+    return this.arguments != null;
+  }
+
+  public void setArgumentsIsSet(boolean value) {
+    if (!value) {
+      this.arguments = null;
+    }
+  }
+
+  /**
+   * user can define its own way to initialize analyzer by providing javascript function.
+   * This function will always be used if defined.
+   */
+  public String getInitFunction() {
+    return this.initFunction;
+  }
+
+  /**
+   * user can define its own way to initialize analyzer by providing javascript function.
+   * This function will always be used if defined.
+   */
+  public ClassDefinition setInitFunction(String initFunction) {
+    this.initFunction = initFunction;
+    return this;
+  }
+
+  public void unsetInitFunction() {
+    this.initFunction = null;
+  }
+
+  /** Returns true if field initFunction is set (has been assigned a value) and false otherwise */
+  public boolean isSetInitFunction() {
+    return this.initFunction != null;
+  }
+
+  public void setInitFunctionIsSet(boolean value) {
+    if (!value) {
+      this.initFunction = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case CLASS_NAME:
+      if (value == null) {
+        unsetClassName();
+      } else {
+        setClassName((String)value);
+      }
+      break;
+
+    case ARGUMENTS:
+      if (value == null) {
+        unsetArguments();
+      } else {
+        setArguments((Map<String,ByteBuffer>)value);
+      }
+      break;
+
+    case INIT_FUNCTION:
+      if (value == null) {
+        unsetInitFunction();
+      } else {
+        setInitFunction((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case CLASS_NAME:
+      return getClassName();
+
+    case ARGUMENTS:
+      return getArguments();
+
+    case INIT_FUNCTION:
+      return getInitFunction();
+
+    }
+    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 CLASS_NAME:
+      return isSetClassName();
+    case ARGUMENTS:
+      return isSetArguments();
+    case INIT_FUNCTION:
+      return isSetInitFunction();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof ClassDefinition)
+      return this.equals((ClassDefinition)that);
+    return false;
+  }
+
+  public boolean equals(ClassDefinition that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_className = true && this.isSetClassName();
+    boolean that_present_className = true && that.isSetClassName();
+    if (this_present_className || that_present_className) {
+      if (!(this_present_className && that_present_className))
+        return false;
+      if (!this.className.equals(that.className))
+        return false;
+    }
+
+    boolean this_present_arguments = true && this.isSetArguments();
+    boolean that_present_arguments = true && that.isSetArguments();
+    if (this_present_arguments || that_present_arguments) {
+      if (!(this_present_arguments && that_present_arguments))
+        return false;
+      if (!this.arguments.equals(that.arguments))
+        return false;
+    }
+
+    boolean this_present_initFunction = true && this.isSetInitFunction();
+    boolean that_present_initFunction = true && that.isSetInitFunction();
+    if (this_present_initFunction || that_present_initFunction) {
+      if (!(this_present_initFunction && that_present_initFunction))
+        return false;
+      if (!this.initFunction.equals(that.initFunction))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  public int compareTo(ClassDefinition other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    ClassDefinition typedOther = (ClassDefinition)other;
+
+    lastComparison = Boolean.valueOf(isSetClassName()).compareTo(typedOther.isSetClassName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetClassName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.className, typedOther.className);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetArguments()).compareTo(typedOther.isSetArguments());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetArguments()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.arguments, typedOther.arguments);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetInitFunction()).compareTo(typedOther.isSetInitFunction());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetInitFunction()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.initFunction, typedOther.initFunction);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("ClassDefinition(");
+    boolean first = true;
+
+    sb.append("className:");
+    if (this.className == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.className);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("arguments:");
+    if (this.arguments == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.arguments);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("initFunction:");
+    if (this.initFunction == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.initFunction);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class ClassDefinitionStandardSchemeFactory implements SchemeFactory {
+    public ClassDefinitionStandardScheme getScheme() {
+      return new ClassDefinitionStandardScheme();
+    }
+  }
+
+  private static class ClassDefinitionStandardScheme extends StandardScheme<ClassDefinition> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ClassDefinition struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // CLASS_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.className = iprot.readString();
+              struct.setClassNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // ARGUMENTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map8 = iprot.readMapBegin();
+                struct.arguments = new HashMap<String,ByteBuffer>(2*_map8.size);
+                for (int _i9 = 0; _i9 < _map8.size; ++_i9)
+                {
+                  String _key10; // required
+                  ByteBuffer _val11; // optional
+                  _key10 = iprot.readString();
+                  _val11 = iprot.readBinary();
+                  struct.arguments.put(_key10, _val11);
+                }
+                iprot.readMapEnd();
+              }
+              struct.setArgumentsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // INIT_FUNCTION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.initFunction = iprot.readString();
+              struct.setInitFunctionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, ClassDefinition struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.className != null) {
+        oprot.writeFieldBegin(CLASS_NAME_FIELD_DESC);
+        oprot.writeString(struct.className);
+        oprot.writeFieldEnd();
+      }
+      if (struct.arguments != null) {
+        oprot.writeFieldBegin(ARGUMENTS_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.arguments.size()));
+          for (Map.Entry<String, ByteBuffer> _iter12 : struct.arguments.entrySet())
+          {
+            oprot.writeString(_iter12.getKey());
+            oprot.writeBinary(_iter12.getValue());
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.initFunction != null) {
+        oprot.writeFieldBegin(INIT_FUNCTION_FIELD_DESC);
+        oprot.writeString(struct.initFunction);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ClassDefinitionTupleSchemeFactory implements SchemeFactory {
+    public ClassDefinitionTupleScheme getScheme() {
+      return new ClassDefinitionTupleScheme();
+    }
+  }
+
+  private static class ClassDefinitionTupleScheme extends TupleScheme<ClassDefinition> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ClassDefinition struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetClassName()) {
+        optionals.set(0);
+      }
+      if (struct.isSetArguments()) {
+        optionals.set(1);
+      }
+      if (struct.isSetInitFunction()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetClassName()) {
+        oprot.writeString(struct.className);
+      }
+      if (struct.isSetArguments()) {
+        {
+          oprot.writeI32(struct.arguments.size());
+          for (Map.Entry<String, ByteBuffer> _iter13 : struct.arguments.entrySet())
+          {
+            oprot.writeString(_iter13.getKey());
+            oprot.writeBinary(_iter13.getValue());
+          }
+        }
+      }
+      if (struct.isSetInitFunction()) {
+        oprot.writeString(struct.initFunction);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, ClassDefinition struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(3);
+      if (incoming.get(0)) {
+        struct.className = iprot.readString();
+        struct.setClassNameIsSet(true);
+      }
+      if (incoming.get(1)) {
+        {
+          org.apache.thrift.protocol.TMap _map14 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.arguments = new HashMap<String,ByteBuffer>(2*_map14.size);
+          for (int _i15 = 0; _i15 < _map14.size; ++_i15)
+          {
+            String _key16; // required
+            ByteBuffer _val17; // optional
+            _key16 = iprot.readString();
+            _val17 = iprot.readBinary();
+            struct.arguments.put(_key16, _val17);
+          }
+        }
+        struct.setArgumentsIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.initFunction = iprot.readString();
+        struct.setInitFunctionIsSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11f5141c/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/Document.java
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/Document.java b/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/Document.java
new file mode 100644
index 0000000..28a0172
--- /dev/null
+++ b/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/Document.java
@@ -0,0 +1,471 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+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 org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import 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 Document implements org.apache.thrift.TBase<Document, Document._Fields>, java.io.Serializable, Cloneable {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Document");
+
+  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);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new DocumentStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new DocumentTupleSchemeFactory());
+  }
+
+  /**
+   * This list of fields to be indexed.  The same field name can be used across fields and the order of the fields will be maintained.
+   */
+  public List<Field> 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 {
+    /**
+     * This list of fields to be indexed.  The same field name can be used across fields and the order of the fields will be maintained.
+     */
+    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, Field.class))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Document.class, metaDataMap);
+  }
+
+  public Document() {
+  }
+
+  public Document(
+    List<Field> fields)
+  {
+    this();
+    this.fields = fields;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public Document(Document other) {
+    if (other.isSetFields()) {
+      List<Field> __this__fields = new ArrayList<Field>();
+      for (Field other_element : other.fields) {
+        __this__fields.add(new Field(other_element));
+      }
+      this.fields = __this__fields;
+    }
+  }
+
+  public Document deepCopy() {
+    return new Document(this);
+  }
+
+  @Override
+  public void clear() {
+    this.fields = null;
+  }
+
+  public int getFieldsSize() {
+    return (this.fields == null) ? 0 : this.fields.size();
+  }
+
+  public java.util.Iterator<Field> getFieldsIterator() {
+    return (this.fields == null) ? null : this.fields.iterator();
+  }
+
+  public void addToFields(Field elem) {
+    if (this.fields == null) {
+      this.fields = new ArrayList<Field>();
+    }
+    this.fields.add(elem);
+  }
+
+  /**
+   * This list of fields to be indexed.  The same field name can be used across fields and the order of the fields will be maintained.
+   */
+  public List<Field> getFields() {
+    return this.fields;
+  }
+
+  /**
+   * This list of fields to be indexed.  The same field name can be used across fields and the order of the fields will be maintained.
+   */
+  public Document setFields(List<Field> 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<Field>)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 Document)
+      return this.equals((Document)that);
+    return false;
+  }
+
+  public boolean equals(Document 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(Document other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    Document typedOther = (Document)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 {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("Document(");
+    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
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class DocumentStandardSchemeFactory implements SchemeFactory {
+    public DocumentStandardScheme getScheme() {
+      return new DocumentStandardScheme();
+    }
+  }
+
+  private static class DocumentStandardScheme extends StandardScheme<Document> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, Document struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // FIELDS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list84 = iprot.readListBegin();
+                struct.fields = new ArrayList<Field>(_list84.size);
+                for (int _i85 = 0; _i85 < _list84.size; ++_i85)
+                {
+                  Field _elem86; // required
+                  _elem86 = new Field();
+                  _elem86.read(iprot);
+                  struct.fields.add(_elem86);
+                }
+                iprot.readListEnd();
+              }
+              struct.setFieldsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, Document struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.fields != null) {
+        oprot.writeFieldBegin(FIELDS_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.fields.size()));
+          for (Field _iter87 : struct.fields)
+          {
+            _iter87.write(oprot);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class DocumentTupleSchemeFactory implements SchemeFactory {
+    public DocumentTupleScheme getScheme() {
+      return new DocumentTupleScheme();
+    }
+  }
+
+  private static class DocumentTupleScheme extends TupleScheme<Document> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, Document struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetFields()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetFields()) {
+        {
+          oprot.writeI32(struct.fields.size());
+          for (Field _iter88 : struct.fields)
+          {
+            _iter88.write(oprot);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, Document struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        {
+          org.apache.thrift.protocol.TList _list89 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.fields = new ArrayList<Field>(_list89.size);
+          for (int _i90 = 0; _i90 < _list89.size; ++_i90)
+          {
+            Field _elem91; // required
+            _elem91 = new Field();
+            _elem91.read(iprot);
+            struct.fields.add(_elem91);
+          }
+        }
+        struct.setFieldsIsSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/11f5141c/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/DocumentGroup.java
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/DocumentGroup.java b/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/DocumentGroup.java
new file mode 100644
index 0000000..20b4c22
--- /dev/null
+++ b/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/DocumentGroup.java
@@ -0,0 +1,664 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+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 org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import 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 DocumentGroup implements org.apache.thrift.TBase<DocumentGroup, DocumentGroup._Fields>, java.io.Serializable, Cloneable {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DocumentGroup");
+
+  private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField PRIME_DOC_FIELD_DESC = new org.apache.thrift.protocol.TField("primeDoc", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+  private static final org.apache.thrift.protocol.TField DOCUMENTS_FIELD_DESC = new org.apache.thrift.protocol.TField("documents", org.apache.thrift.protocol.TType.LIST, (short)3);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new DocumentGroupStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new DocumentGroupTupleSchemeFactory());
+  }
+
+  public String id; // required
+  public DocumentRecord primeDoc; // required
+  public List<DocumentRecord> documents; // 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 {
+    ID((short)1, "id"),
+    PRIME_DOC((short)2, "primeDoc"),
+    DOCUMENTS((short)3, "documents");
+
+    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: // ID
+          return ID;
+        case 2: // PRIME_DOC
+          return PRIME_DOC;
+        case 3: // DOCUMENTS
+          return DOCUMENTS;
+        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.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.PRIME_DOC, new org.apache.thrift.meta_data.FieldMetaData("primeDoc", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, DocumentRecord.class)));
+    tmpMap.put(_Fields.DOCUMENTS, new org.apache.thrift.meta_data.FieldMetaData("documents", 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, DocumentRecord.class))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(DocumentGroup.class, metaDataMap);
+  }
+
+  public DocumentGroup() {
+  }
+
+  public DocumentGroup(
+    String id,
+    DocumentRecord primeDoc,
+    List<DocumentRecord> documents)
+  {
+    this();
+    this.id = id;
+    this.primeDoc = primeDoc;
+    this.documents = documents;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public DocumentGroup(DocumentGroup other) {
+    if (other.isSetId()) {
+      this.id = other.id;
+    }
+    if (other.isSetPrimeDoc()) {
+      this.primeDoc = new DocumentRecord(other.primeDoc);
+    }
+    if (other.isSetDocuments()) {
+      List<DocumentRecord> __this__documents = new ArrayList<DocumentRecord>();
+      for (DocumentRecord other_element : other.documents) {
+        __this__documents.add(new DocumentRecord(other_element));
+      }
+      this.documents = __this__documents;
+    }
+  }
+
+  public DocumentGroup deepCopy() {
+    return new DocumentGroup(this);
+  }
+
+  @Override
+  public void clear() {
+    this.id = null;
+    this.primeDoc = null;
+    this.documents = null;
+  }
+
+  public String getId() {
+    return this.id;
+  }
+
+  public DocumentGroup setId(String id) {
+    this.id = id;
+    return this;
+  }
+
+  public void unsetId() {
+    this.id = null;
+  }
+
+  /** Returns true if field id is set (has been assigned a value) and false otherwise */
+  public boolean isSetId() {
+    return this.id != null;
+  }
+
+  public void setIdIsSet(boolean value) {
+    if (!value) {
+      this.id = null;
+    }
+  }
+
+  public DocumentRecord getPrimeDoc() {
+    return this.primeDoc;
+  }
+
+  public DocumentGroup setPrimeDoc(DocumentRecord primeDoc) {
+    this.primeDoc = primeDoc;
+    return this;
+  }
+
+  public void unsetPrimeDoc() {
+    this.primeDoc = null;
+  }
+
+  /** Returns true if field primeDoc is set (has been assigned a value) and false otherwise */
+  public boolean isSetPrimeDoc() {
+    return this.primeDoc != null;
+  }
+
+  public void setPrimeDocIsSet(boolean value) {
+    if (!value) {
+      this.primeDoc = null;
+    }
+  }
+
+  public int getDocumentsSize() {
+    return (this.documents == null) ? 0 : this.documents.size();
+  }
+
+  public java.util.Iterator<DocumentRecord> getDocumentsIterator() {
+    return (this.documents == null) ? null : this.documents.iterator();
+  }
+
+  public void addToDocuments(DocumentRecord elem) {
+    if (this.documents == null) {
+      this.documents = new ArrayList<DocumentRecord>();
+    }
+    this.documents.add(elem);
+  }
+
+  public List<DocumentRecord> getDocuments() {
+    return this.documents;
+  }
+
+  public DocumentGroup setDocuments(List<DocumentRecord> documents) {
+    this.documents = documents;
+    return this;
+  }
+
+  public void unsetDocuments() {
+    this.documents = null;
+  }
+
+  /** Returns true if field documents is set (has been assigned a value) and false otherwise */
+  public boolean isSetDocuments() {
+    return this.documents != null;
+  }
+
+  public void setDocumentsIsSet(boolean value) {
+    if (!value) {
+      this.documents = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case ID:
+      if (value == null) {
+        unsetId();
+      } else {
+        setId((String)value);
+      }
+      break;
+
+    case PRIME_DOC:
+      if (value == null) {
+        unsetPrimeDoc();
+      } else {
+        setPrimeDoc((DocumentRecord)value);
+      }
+      break;
+
+    case DOCUMENTS:
+      if (value == null) {
+        unsetDocuments();
+      } else {
+        setDocuments((List<DocumentRecord>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case ID:
+      return getId();
+
+    case PRIME_DOC:
+      return getPrimeDoc();
+
+    case DOCUMENTS:
+      return getDocuments();
+
+    }
+    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 ID:
+      return isSetId();
+    case PRIME_DOC:
+      return isSetPrimeDoc();
+    case DOCUMENTS:
+      return isSetDocuments();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof DocumentGroup)
+      return this.equals((DocumentGroup)that);
+    return false;
+  }
+
+  public boolean equals(DocumentGroup that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_id = true && this.isSetId();
+    boolean that_present_id = true && that.isSetId();
+    if (this_present_id || that_present_id) {
+      if (!(this_present_id && that_present_id))
+        return false;
+      if (!this.id.equals(that.id))
+        return false;
+    }
+
+    boolean this_present_primeDoc = true && this.isSetPrimeDoc();
+    boolean that_present_primeDoc = true && that.isSetPrimeDoc();
+    if (this_present_primeDoc || that_present_primeDoc) {
+      if (!(this_present_primeDoc && that_present_primeDoc))
+        return false;
+      if (!this.primeDoc.equals(that.primeDoc))
+        return false;
+    }
+
+    boolean this_present_documents = true && this.isSetDocuments();
+    boolean that_present_documents = true && that.isSetDocuments();
+    if (this_present_documents || that_present_documents) {
+      if (!(this_present_documents && that_present_documents))
+        return false;
+      if (!this.documents.equals(that.documents))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  public int compareTo(DocumentGroup other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    DocumentGroup typedOther = (DocumentGroup)other;
+
+    lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetPrimeDoc()).compareTo(typedOther.isSetPrimeDoc());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetPrimeDoc()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.primeDoc, typedOther.primeDoc);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDocuments()).compareTo(typedOther.isSetDocuments());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDocuments()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.documents, typedOther.documents);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("DocumentGroup(");
+    boolean first = true;
+
+    sb.append("id:");
+    if (this.id == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.id);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("primeDoc:");
+    if (this.primeDoc == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.primeDoc);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("documents:");
+    if (this.documents == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.documents);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    // check for sub-struct validity
+    if (primeDoc != null) {
+      primeDoc.validate();
+    }
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class DocumentGroupStandardSchemeFactory implements SchemeFactory {
+    public DocumentGroupStandardScheme getScheme() {
+      return new DocumentGroupStandardScheme();
+    }
+  }
+
+  private static class DocumentGroupStandardScheme extends StandardScheme<DocumentGroup> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, DocumentGroup struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.id = iprot.readString();
+              struct.setIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // PRIME_DOC
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.primeDoc = new DocumentRecord();
+              struct.primeDoc.read(iprot);
+              struct.setPrimeDocIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // DOCUMENTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
+                struct.documents = new ArrayList<DocumentRecord>(_list16.size);
+                for (int _i17 = 0; _i17 < _list16.size; ++_i17)
+                {
+                  DocumentRecord _elem18; // required
+                  _elem18 = new DocumentRecord();
+                  _elem18.read(iprot);
+                  struct.documents.add(_elem18);
+                }
+                iprot.readListEnd();
+              }
+              struct.setDocumentsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, DocumentGroup struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.id != null) {
+        oprot.writeFieldBegin(ID_FIELD_DESC);
+        oprot.writeString(struct.id);
+        oprot.writeFieldEnd();
+      }
+      if (struct.primeDoc != null) {
+        oprot.writeFieldBegin(PRIME_DOC_FIELD_DESC);
+        struct.primeDoc.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      if (struct.documents != null) {
+        oprot.writeFieldBegin(DOCUMENTS_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.documents.size()));
+          for (DocumentRecord _iter19 : struct.documents)
+          {
+            _iter19.write(oprot);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class DocumentGroupTupleSchemeFactory implements SchemeFactory {
+    public DocumentGroupTupleScheme getScheme() {
+      return new DocumentGroupTupleScheme();
+    }
+  }
+
+  private static class DocumentGroupTupleScheme extends TupleScheme<DocumentGroup> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, DocumentGroup struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetId()) {
+        optionals.set(0);
+      }
+      if (struct.isSetPrimeDoc()) {
+        optionals.set(1);
+      }
+      if (struct.isSetDocuments()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetId()) {
+        oprot.writeString(struct.id);
+      }
+      if (struct.isSetPrimeDoc()) {
+        struct.primeDoc.write(oprot);
+      }
+      if (struct.isSetDocuments()) {
+        {
+          oprot.writeI32(struct.documents.size());
+          for (DocumentRecord _iter20 : struct.documents)
+          {
+            _iter20.write(oprot);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, DocumentGroup struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(3);
+      if (incoming.get(0)) {
+        struct.id = iprot.readString();
+        struct.setIdIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.primeDoc = new DocumentRecord();
+        struct.primeDoc.read(iprot);
+        struct.setPrimeDocIsSet(true);
+      }
+      if (incoming.get(2)) {
+        {
+          org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.documents = new ArrayList<DocumentRecord>(_list21.size);
+          for (int _i22 = 0; _i22 < _list21.size; ++_i22)
+          {
+            DocumentRecord _elem23; // required
+            _elem23 = new DocumentRecord();
+            _elem23.read(iprot);
+            struct.documents.add(_elem23);
+          }
+        }
+        struct.setDocumentsIsSet(true);
+      }
+    }
+  }
+
+}
+


Mime
View raw message