incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amccu...@apache.org
Subject [13/29] Added the distribution project to allow for automatically creating build artifacts during a maven build.
Date Fri, 04 Jan 2013 22:42:52 GMT
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/src/distribution/src/main/scripts/interface/gen-html/style.css
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/interface/gen-html/style.css b/src/distribution/src/main/scripts/interface/gen-html/style.css
new file mode 100644
index 0000000..34fd9d7
--- /dev/null
+++ b/src/distribution/src/main/scripts/interface/gen-html/style.css
@@ -0,0 +1,184 @@
+/*!
+ * Bootstrap v2.0.3
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";}
+.clearfix:after{clear:both;}
+.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
+.input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}
+article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
+audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
+audio:not([controls]){display:none;}
+html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
+a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
+a:hover,a:active{outline:0;}
+sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
+sup{top:-0.5em;}
+sub{bottom:-0.25em;}
+img{max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic;}
+button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;}
+button,input{*overflow:visible;line-height:normal;}
+button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}
+button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;}
+input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;}
+input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
+textarea{overflow:auto;vertical-align:top;}
+body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#333333;background-color:#ffffff;}
+a{color:#0088cc;text-decoration:none;}
+a:hover{color:#005580;text-decoration:underline;}
+.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";}
+.row:after{clear:both;}
+[class*="span"]{float:left;margin-left:20px;}
+.container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;}
+.span12{width:940px;}
+.span11{width:860px;}
+.span10{width:780px;}
+.span9{width:700px;}
+.span8{width:620px;}
+.span7{width:540px;}
+.span6{width:460px;}
+.span5{width:380px;}
+.span4{width:300px;}
+.span3{width:220px;}
+.span2{width:140px;}
+.span1{width:60px;}
+.offset12{margin-left:980px;}
+.offset11{margin-left:900px;}
+.offset10{margin-left:820px;}
+.offset9{margin-left:740px;}
+.offset8{margin-left:660px;}
+.offset7{margin-left:580px;}
+.offset6{margin-left:500px;}
+.offset5{margin-left:420px;}
+.offset4{margin-left:340px;}
+.offset3{margin-left:260px;}
+.offset2{margin-left:180px;}
+.offset1{margin-left:100px;}
+.row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";}
+.row-fluid:after{clear:both;}
+.row-fluid [class*="span"]{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574%;*margin-left:2.0744680846382977%;}
+.row-fluid [class*="span"]:first-child{margin-left:0;}
+.row-fluid .span12{width:99.99999998999999%;*width:99.94680850063828%;}
+.row-fluid .span11{width:91.489361693%;*width:91.4361702036383%;}
+.row-fluid .span10{width:82.97872339599999%;*width:82.92553190663828%;}
+.row-fluid .span9{width:74.468085099%;*width:74.4148936096383%;}
+.row-fluid .span8{width:65.95744680199999%;*width:65.90425531263828%;}
+.row-fluid .span7{width:57.446808505%;*width:57.3936170156383%;}
+.row-fluid .span6{width:48.93617020799999%;*width:48.88297871863829%;}
+.row-fluid .span5{width:40.425531911%;*width:40.3723404216383%;}
+.row-fluid .span4{width:31.914893614%;*width:31.8617021246383%;}
+.row-fluid .span3{width:23.404255317%;*width:23.3510638276383%;}
+.row-fluid .span2{width:14.89361702%;*width:14.8404255306383%;}
+.row-fluid .span1{width:6.382978723%;*width:6.329787233638298%;}
+.container{margin-right:auto;margin-left:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";}
+.container:after{clear:both;}
+.container-fluid{padding-right:20px;padding-left:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";}
+.container-fluid:after{clear:both;}
+p{margin:0 0 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;}p small{font-size:11px;color:#999999;}
+.lead{margin-bottom:18px;font-size:20px;font-weight:200;line-height:27px;}
+h1,h2,h3,h4,h5,h6{margin:0;font-family:inherit;font-weight:bold;color:inherit;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;color:#999999;}
+h1{font-size:30px;line-height:36px;}h1 small{font-size:18px;}
+h2{font-size:24px;line-height:36px;}h2 small{font-size:18px;}
+h3{font-size:18px;line-height:27px;}h3 small{font-size:14px;}
+h4,h5,h6{line-height:18px;}
+h4{font-size:14px;}h4 small{font-size:12px;}
+h5{font-size:12px;}
+h6{font-size:11px;color:#999999;text-transform:uppercase;}
+.page-header{padding-bottom:17px;margin:18px 0;border-bottom:1px solid #eeeeee;}
+.page-header h1{line-height:1;}
+ul,ol{padding:0;margin:0 0 9px 25px;}
+ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
+ul{list-style:disc;}
+ol{list-style:decimal;}
+li{line-height:18px;}
+ul.unstyled,ol.unstyled{margin-left:0;list-style:none;}
+dl{margin-bottom:18px;}
+dt,dd{line-height:18px;}
+dt{font-weight:bold;line-height:17px;}
+dd{margin-left:9px;}
+.dl-horizontal dt{float:left;width:120px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
+.dl-horizontal dd{margin-left:130px;}
+hr{margin:18px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;}
+strong{font-weight:bold;}
+em{font-style:italic;}
+.muted{color:#999999;}
+abbr[title]{cursor:help;border-bottom:1px dotted #ddd;}
+abbr.initialism{font-size:90%;text-transform:uppercase;}
+blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px;}
+blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:before{content:'\2014 \00A0';}
+blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
+q:before,q:after,blockquote:before,blockquote:after{content:"";}
+address{display:block;margin-bottom:18px;font-style:normal;line-height:18px;}
+small{font-size:100%;}
+cite{font-style:normal;}
+code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
+pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12.025px;line-height:18px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}pre.prettyprint{margin-bottom:18px;}
+pre code{padding:0;color:inherit;background-color:transparent;border:0;}
+.pre-scrollable{max-height:340px;overflow-y:scroll;}
+.label,.badge{font-size:10.998px;font-weight:bold;line-height:14px;color:#ffffff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#999999;}
+.label{padding:1px 4px 2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+.badge{padding:1px 9px 2px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;}
+a.label:hover,a.badge:hover{color:#ffffff;text-decoration:none;cursor:pointer;}
+.label-important,.badge-important{background-color:#b94a48;}
+.label-important[href],.badge-important[href]{background-color:#953b39;}
+.label-warning,.badge-warning{background-color:#f89406;}
+.label-warning[href],.badge-warning[href]{background-color:#c67605;}
+.label-success,.badge-success{background-color:#468847;}
+.label-success[href],.badge-success[href]{background-color:#356635;}
+.label-info,.badge-info{background-color:#3a87ad;}
+.label-info[href],.badge-info[href]{background-color:#2d6987;}
+.label-inverse,.badge-inverse{background-color:#333333;}
+.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a;}
+table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;}
+.table{width:100%;margin-bottom:18px;}.table th,.table td{padding:8px;line-height:18px;text-align:left;vertical-align:top;border-top:1px solid #dddddd;}
+.table th{font-weight:bold;}
+.table thead th{vertical-align:bottom;}
+.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0;}
+.table tbody+tbody{border-top:2px solid #dddddd;}
+.table-condensed th,.table-condensed td{padding:4px 5px;}
+.table-bordered{border:1px solid #dddddd;border-collapse:separate;*border-collapse:collapsed;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th,.table-bordered td{border-left:1px solid #dddddd;}
+.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;}
+.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px;}
+.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px;}
+.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;}
+.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;}
+.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
+.table tbody tr:hover td,.table tbody tr:hover th{background-color:#f5f5f5;}
+table .span1{float:none;width:44px;margin-left:0;}
+table .span2{float:none;width:124px;margin-left:0;}
+table .span3{float:none;width:204px;margin-left:0;}
+table .span4{float:none;width:284px;margin-left:0;}
+table .span5{float:none;width:364px;margin-left:0;}
+table .span6{float:none;width:444px;margin-left:0;}
+table .span7{float:none;width:524px;margin-left:0;}
+table .span8{float:none;width:604px;margin-left:0;}
+table .span9{float:none;width:684px;margin-left:0;}
+table .span10{float:none;width:764px;margin-left:0;}
+table .span11{float:none;width:844px;margin-left:0;}
+table .span12{float:none;width:924px;margin-left:0;}
+table .span13{float:none;width:1004px;margin-left:0;}
+table .span14{float:none;width:1084px;margin-left:0;}
+table .span15{float:none;width:1164px;margin-left:0;}
+table .span16{float:none;width:1244px;margin-left:0;}
+table .span17{float:none;width:1324px;margin-left:0;}
+table .span18{float:none;width:1404px;margin-left:0;}
+table .span19{float:none;width:1484px;margin-left:0;}
+table .span20{float:none;width:1564px;margin-left:0;}
+table .span21{float:none;width:1644px;margin-left:0;}
+table .span22{float:none;width:1724px;margin-left:0;}
+table .span23{float:none;width:1804px;margin-left:0;}
+table .span24{float:none;width:1884px;margin-left:0;}
+/* Auto-generated CSS for generated Thrift docs */
+h3, h4 { margin-bottom: 6px; }
+div.definition { border: 1px solid #CCC; margin-bottom: 10px; padding: 10px; }
+div.extends { margin: -0.5em 0 1em 5em }
+td { vertical-align: top; }
+table { empty-cells: show; }
+code { line-height: 20px; }
+.table-bordered th, .table-bordered td { border-bottom: 1px solid #DDDDDD; }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/Analyzer.java
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/Analyzer.java b/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/Analyzer.java
new file mode 100644
index 0000000..ef6c001
--- /dev/null
+++ b/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/Analyzer.java
@@ -0,0 +1,477 @@
+/**
+ * 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;
+
+/**
+ * The analyzer allows for defining of alternate analyzers for the given fields.  The TYPE
+ * enum defines the default field types and the default indexing behavior for each.  The
+ * Analyzer struct allows for defining alternate behavior.  Such as a field with a TEXT
+ * type using a Lowercase Analyzer instead of the default StandardAnalyzer.
+ */
+public class Analyzer implements org.apache.thrift.TBase<Analyzer, Analyzer._Fields>, java.io.Serializable, Cloneable {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Analyzer");
+
+  private static final org.apache.thrift.protocol.TField ANALYZER_TYPES_FIELD_DESC = new org.apache.thrift.protocol.TField("analyzerTypes", 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 AnalyzerStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new AnalyzerTupleSchemeFactory());
+  }
+
+  /**
+   * The list of AnalyzerTypes.
+   */
+  public List<AnalyzerType> analyzerTypes; // 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 list of AnalyzerTypes.
+     */
+    ANALYZER_TYPES((short)1, "analyzerTypes");
+
+    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: // ANALYZER_TYPES
+          return ANALYZER_TYPES;
+        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.ANALYZER_TYPES, new org.apache.thrift.meta_data.FieldMetaData("analyzerTypes", 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, AnalyzerType.class))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Analyzer.class, metaDataMap);
+  }
+
+  public Analyzer() {
+  }
+
+  public Analyzer(
+    List<AnalyzerType> analyzerTypes)
+  {
+    this();
+    this.analyzerTypes = analyzerTypes;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public Analyzer(Analyzer other) {
+    if (other.isSetAnalyzerTypes()) {
+      List<AnalyzerType> __this__analyzerTypes = new ArrayList<AnalyzerType>();
+      for (AnalyzerType other_element : other.analyzerTypes) {
+        __this__analyzerTypes.add(new AnalyzerType(other_element));
+      }
+      this.analyzerTypes = __this__analyzerTypes;
+    }
+  }
+
+  public Analyzer deepCopy() {
+    return new Analyzer(this);
+  }
+
+  @Override
+  public void clear() {
+    this.analyzerTypes = null;
+  }
+
+  public int getAnalyzerTypesSize() {
+    return (this.analyzerTypes == null) ? 0 : this.analyzerTypes.size();
+  }
+
+  public java.util.Iterator<AnalyzerType> getAnalyzerTypesIterator() {
+    return (this.analyzerTypes == null) ? null : this.analyzerTypes.iterator();
+  }
+
+  public void addToAnalyzerTypes(AnalyzerType elem) {
+    if (this.analyzerTypes == null) {
+      this.analyzerTypes = new ArrayList<AnalyzerType>();
+    }
+    this.analyzerTypes.add(elem);
+  }
+
+  /**
+   * The list of AnalyzerTypes.
+   */
+  public List<AnalyzerType> getAnalyzerTypes() {
+    return this.analyzerTypes;
+  }
+
+  /**
+   * The list of AnalyzerTypes.
+   */
+  public Analyzer setAnalyzerTypes(List<AnalyzerType> analyzerTypes) {
+    this.analyzerTypes = analyzerTypes;
+    return this;
+  }
+
+  public void unsetAnalyzerTypes() {
+    this.analyzerTypes = null;
+  }
+
+  /** Returns true if field analyzerTypes is set (has been assigned a value) and false otherwise */
+  public boolean isSetAnalyzerTypes() {
+    return this.analyzerTypes != null;
+  }
+
+  public void setAnalyzerTypesIsSet(boolean value) {
+    if (!value) {
+      this.analyzerTypes = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case ANALYZER_TYPES:
+      if (value == null) {
+        unsetAnalyzerTypes();
+      } else {
+        setAnalyzerTypes((List<AnalyzerType>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case ANALYZER_TYPES:
+      return getAnalyzerTypes();
+
+    }
+    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 ANALYZER_TYPES:
+      return isSetAnalyzerTypes();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof Analyzer)
+      return this.equals((Analyzer)that);
+    return false;
+  }
+
+  public boolean equals(Analyzer that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_analyzerTypes = true && this.isSetAnalyzerTypes();
+    boolean that_present_analyzerTypes = true && that.isSetAnalyzerTypes();
+    if (this_present_analyzerTypes || that_present_analyzerTypes) {
+      if (!(this_present_analyzerTypes && that_present_analyzerTypes))
+        return false;
+      if (!this.analyzerTypes.equals(that.analyzerTypes))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  public int compareTo(Analyzer other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    Analyzer typedOther = (Analyzer)other;
+
+    lastComparison = Boolean.valueOf(isSetAnalyzerTypes()).compareTo(typedOther.isSetAnalyzerTypes());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetAnalyzerTypes()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.analyzerTypes, typedOther.analyzerTypes);
+      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("Analyzer(");
+    boolean first = true;
+
+    sb.append("analyzerTypes:");
+    if (this.analyzerTypes == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.analyzerTypes);
+    }
+    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 AnalyzerStandardSchemeFactory implements SchemeFactory {
+    public AnalyzerStandardScheme getScheme() {
+      return new AnalyzerStandardScheme();
+    }
+  }
+
+  private static class AnalyzerStandardScheme extends StandardScheme<Analyzer> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, Analyzer 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: // ANALYZER_TYPES
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list46 = iprot.readListBegin();
+                struct.analyzerTypes = new ArrayList<AnalyzerType>(_list46.size);
+                for (int _i47 = 0; _i47 < _list46.size; ++_i47)
+                {
+                  AnalyzerType _elem48; // required
+                  _elem48 = new AnalyzerType();
+                  _elem48.read(iprot);
+                  struct.analyzerTypes.add(_elem48);
+                }
+                iprot.readListEnd();
+              }
+              struct.setAnalyzerTypesIsSet(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, Analyzer struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.analyzerTypes != null) {
+        oprot.writeFieldBegin(ANALYZER_TYPES_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.analyzerTypes.size()));
+          for (AnalyzerType _iter49 : struct.analyzerTypes)
+          {
+            _iter49.write(oprot);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class AnalyzerTupleSchemeFactory implements SchemeFactory {
+    public AnalyzerTupleScheme getScheme() {
+      return new AnalyzerTupleScheme();
+    }
+  }
+
+  private static class AnalyzerTupleScheme extends TupleScheme<Analyzer> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, Analyzer struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetAnalyzerTypes()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetAnalyzerTypes()) {
+        {
+          oprot.writeI32(struct.analyzerTypes.size());
+          for (AnalyzerType _iter50 : struct.analyzerTypes)
+          {
+            _iter50.write(oprot);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, Analyzer struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        {
+          org.apache.thrift.protocol.TList _list51 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.analyzerTypes = new ArrayList<AnalyzerType>(_list51.size);
+          for (int _i52 = 0; _i52 < _list51.size; ++_i52)
+          {
+            AnalyzerType _elem53; // required
+            _elem53 = new AnalyzerType();
+            _elem53.read(iprot);
+            struct.analyzerTypes.add(_elem53);
+          }
+        }
+        struct.setAnalyzerTypesIsSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerSubType.java
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerSubType.java b/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerSubType.java
new file mode 100644
index 0000000..d9b7455
--- /dev/null
+++ b/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerSubType.java
@@ -0,0 +1,538 @@
+/**
+ * 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;
+
+/**
+ * The analyzer sub type struct holds the sub field name and class definition of
+ * the sub type.  See AnalyzerType for further explanation.
+ */
+public class AnalyzerSubType implements org.apache.thrift.TBase<AnalyzerSubType, AnalyzerSubType._Fields>, java.io.Serializable, Cloneable {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AnalyzerSubType");
+
+  private static final org.apache.thrift.protocol.TField SUB_FIELD_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("subFieldName", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField CLASS_DEFINITION_FIELD_DESC = new org.apache.thrift.protocol.TField("classDefinition", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new AnalyzerSubTypeStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new AnalyzerSubTypeTupleSchemeFactory());
+  }
+
+  /**
+   * The sub field name.
+   */
+  public String subFieldName; // required
+  /**
+   * The class definition that is to be used.
+   */
+  public ClassDefinition classDefinition; // 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 sub field name.
+     */
+    SUB_FIELD_NAME((short)1, "subFieldName"),
+    /**
+     * The class definition that is to be used.
+     */
+    CLASS_DEFINITION((short)2, "classDefinition");
+
+    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: // SUB_FIELD_NAME
+          return SUB_FIELD_NAME;
+        case 2: // CLASS_DEFINITION
+          return CLASS_DEFINITION;
+        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.SUB_FIELD_NAME, new org.apache.thrift.meta_data.FieldMetaData("subFieldName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.CLASS_DEFINITION, new org.apache.thrift.meta_data.FieldMetaData("classDefinition", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ClassDefinition.class)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(AnalyzerSubType.class, metaDataMap);
+  }
+
+  public AnalyzerSubType() {
+  }
+
+  public AnalyzerSubType(
+    String subFieldName,
+    ClassDefinition classDefinition)
+  {
+    this();
+    this.subFieldName = subFieldName;
+    this.classDefinition = classDefinition;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public AnalyzerSubType(AnalyzerSubType other) {
+    if (other.isSetSubFieldName()) {
+      this.subFieldName = other.subFieldName;
+    }
+    if (other.isSetClassDefinition()) {
+      this.classDefinition = new ClassDefinition(other.classDefinition);
+    }
+  }
+
+  public AnalyzerSubType deepCopy() {
+    return new AnalyzerSubType(this);
+  }
+
+  @Override
+  public void clear() {
+    this.subFieldName = null;
+    this.classDefinition = null;
+  }
+
+  /**
+   * The sub field name.
+   */
+  public String getSubFieldName() {
+    return this.subFieldName;
+  }
+
+  /**
+   * The sub field name.
+   */
+  public AnalyzerSubType setSubFieldName(String subFieldName) {
+    this.subFieldName = subFieldName;
+    return this;
+  }
+
+  public void unsetSubFieldName() {
+    this.subFieldName = null;
+  }
+
+  /** Returns true if field subFieldName is set (has been assigned a value) and false otherwise */
+  public boolean isSetSubFieldName() {
+    return this.subFieldName != null;
+  }
+
+  public void setSubFieldNameIsSet(boolean value) {
+    if (!value) {
+      this.subFieldName = null;
+    }
+  }
+
+  /**
+   * The class definition that is to be used.
+   */
+  public ClassDefinition getClassDefinition() {
+    return this.classDefinition;
+  }
+
+  /**
+   * The class definition that is to be used.
+   */
+  public AnalyzerSubType setClassDefinition(ClassDefinition classDefinition) {
+    this.classDefinition = classDefinition;
+    return this;
+  }
+
+  public void unsetClassDefinition() {
+    this.classDefinition = null;
+  }
+
+  /** Returns true if field classDefinition is set (has been assigned a value) and false otherwise */
+  public boolean isSetClassDefinition() {
+    return this.classDefinition != null;
+  }
+
+  public void setClassDefinitionIsSet(boolean value) {
+    if (!value) {
+      this.classDefinition = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case SUB_FIELD_NAME:
+      if (value == null) {
+        unsetSubFieldName();
+      } else {
+        setSubFieldName((String)value);
+      }
+      break;
+
+    case CLASS_DEFINITION:
+      if (value == null) {
+        unsetClassDefinition();
+      } else {
+        setClassDefinition((ClassDefinition)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case SUB_FIELD_NAME:
+      return getSubFieldName();
+
+    case CLASS_DEFINITION:
+      return getClassDefinition();
+
+    }
+    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 SUB_FIELD_NAME:
+      return isSetSubFieldName();
+    case CLASS_DEFINITION:
+      return isSetClassDefinition();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof AnalyzerSubType)
+      return this.equals((AnalyzerSubType)that);
+    return false;
+  }
+
+  public boolean equals(AnalyzerSubType that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_subFieldName = true && this.isSetSubFieldName();
+    boolean that_present_subFieldName = true && that.isSetSubFieldName();
+    if (this_present_subFieldName || that_present_subFieldName) {
+      if (!(this_present_subFieldName && that_present_subFieldName))
+        return false;
+      if (!this.subFieldName.equals(that.subFieldName))
+        return false;
+    }
+
+    boolean this_present_classDefinition = true && this.isSetClassDefinition();
+    boolean that_present_classDefinition = true && that.isSetClassDefinition();
+    if (this_present_classDefinition || that_present_classDefinition) {
+      if (!(this_present_classDefinition && that_present_classDefinition))
+        return false;
+      if (!this.classDefinition.equals(that.classDefinition))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  public int compareTo(AnalyzerSubType other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    AnalyzerSubType typedOther = (AnalyzerSubType)other;
+
+    lastComparison = Boolean.valueOf(isSetSubFieldName()).compareTo(typedOther.isSetSubFieldName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetSubFieldName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.subFieldName, typedOther.subFieldName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetClassDefinition()).compareTo(typedOther.isSetClassDefinition());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetClassDefinition()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.classDefinition, typedOther.classDefinition);
+      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("AnalyzerSubType(");
+    boolean first = true;
+
+    sb.append("subFieldName:");
+    if (this.subFieldName == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.subFieldName);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("classDefinition:");
+    if (this.classDefinition == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.classDefinition);
+    }
+    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 (classDefinition != null) {
+      classDefinition.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 AnalyzerSubTypeStandardSchemeFactory implements SchemeFactory {
+    public AnalyzerSubTypeStandardScheme getScheme() {
+      return new AnalyzerSubTypeStandardScheme();
+    }
+  }
+
+  private static class AnalyzerSubTypeStandardScheme extends StandardScheme<AnalyzerSubType> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, AnalyzerSubType 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: // SUB_FIELD_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.subFieldName = iprot.readString();
+              struct.setSubFieldNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // CLASS_DEFINITION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.classDefinition = new ClassDefinition();
+              struct.classDefinition.read(iprot);
+              struct.setClassDefinitionIsSet(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, AnalyzerSubType struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.subFieldName != null) {
+        oprot.writeFieldBegin(SUB_FIELD_NAME_FIELD_DESC);
+        oprot.writeString(struct.subFieldName);
+        oprot.writeFieldEnd();
+      }
+      if (struct.classDefinition != null) {
+        oprot.writeFieldBegin(CLASS_DEFINITION_FIELD_DESC);
+        struct.classDefinition.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class AnalyzerSubTypeTupleSchemeFactory implements SchemeFactory {
+    public AnalyzerSubTypeTupleScheme getScheme() {
+      return new AnalyzerSubTypeTupleScheme();
+    }
+  }
+
+  private static class AnalyzerSubTypeTupleScheme extends TupleScheme<AnalyzerSubType> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, AnalyzerSubType struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetSubFieldName()) {
+        optionals.set(0);
+      }
+      if (struct.isSetClassDefinition()) {
+        optionals.set(1);
+      }
+      oprot.writeBitSet(optionals, 2);
+      if (struct.isSetSubFieldName()) {
+        oprot.writeString(struct.subFieldName);
+      }
+      if (struct.isSetClassDefinition()) {
+        struct.classDefinition.write(oprot);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, AnalyzerSubType struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(2);
+      if (incoming.get(0)) {
+        struct.subFieldName = iprot.readString();
+        struct.setSubFieldNameIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.classDefinition = new ClassDefinition();
+        struct.classDefinition.read(iprot);
+        struct.setClassDefinitionIsSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerType.java
----------------------------------------------------------------------
diff --git a/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerType.java b/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerType.java
new file mode 100644
index 0000000..ec59f04
--- /dev/null
+++ b/src/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/AnalyzerType.java
@@ -0,0 +1,715 @@
+/**
+ * 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;
+
+/**
+ * The Analyzer struct allows for defining an alternate analyzer class definition
+ * with optional analyzer sub types.  The sub types allow for indexing a single field
+ * with several different analyzer while only storing the value once.  For example, if
+ * field "name" was a TEXT type the class definition could be set to Lowercase
+ * analyzer and the analyzer sub types could be set to Keyword (with a sub field name
+ * of "name.key") and Standard analyzer (with a sub field name of "name.standard").  Then in
+ * queries the Lowercase analyzer would be used when "name" is referenced, Keyword
+ * analyzer would be referenced when "name.key" is referenced and Standard analyzer
+ * would be referenced when "name.standard" is referenced.
+ */
+public class AnalyzerType implements org.apache.thrift.TBase<AnalyzerType, AnalyzerType._Fields>, java.io.Serializable, Cloneable {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AnalyzerType");
+
+  private static final org.apache.thrift.protocol.TField FIELD_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("fieldName", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField CLASS_DEFINITION_FIELD_DESC = new org.apache.thrift.protocol.TField("classDefinition", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+  private static final org.apache.thrift.protocol.TField ANALYZER_SUB_TYPES_FIELD_DESC = new org.apache.thrift.protocol.TField("analyzerSubTypes", 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 AnalyzerTypeStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new AnalyzerTypeTupleSchemeFactory());
+  }
+
+  /**
+   * The field that this defined type is to operate against.
+   */
+  public String fieldName; // required
+  /**
+   * The class definition that is to be used.  If this field is null then the
+   * default behavior of the field is to be used.
+   */
+  public ClassDefinition classDefinition; // required
+  /**
+   * The analyzer sub types that should be applied.  This can be empty or null.
+   */
+  public List<AnalyzerSubType> analyzerSubTypes; // 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 field that this defined type is to operate against.
+     */
+    FIELD_NAME((short)1, "fieldName"),
+    /**
+     * The class definition that is to be used.  If this field is null then the
+     * default behavior of the field is to be used.
+     */
+    CLASS_DEFINITION((short)2, "classDefinition"),
+    /**
+     * The analyzer sub types that should be applied.  This can be empty or null.
+     */
+    ANALYZER_SUB_TYPES((short)3, "analyzerSubTypes");
+
+    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_NAME
+          return FIELD_NAME;
+        case 2: // CLASS_DEFINITION
+          return CLASS_DEFINITION;
+        case 3: // ANALYZER_SUB_TYPES
+          return ANALYZER_SUB_TYPES;
+        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_NAME, new org.apache.thrift.meta_data.FieldMetaData("fieldName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.CLASS_DEFINITION, new org.apache.thrift.meta_data.FieldMetaData("classDefinition", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ClassDefinition.class)));
+    tmpMap.put(_Fields.ANALYZER_SUB_TYPES, new org.apache.thrift.meta_data.FieldMetaData("analyzerSubTypes", 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, AnalyzerSubType.class))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(AnalyzerType.class, metaDataMap);
+  }
+
+  public AnalyzerType() {
+  }
+
+  public AnalyzerType(
+    String fieldName,
+    ClassDefinition classDefinition,
+    List<AnalyzerSubType> analyzerSubTypes)
+  {
+    this();
+    this.fieldName = fieldName;
+    this.classDefinition = classDefinition;
+    this.analyzerSubTypes = analyzerSubTypes;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public AnalyzerType(AnalyzerType other) {
+    if (other.isSetFieldName()) {
+      this.fieldName = other.fieldName;
+    }
+    if (other.isSetClassDefinition()) {
+      this.classDefinition = new ClassDefinition(other.classDefinition);
+    }
+    if (other.isSetAnalyzerSubTypes()) {
+      List<AnalyzerSubType> __this__analyzerSubTypes = new ArrayList<AnalyzerSubType>();
+      for (AnalyzerSubType other_element : other.analyzerSubTypes) {
+        __this__analyzerSubTypes.add(new AnalyzerSubType(other_element));
+      }
+      this.analyzerSubTypes = __this__analyzerSubTypes;
+    }
+  }
+
+  public AnalyzerType deepCopy() {
+    return new AnalyzerType(this);
+  }
+
+  @Override
+  public void clear() {
+    this.fieldName = null;
+    this.classDefinition = null;
+    this.analyzerSubTypes = null;
+  }
+
+  /**
+   * The field that this defined type is to operate against.
+   */
+  public String getFieldName() {
+    return this.fieldName;
+  }
+
+  /**
+   * The field that this defined type is to operate against.
+   */
+  public AnalyzerType setFieldName(String fieldName) {
+    this.fieldName = fieldName;
+    return this;
+  }
+
+  public void unsetFieldName() {
+    this.fieldName = null;
+  }
+
+  /** Returns true if field fieldName is set (has been assigned a value) and false otherwise */
+  public boolean isSetFieldName() {
+    return this.fieldName != null;
+  }
+
+  public void setFieldNameIsSet(boolean value) {
+    if (!value) {
+      this.fieldName = null;
+    }
+  }
+
+  /**
+   * The class definition that is to be used.  If this field is null then the
+   * default behavior of the field is to be used.
+   */
+  public ClassDefinition getClassDefinition() {
+    return this.classDefinition;
+  }
+
+  /**
+   * The class definition that is to be used.  If this field is null then the
+   * default behavior of the field is to be used.
+   */
+  public AnalyzerType setClassDefinition(ClassDefinition classDefinition) {
+    this.classDefinition = classDefinition;
+    return this;
+  }
+
+  public void unsetClassDefinition() {
+    this.classDefinition = null;
+  }
+
+  /** Returns true if field classDefinition is set (has been assigned a value) and false otherwise */
+  public boolean isSetClassDefinition() {
+    return this.classDefinition != null;
+  }
+
+  public void setClassDefinitionIsSet(boolean value) {
+    if (!value) {
+      this.classDefinition = null;
+    }
+  }
+
+  public int getAnalyzerSubTypesSize() {
+    return (this.analyzerSubTypes == null) ? 0 : this.analyzerSubTypes.size();
+  }
+
+  public java.util.Iterator<AnalyzerSubType> getAnalyzerSubTypesIterator() {
+    return (this.analyzerSubTypes == null) ? null : this.analyzerSubTypes.iterator();
+  }
+
+  public void addToAnalyzerSubTypes(AnalyzerSubType elem) {
+    if (this.analyzerSubTypes == null) {
+      this.analyzerSubTypes = new ArrayList<AnalyzerSubType>();
+    }
+    this.analyzerSubTypes.add(elem);
+  }
+
+  /**
+   * The analyzer sub types that should be applied.  This can be empty or null.
+   */
+  public List<AnalyzerSubType> getAnalyzerSubTypes() {
+    return this.analyzerSubTypes;
+  }
+
+  /**
+   * The analyzer sub types that should be applied.  This can be empty or null.
+   */
+  public AnalyzerType setAnalyzerSubTypes(List<AnalyzerSubType> analyzerSubTypes) {
+    this.analyzerSubTypes = analyzerSubTypes;
+    return this;
+  }
+
+  public void unsetAnalyzerSubTypes() {
+    this.analyzerSubTypes = null;
+  }
+
+  /** Returns true if field analyzerSubTypes is set (has been assigned a value) and false otherwise */
+  public boolean isSetAnalyzerSubTypes() {
+    return this.analyzerSubTypes != null;
+  }
+
+  public void setAnalyzerSubTypesIsSet(boolean value) {
+    if (!value) {
+      this.analyzerSubTypes = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case FIELD_NAME:
+      if (value == null) {
+        unsetFieldName();
+      } else {
+        setFieldName((String)value);
+      }
+      break;
+
+    case CLASS_DEFINITION:
+      if (value == null) {
+        unsetClassDefinition();
+      } else {
+        setClassDefinition((ClassDefinition)value);
+      }
+      break;
+
+    case ANALYZER_SUB_TYPES:
+      if (value == null) {
+        unsetAnalyzerSubTypes();
+      } else {
+        setAnalyzerSubTypes((List<AnalyzerSubType>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case FIELD_NAME:
+      return getFieldName();
+
+    case CLASS_DEFINITION:
+      return getClassDefinition();
+
+    case ANALYZER_SUB_TYPES:
+      return getAnalyzerSubTypes();
+
+    }
+    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_NAME:
+      return isSetFieldName();
+    case CLASS_DEFINITION:
+      return isSetClassDefinition();
+    case ANALYZER_SUB_TYPES:
+      return isSetAnalyzerSubTypes();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof AnalyzerType)
+      return this.equals((AnalyzerType)that);
+    return false;
+  }
+
+  public boolean equals(AnalyzerType that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_fieldName = true && this.isSetFieldName();
+    boolean that_present_fieldName = true && that.isSetFieldName();
+    if (this_present_fieldName || that_present_fieldName) {
+      if (!(this_present_fieldName && that_present_fieldName))
+        return false;
+      if (!this.fieldName.equals(that.fieldName))
+        return false;
+    }
+
+    boolean this_present_classDefinition = true && this.isSetClassDefinition();
+    boolean that_present_classDefinition = true && that.isSetClassDefinition();
+    if (this_present_classDefinition || that_present_classDefinition) {
+      if (!(this_present_classDefinition && that_present_classDefinition))
+        return false;
+      if (!this.classDefinition.equals(that.classDefinition))
+        return false;
+    }
+
+    boolean this_present_analyzerSubTypes = true && this.isSetAnalyzerSubTypes();
+    boolean that_present_analyzerSubTypes = true && that.isSetAnalyzerSubTypes();
+    if (this_present_analyzerSubTypes || that_present_analyzerSubTypes) {
+      if (!(this_present_analyzerSubTypes && that_present_analyzerSubTypes))
+        return false;
+      if (!this.analyzerSubTypes.equals(that.analyzerSubTypes))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  public int compareTo(AnalyzerType other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    AnalyzerType typedOther = (AnalyzerType)other;
+
+    lastComparison = Boolean.valueOf(isSetFieldName()).compareTo(typedOther.isSetFieldName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetFieldName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fieldName, typedOther.fieldName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetClassDefinition()).compareTo(typedOther.isSetClassDefinition());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetClassDefinition()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.classDefinition, typedOther.classDefinition);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetAnalyzerSubTypes()).compareTo(typedOther.isSetAnalyzerSubTypes());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetAnalyzerSubTypes()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.analyzerSubTypes, typedOther.analyzerSubTypes);
+      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("AnalyzerType(");
+    boolean first = true;
+
+    sb.append("fieldName:");
+    if (this.fieldName == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.fieldName);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("classDefinition:");
+    if (this.classDefinition == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.classDefinition);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("analyzerSubTypes:");
+    if (this.analyzerSubTypes == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.analyzerSubTypes);
+    }
+    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 (classDefinition != null) {
+      classDefinition.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 AnalyzerTypeStandardSchemeFactory implements SchemeFactory {
+    public AnalyzerTypeStandardScheme getScheme() {
+      return new AnalyzerTypeStandardScheme();
+    }
+  }
+
+  private static class AnalyzerTypeStandardScheme extends StandardScheme<AnalyzerType> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, AnalyzerType 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: // FIELD_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.fieldName = iprot.readString();
+              struct.setFieldNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // CLASS_DEFINITION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.classDefinition = new ClassDefinition();
+              struct.classDefinition.read(iprot);
+              struct.setClassDefinitionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // ANALYZER_SUB_TYPES
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list38 = iprot.readListBegin();
+                struct.analyzerSubTypes = new ArrayList<AnalyzerSubType>(_list38.size);
+                for (int _i39 = 0; _i39 < _list38.size; ++_i39)
+                {
+                  AnalyzerSubType _elem40; // required
+                  _elem40 = new AnalyzerSubType();
+                  _elem40.read(iprot);
+                  struct.analyzerSubTypes.add(_elem40);
+                }
+                iprot.readListEnd();
+              }
+              struct.setAnalyzerSubTypesIsSet(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, AnalyzerType struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.fieldName != null) {
+        oprot.writeFieldBegin(FIELD_NAME_FIELD_DESC);
+        oprot.writeString(struct.fieldName);
+        oprot.writeFieldEnd();
+      }
+      if (struct.classDefinition != null) {
+        oprot.writeFieldBegin(CLASS_DEFINITION_FIELD_DESC);
+        struct.classDefinition.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      if (struct.analyzerSubTypes != null) {
+        oprot.writeFieldBegin(ANALYZER_SUB_TYPES_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.analyzerSubTypes.size()));
+          for (AnalyzerSubType _iter41 : struct.analyzerSubTypes)
+          {
+            _iter41.write(oprot);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class AnalyzerTypeTupleSchemeFactory implements SchemeFactory {
+    public AnalyzerTypeTupleScheme getScheme() {
+      return new AnalyzerTypeTupleScheme();
+    }
+  }
+
+  private static class AnalyzerTypeTupleScheme extends TupleScheme<AnalyzerType> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, AnalyzerType struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetFieldName()) {
+        optionals.set(0);
+      }
+      if (struct.isSetClassDefinition()) {
+        optionals.set(1);
+      }
+      if (struct.isSetAnalyzerSubTypes()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetFieldName()) {
+        oprot.writeString(struct.fieldName);
+      }
+      if (struct.isSetClassDefinition()) {
+        struct.classDefinition.write(oprot);
+      }
+      if (struct.isSetAnalyzerSubTypes()) {
+        {
+          oprot.writeI32(struct.analyzerSubTypes.size());
+          for (AnalyzerSubType _iter42 : struct.analyzerSubTypes)
+          {
+            _iter42.write(oprot);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, AnalyzerType struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(3);
+      if (incoming.get(0)) {
+        struct.fieldName = iprot.readString();
+        struct.setFieldNameIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.classDefinition = new ClassDefinition();
+        struct.classDefinition.read(iprot);
+        struct.setClassDefinitionIsSet(true);
+      }
+      if (incoming.get(2)) {
+        {
+          org.apache.thrift.protocol.TList _list43 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.analyzerSubTypes = new ArrayList<AnalyzerSubType>(_list43.size);
+          for (int _i44 = 0; _i44 < _list43.size; ++_i44)
+          {
+            AnalyzerSubType _elem45; // required
+            _elem45 = new AnalyzerSubType();
+            _elem45.read(iprot);
+            struct.analyzerSubTypes.add(_elem45);
+          }
+        }
+        struct.setAnalyzerSubTypesIsSet(true);
+      }
+    }
+  }
+
+}
+


Mime
View raw message