You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ns...@apache.org on 2011/10/11 19:43:32 UTC

svn commit: r1181946 [3/3] - in /hbase/branches/0.89/src/main: java/org/apache/hadoop/hbase/thrift/ java/org/apache/hadoop/hbase/thrift/generated/ resources/org/apache/hadoop/hbase/thrift/

Added: hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java?rev=1181946&view=auto
==============================================================================
--- hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java (added)
+++ hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java Tue Oct 11 17:43:31 2011
@@ -0,0 +1,796 @@
+/**
+ * Autogenerated by Thrift
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ */
+package org.apache.hadoop.hbase.thrift.generated;
+
+import org.apache.commons.lang.builder.HashCodeBuilder;
+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.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.thrift.*;
+import org.apache.thrift.meta_data.*;
+import org.apache.thrift.protocol.*;
+
+/**
+ * A Scan object is used to specify scanner parameters when opening a scanner.
+ */
+public class TScan implements TBase<TScan._Fields>, java.io.Serializable, Cloneable, Comparable<TScan> {
+  private static final TStruct STRUCT_DESC = new TStruct("TScan");
+
+  private static final TField START_ROW_FIELD_DESC = new TField("startRow", TType.STRING, (short)1);
+  private static final TField STOP_ROW_FIELD_DESC = new TField("stopRow", TType.STRING, (short)2);
+  private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)3);
+  private static final TField COLUMNS_FIELD_DESC = new TField("columns", TType.LIST, (short)4);
+  private static final TField CACHING_FIELD_DESC = new TField("caching", TType.I32, (short)5);
+  private static final TField FILTER_STRING_FIELD_DESC = new TField("filterString", TType.STRING, (short)6);
+
+  public byte[] startRow;
+  public byte[] stopRow;
+  public long timestamp;
+  public List<byte[]> columns;
+  public int caching;
+  public byte[] filterString;
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements TFieldIdEnum {
+    START_ROW((short)1, "startRow"),
+    STOP_ROW((short)2, "stopRow"),
+    TIMESTAMP((short)3, "timestamp"),
+    COLUMNS((short)4, "columns"),
+    CACHING((short)5, "caching"),
+    FILTER_STRING((short)6, "filterString");
+
+    private static final Map<Integer, _Fields> byId = new HashMap<Integer, _Fields>();
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byId.put((int)field._thriftId, field);
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      return byId.get(fieldId);
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final int __TIMESTAMP_ISSET_ID = 0;
+  private static final int __CACHING_ISSET_ID = 1;
+  private BitSet __isset_bit_vector = new BitSet(2);
+
+  public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{
+    put(_Fields.START_ROW, new FieldMetaData("startRow", TFieldRequirementType.OPTIONAL,
+        new FieldValueMetaData(TType.STRING)));
+    put(_Fields.STOP_ROW, new FieldMetaData("stopRow", TFieldRequirementType.OPTIONAL,
+        new FieldValueMetaData(TType.STRING)));
+    put(_Fields.TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.OPTIONAL,
+        new FieldValueMetaData(TType.I64)));
+    put(_Fields.COLUMNS, new FieldMetaData("columns", TFieldRequirementType.OPTIONAL,
+        new ListMetaData(TType.LIST,
+            new FieldValueMetaData(TType.STRING))));
+    put(_Fields.CACHING, new FieldMetaData("caching", TFieldRequirementType.OPTIONAL,
+        new FieldValueMetaData(TType.I32)));
+    put(_Fields.FILTER_STRING, new FieldMetaData("filterString", TFieldRequirementType.OPTIONAL,
+        new FieldValueMetaData(TType.STRING)));
+  }});
+
+  static {
+    FieldMetaData.addStructMetaDataMap(TScan.class, metaDataMap);
+  }
+
+  public TScan() {
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public TScan(TScan other) {
+    __isset_bit_vector.clear();
+    __isset_bit_vector.or(other.__isset_bit_vector);
+    if (other.isSetStartRow()) {
+      this.startRow = other.startRow;
+    }
+    if (other.isSetStopRow()) {
+      this.stopRow = other.stopRow;
+    }
+    this.timestamp = other.timestamp;
+    if (other.isSetColumns()) {
+      List<byte[]> __this__columns = new ArrayList<byte[]>();
+      for (byte[] other_element : other.columns) {
+        __this__columns.add(other_element);
+      }
+      this.columns = __this__columns;
+    }
+    this.caching = other.caching;
+    if (other.isSetFilterString()) {
+      this.filterString = other.filterString;
+    }
+  }
+
+  public TScan deepCopy() {
+    return new TScan(this);
+  }
+
+  @Deprecated
+  public TScan clone() {
+    return new TScan(this);
+  }
+
+  public byte[] getStartRow() {
+    return this.startRow;
+  }
+
+  public TScan setStartRow(byte[] startRow) {
+    this.startRow = startRow;
+    return this;
+  }
+
+  public void unsetStartRow() {
+    this.startRow = null;
+  }
+
+  /** Returns true if field startRow is set (has been asigned a value) and false otherwise */
+  public boolean isSetStartRow() {
+    return this.startRow != null;
+  }
+
+  public void setStartRowIsSet(boolean value) {
+    if (!value) {
+      this.startRow = null;
+    }
+  }
+
+  public byte[] getStopRow() {
+    return this.stopRow;
+  }
+
+  public TScan setStopRow(byte[] stopRow) {
+    this.stopRow = stopRow;
+    return this;
+  }
+
+  public void unsetStopRow() {
+    this.stopRow = null;
+  }
+
+  /** Returns true if field stopRow is set (has been asigned a value) and false otherwise */
+  public boolean isSetStopRow() {
+    return this.stopRow != null;
+  }
+
+  public void setStopRowIsSet(boolean value) {
+    if (!value) {
+      this.stopRow = null;
+    }
+  }
+
+  public long getTimestamp() {
+    return this.timestamp;
+  }
+
+  public TScan setTimestamp(long timestamp) {
+    this.timestamp = timestamp;
+    setTimestampIsSet(true);
+    return this;
+  }
+
+  public void unsetTimestamp() {
+    __isset_bit_vector.clear(__TIMESTAMP_ISSET_ID);
+  }
+
+  /** Returns true if field timestamp is set (has been asigned a value) and false otherwise */
+  public boolean isSetTimestamp() {
+    return __isset_bit_vector.get(__TIMESTAMP_ISSET_ID);
+  }
+
+  public void setTimestampIsSet(boolean value) {
+    __isset_bit_vector.set(__TIMESTAMP_ISSET_ID, value);
+  }
+
+  public int getColumnsSize() {
+    return (this.columns == null) ? 0 : this.columns.size();
+  }
+
+  public java.util.Iterator<byte[]> getColumnsIterator() {
+    return (this.columns == null) ? null : this.columns.iterator();
+  }
+
+  public void addToColumns(byte[] elem) {
+    if (this.columns == null) {
+      this.columns = new ArrayList<byte[]>();
+    }
+    this.columns.add(elem);
+  }
+
+  public List<byte[]> getColumns() {
+    return this.columns;
+  }
+
+  public TScan setColumns(List<byte[]> columns) {
+    this.columns = columns;
+    return this;
+  }
+
+  public void unsetColumns() {
+    this.columns = null;
+  }
+
+  /** Returns true if field columns is set (has been asigned a value) and false otherwise */
+  public boolean isSetColumns() {
+    return this.columns != null;
+  }
+
+  public void setColumnsIsSet(boolean value) {
+    if (!value) {
+      this.columns = null;
+    }
+  }
+
+  public int getCaching() {
+    return this.caching;
+  }
+
+  public TScan setCaching(int caching) {
+    this.caching = caching;
+    setCachingIsSet(true);
+    return this;
+  }
+
+  public void unsetCaching() {
+    __isset_bit_vector.clear(__CACHING_ISSET_ID);
+  }
+
+  /** Returns true if field caching is set (has been asigned a value) and false otherwise */
+  public boolean isSetCaching() {
+    return __isset_bit_vector.get(__CACHING_ISSET_ID);
+  }
+
+  public void setCachingIsSet(boolean value) {
+    __isset_bit_vector.set(__CACHING_ISSET_ID, value);
+  }
+
+  public byte[] getFilterString() {
+    return this.filterString;
+  }
+
+  public TScan setFilterString(byte[] filterString) {
+    this.filterString = filterString;
+    return this;
+  }
+
+  public void unsetFilterString() {
+    this.filterString = null;
+  }
+
+  /** Returns true if field filterString is set (has been asigned a value) and false otherwise */
+  public boolean isSetFilterString() {
+    return this.filterString != null;
+  }
+
+  public void setFilterStringIsSet(boolean value) {
+    if (!value) {
+      this.filterString = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case START_ROW:
+      if (value == null) {
+        unsetStartRow();
+      } else {
+        setStartRow((byte[])value);
+      }
+      break;
+
+    case STOP_ROW:
+      if (value == null) {
+        unsetStopRow();
+      } else {
+        setStopRow((byte[])value);
+      }
+      break;
+
+    case TIMESTAMP:
+      if (value == null) {
+        unsetTimestamp();
+      } else {
+        setTimestamp((Long)value);
+      }
+      break;
+
+    case COLUMNS:
+      if (value == null) {
+        unsetColumns();
+      } else {
+        setColumns((List<byte[]>)value);
+      }
+      break;
+
+    case CACHING:
+      if (value == null) {
+        unsetCaching();
+      } else {
+        setCaching((Integer)value);
+      }
+      break;
+
+    case FILTER_STRING:
+      if (value == null) {
+        unsetFilterString();
+      } else {
+        setFilterString((byte[])value);
+      }
+      break;
+
+    }
+  }
+
+  public void setFieldValue(int fieldID, Object value) {
+    setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value);
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case START_ROW:
+      return getStartRow();
+
+    case STOP_ROW:
+      return getStopRow();
+
+    case TIMESTAMP:
+      return new Long(getTimestamp());
+
+    case COLUMNS:
+      return getColumns();
+
+    case CACHING:
+      return new Integer(getCaching());
+
+    case FILTER_STRING:
+      return getFilterString();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  public Object getFieldValue(int fieldId) {
+    return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId));
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    switch (field) {
+    case START_ROW:
+      return isSetStartRow();
+    case STOP_ROW:
+      return isSetStopRow();
+    case TIMESTAMP:
+      return isSetTimestamp();
+    case COLUMNS:
+      return isSetColumns();
+    case CACHING:
+      return isSetCaching();
+    case FILTER_STRING:
+      return isSetFilterString();
+    }
+    throw new IllegalStateException();
+  }
+
+  public boolean isSet(int fieldID) {
+    return isSet(_Fields.findByThriftIdOrThrow(fieldID));
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof TScan)
+      return this.equals((TScan)that);
+    return false;
+  }
+
+  public boolean equals(TScan that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_startRow = true && this.isSetStartRow();
+    boolean that_present_startRow = true && that.isSetStartRow();
+    if (this_present_startRow || that_present_startRow) {
+      if (!(this_present_startRow && that_present_startRow))
+        return false;
+      if (!java.util.Arrays.equals(this.startRow, that.startRow))
+        return false;
+    }
+
+    boolean this_present_stopRow = true && this.isSetStopRow();
+    boolean that_present_stopRow = true && that.isSetStopRow();
+    if (this_present_stopRow || that_present_stopRow) {
+      if (!(this_present_stopRow && that_present_stopRow))
+        return false;
+      if (!java.util.Arrays.equals(this.stopRow, that.stopRow))
+        return false;
+    }
+
+    boolean this_present_timestamp = true && this.isSetTimestamp();
+    boolean that_present_timestamp = true && that.isSetTimestamp();
+    if (this_present_timestamp || that_present_timestamp) {
+      if (!(this_present_timestamp && that_present_timestamp))
+        return false;
+      if (this.timestamp != that.timestamp)
+        return false;
+    }
+
+    boolean this_present_columns = true && this.isSetColumns();
+    boolean that_present_columns = true && that.isSetColumns();
+    if (this_present_columns || that_present_columns) {
+      if (!(this_present_columns && that_present_columns))
+        return false;
+      if (!this.columns.equals(that.columns))
+        return false;
+    }
+
+    boolean this_present_caching = true && this.isSetCaching();
+    boolean that_present_caching = true && that.isSetCaching();
+    if (this_present_caching || that_present_caching) {
+      if (!(this_present_caching && that_present_caching))
+        return false;
+      if (this.caching != that.caching)
+        return false;
+    }
+
+    boolean this_present_filterString = true && this.isSetFilterString();
+    boolean that_present_filterString = true && that.isSetFilterString();
+    if (this_present_filterString || that_present_filterString) {
+      if (!(this_present_filterString && that_present_filterString))
+        return false;
+      if (!java.util.Arrays.equals(this.filterString, that.filterString))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    HashCodeBuilder builder = new HashCodeBuilder();
+
+    boolean present_startRow = true && (isSetStartRow());
+    builder.append(present_startRow);
+    if (present_startRow)
+      builder.append(startRow);
+
+    boolean present_stopRow = true && (isSetStopRow());
+    builder.append(present_stopRow);
+    if (present_stopRow)
+      builder.append(stopRow);
+
+    boolean present_timestamp = true && (isSetTimestamp());
+    builder.append(present_timestamp);
+    if (present_timestamp)
+      builder.append(timestamp);
+
+    boolean present_columns = true && (isSetColumns());
+    builder.append(present_columns);
+    if (present_columns)
+      builder.append(columns);
+
+    boolean present_caching = true && (isSetCaching());
+    builder.append(present_caching);
+    if (present_caching)
+      builder.append(caching);
+
+    boolean present_filterString = true && (isSetFilterString());
+    builder.append(present_filterString);
+    if (present_filterString)
+      builder.append(filterString);
+
+    return builder.toHashCode();
+  }
+
+  public int compareTo(TScan other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    TScan typedOther = (TScan)other;
+
+    lastComparison = Boolean.valueOf(isSetStartRow()).compareTo(isSetStartRow());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    lastComparison = TBaseHelper.compareTo(startRow, typedOther.startRow);
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    lastComparison = Boolean.valueOf(isSetStopRow()).compareTo(isSetStopRow());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    lastComparison = TBaseHelper.compareTo(stopRow, typedOther.stopRow);
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    lastComparison = Boolean.valueOf(isSetTimestamp()).compareTo(isSetTimestamp());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    lastComparison = TBaseHelper.compareTo(timestamp, typedOther.timestamp);
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    lastComparison = Boolean.valueOf(isSetColumns()).compareTo(isSetColumns());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    lastComparison = TBaseHelper.compareTo(columns, typedOther.columns);
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    lastComparison = Boolean.valueOf(isSetCaching()).compareTo(isSetCaching());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    lastComparison = TBaseHelper.compareTo(caching, typedOther.caching);
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    lastComparison = Boolean.valueOf(isSetFilterString()).compareTo(isSetFilterString());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    lastComparison = TBaseHelper.compareTo(filterString, typedOther.filterString);
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    return 0;
+  }
+
+  public void read(TProtocol iprot) throws TException {
+    TField field;
+    iprot.readStructBegin();
+    while (true)
+    {
+      field = iprot.readFieldBegin();
+      if (field.type == TType.STOP) {
+        break;
+      }
+      _Fields fieldId = _Fields.findByThriftId(field.id);
+      if (fieldId == null) {
+        TProtocolUtil.skip(iprot, field.type);
+      } else {
+        switch (fieldId) {
+          case START_ROW:
+            if (field.type == TType.STRING) {
+              this.startRow = iprot.readBinary();
+            } else {
+              TProtocolUtil.skip(iprot, field.type);
+            }
+            break;
+          case STOP_ROW:
+            if (field.type == TType.STRING) {
+              this.stopRow = iprot.readBinary();
+            } else {
+              TProtocolUtil.skip(iprot, field.type);
+            }
+            break;
+          case TIMESTAMP:
+            if (field.type == TType.I64) {
+              this.timestamp = iprot.readI64();
+              setTimestampIsSet(true);
+            } else {
+              TProtocolUtil.skip(iprot, field.type);
+            }
+            break;
+          case COLUMNS:
+            if (field.type == TType.LIST) {
+              {
+                TList _list9 = iprot.readListBegin();
+                this.columns = new ArrayList<byte[]>(_list9.size);
+                for (int _i10 = 0; _i10 < _list9.size; ++_i10)
+                {
+                  byte[] _elem11;
+                  _elem11 = iprot.readBinary();
+                  this.columns.add(_elem11);
+                }
+                iprot.readListEnd();
+              }
+            } else {
+              TProtocolUtil.skip(iprot, field.type);
+            }
+            break;
+          case CACHING:
+            if (field.type == TType.I32) {
+              this.caching = iprot.readI32();
+              setCachingIsSet(true);
+            } else {
+              TProtocolUtil.skip(iprot, field.type);
+            }
+            break;
+          case FILTER_STRING:
+            if (field.type == TType.STRING) {
+              this.filterString = iprot.readBinary();
+            } else {
+              TProtocolUtil.skip(iprot, field.type);
+            }
+            break;
+        }
+        iprot.readFieldEnd();
+      }
+    }
+    iprot.readStructEnd();
+
+    // check for required fields of primitive type, which can't be checked in the validate method
+    validate();
+  }
+
+  public void write(TProtocol oprot) throws TException {
+    validate();
+
+    oprot.writeStructBegin(STRUCT_DESC);
+    if (this.startRow != null) {
+      if (isSetStartRow()) {
+        oprot.writeFieldBegin(START_ROW_FIELD_DESC);
+        oprot.writeBinary(this.startRow);
+        oprot.writeFieldEnd();
+      }
+    }
+    if (this.stopRow != null) {
+      if (isSetStopRow()) {
+        oprot.writeFieldBegin(STOP_ROW_FIELD_DESC);
+        oprot.writeBinary(this.stopRow);
+        oprot.writeFieldEnd();
+      }
+    }
+    if (isSetTimestamp()) {
+      oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC);
+      oprot.writeI64(this.timestamp);
+      oprot.writeFieldEnd();
+    }
+    if (this.columns != null) {
+      if (isSetColumns()) {
+        oprot.writeFieldBegin(COLUMNS_FIELD_DESC);
+        {
+          oprot.writeListBegin(new TList(TType.STRING, this.columns.size()));
+          for (byte[] _iter12 : this.columns)
+          {
+            oprot.writeBinary(_iter12);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+    }
+    if (isSetCaching()) {
+      oprot.writeFieldBegin(CACHING_FIELD_DESC);
+      oprot.writeI32(this.caching);
+      oprot.writeFieldEnd();
+    }
+    if (this.filterString != null) {
+      if (isSetFilterString()) {
+        oprot.writeFieldBegin(FILTER_STRING_FIELD_DESC);
+        oprot.writeBinary(this.filterString);
+        oprot.writeFieldEnd();
+      }
+    }
+    oprot.writeFieldStop();
+    oprot.writeStructEnd();
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("TScan(");
+    boolean first = true;
+
+    if (isSetStartRow()) {
+      sb.append("startRow:");
+      if (this.startRow == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.startRow);
+      }
+      first = false;
+    }
+    if (isSetStopRow()) {
+      if (!first) sb.append(", ");
+      sb.append("stopRow:");
+      if (this.stopRow == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.stopRow);
+      }
+      first = false;
+    }
+    if (isSetTimestamp()) {
+      if (!first) sb.append(", ");
+      sb.append("timestamp:");
+      sb.append(this.timestamp);
+      first = false;
+    }
+    if (isSetColumns()) {
+      if (!first) sb.append(", ");
+      sb.append("columns:");
+      if (this.columns == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.columns);
+      }
+      first = false;
+    }
+    if (isSetCaching()) {
+      if (!first) sb.append(", ");
+      sb.append("caching:");
+      sb.append(this.caching);
+      first = false;
+    }
+    if (isSetFilterString()) {
+      if (!first) sb.append(", ");
+      sb.append("filterString:");
+      if (this.filterString == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.filterString);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws TException {
+    // check for required fields
+  }
+
+}

Modified: hbase/branches/0.89/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift
URL: http://svn.apache.org/viewvc/hbase/branches/0.89/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?rev=1181946&r1=1181945&r2=1181946&view=diff
==============================================================================
--- hbase/branches/0.89/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift (original)
+++ hbase/branches/0.89/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift Tue Oct 11 17:43:31 2011
@@ -51,9 +51,9 @@ typedef binary Bytes
 typedef i32    ScannerID
 
 /**
- * TCell - Used to transport a cell value (byte[]) and the timestamp it was 
+ * TCell - Used to transport a cell value (byte[]) and the timestamp it was
  * stored with together as a result for get and getRow methods. This promotes
- * the timestamp of a cell to a first-class value, making it easy to take 
+ * the timestamp of a cell to a first-class value, making it easy to take
  * note of temporal data. Cell is used all the way from HStore up to HTable.
  */
 struct TCell{
@@ -86,7 +86,7 @@ struct TRegionInfo {
   2:Text endKey,
   3:i64 id,
   4:Text name,
-  5:byte version 
+  5:byte version
 }
 
 /**
@@ -109,13 +109,25 @@ struct BatchMutation {
 
 
 /**
- * Holds row name and then a map of columns to cells. 
+ * Holds row name and then a map of columns to cells.
  */
 struct TRowResult {
   1:Text row,
   2:map<Text, TCell> columns
 }
 
+/**
+ * A Scan object is used to specify scanner parameters when opening a scanner.
+ */
+struct TScan {
+  1:optional Text startRow,
+  2:optional Text stopRow,
+  3:optional i64 timestamp,
+  4:optional list<Text> columns,
+  5:optional i32 caching,
+  6:optional Text filterString
+}
+
 //
 // Exceptions
 //
@@ -145,7 +157,7 @@ exception AlreadyExists {
 }
 
 //
-// Service 
+// Service
 //
 
 service Hbase {
@@ -156,7 +168,7 @@ service Hbase {
     /** name of the table */
     1:Bytes tableName
   ) throws (1:IOError io)
-    
+
   /**
    * Disables a table (takes it off-line) If it is being served, the master
    * will tell the servers to stop serving it.
@@ -173,13 +185,13 @@ service Hbase {
     /** name of the table to check */
     1:Bytes tableName
   ) throws (1:IOError io)
-    
+
   void compact(1:Bytes tableNameOrRegionName)
     throws (1:IOError io)
-  
+
   void majorCompact(1:Bytes tableNameOrRegionName)
     throws (1:IOError io)
-    
+
   /**
    * List all the userspace tables.
    *
@@ -237,7 +249,7 @@ service Hbase {
     1:Text tableName
   ) throws (1:IOError io)
 
-  /** 
+  /**
    * Get a single TCell for the specified table, row, and column at the
    * latest timestamp. Returns an empty list if no such value exists.
    *
@@ -254,7 +266,7 @@ service Hbase {
     3:Text column
   ) throws (1:IOError io)
 
-  /** 
+  /**
    * Get the specified number of versions for the specified table,
    * row, and column.
    *
@@ -274,7 +286,7 @@ service Hbase {
     4:i32 numVersions
   ) throws (1:IOError io)
 
-  /** 
+  /**
    * Get the specified number of versions for the specified table,
    * row, and column.  Only versions less than or equal to the specified
    * timestamp will be returned.
@@ -298,10 +310,10 @@ service Hbase {
     5:i32 numVersions
   ) throws (1:IOError io)
 
-  /** 
+  /**
    * Get all the data for the specified table and row at the latest
    * timestamp. Returns an empty list if the row does not exist.
-   * 
+   *
    * @return TRowResult containing the row and map of columns to TCells
    */
   list<TRowResult> getRow(
@@ -312,10 +324,10 @@ service Hbase {
     2:Text row
   ) throws (1:IOError io)
 
-  /** 
+  /**
    * Get the specified columns for the specified table and row at the latest
    * timestamp. Returns an empty list if the row does not exist.
-   * 
+   *
    * @return TRowResult containing the row and map of columns to TCells
    */
   list<TRowResult> getRowWithColumns(
@@ -329,10 +341,10 @@ service Hbase {
     3:list<Text> columns
   ) throws (1:IOError io)
 
-  /** 
+  /**
    * Get all the data for the specified table and row at the specified
    * timestamp. Returns an empty list if the row does not exist.
-   * 
+   *
    * @return TRowResult containing the row and map of columns to TCells
    */
   list<TRowResult> getRowTs(
@@ -345,11 +357,11 @@ service Hbase {
     /** timestamp */
     3:i64 timestamp
   ) throws (1:IOError io)
-    
-  /** 
+
+  /**
    * Get the specified columns for the specified table and row at the specified
    * timestamp. Returns an empty list if the row does not exist.
-   * 
+   *
    * @return TRowResult containing the row and map of columns to TCells
    */
   list<TRowResult> getRowWithColumnsTs(
@@ -364,7 +376,7 @@ service Hbase {
     4:i64 timestamp
   ) throws (1:IOError io)
 
-  /** 
+  /**
    * Apply a series of mutations (updates/deletes) to a row in a
    * single transaction.  If an exception is thrown, then the
    * transaction is aborted.  Default current timestamp is used, and
@@ -381,7 +393,7 @@ service Hbase {
     3:list<Mutation> mutations
   ) throws (1:IOError io, 2:IllegalArgument ia)
 
-  /** 
+  /**
    * Apply a series of mutations (updates/deletes) to a row in a
    * single transaction.  If an exception is thrown, then the
    * transaction is aborted.  The specified timestamp is used, and
@@ -401,7 +413,7 @@ service Hbase {
     4:i64 timestamp
   ) throws (1:IOError io, 2:IllegalArgument ia)
 
-  /** 
+  /**
    * Apply a series of batches (each a series of mutations on a single row)
    * in a single transaction.  If an exception is thrown, then the
    * transaction is aborted.  Default current timestamp is used, and
@@ -415,7 +427,7 @@ service Hbase {
     2:list<BatchMutation> rowBatches
   ) throws (1:IOError io, 2:IllegalArgument ia)
 
-  /** 
+  /**
    * Apply a series of batches (each a series of mutations on a single row)
    * in a single transaction.  If an exception is thrown, then the
    * transaction is aborted.  The specified timestamp is used, and
@@ -448,8 +460,8 @@ service Hbase {
     /** amount to increment by */
     4:i64 value
   ) throws (1:IOError io, 2:IllegalArgument ia)
-    
-  /** 
+
+  /**
    * Delete all cells that match the passed row and column.
    */
   void deleteAll(
@@ -463,7 +475,7 @@ service Hbase {
     3:Text column
   ) throws (1:IOError io)
 
-  /** 
+  /**
    * Delete all cells that match the passed row and column and whose
    * timestamp is equal-to or older than the passed timestamp.
    */
@@ -507,7 +519,7 @@ service Hbase {
     3:i64 timestamp
   ) throws (1:IOError io)
 
-  /** 
+  /**
    * Get a scanner on the current table starting at the specified row and
    * ending at the last row in the table.  Return the specified columns.
    *
@@ -531,7 +543,19 @@ service Hbase {
     3:list<Text> columns
   ) throws (1:IOError io)
 
-  /** 
+  /**
+   * Get a scanner on the current table, using the Scan instance
+   * for the scan parameters.
+   */
+  ScannerID scannerOpenWithScan(
+    /** name of table */
+    1:Text tableName,
+
+    /** Scan instance */
+    2:TScan scan
+  ) throws (1:IOError io)
+
+  /**
    * Get a scanner on the current table starting and stopping at the
    * specified rows.  ending at the last row in the table.  Return the
    * specified columns.
@@ -579,7 +603,7 @@ service Hbase {
     3:list<Text> columns
   ) throws (1:IOError io)
 
-  /** 
+  /**
    * Get a scanner on the current table starting at the specified row and
    * ending at the last row in the table.  Return the specified columns.
    * Only values with the specified timestamp are returned.
@@ -607,7 +631,7 @@ service Hbase {
     4:i64 timestamp
   ) throws (1:IOError io)
 
-  /** 
+  /**
    * Get a scanner on the current table starting and stopping at the
    * specified rows.  ending at the last row in the table.  Return the
    * specified columns.  Only values with the specified timestamp are
@@ -643,6 +667,122 @@ service Hbase {
   ) throws (1:IOError io)
 
   /**
+   * Get a scanner on the current table starting at the first row and
+   * ending at the last row in the table.  Return the specified columns.
+   *
+   * Return the specified columns that pass the filter constructed
+   * by the filterString
+   *
+   * @return scanner id to be used with other scanner procedures
+   */
+  ScannerID scannerOpenWithFilterString(
+    /** name of table */
+    1:Text tableName,
+
+    /**
+     * Filter string
+     */
+    2:Text filterString
+
+  ) throws (1:IOError io)
+
+  /**
+   * Get a scanner on the current table starting at the first row and
+   * ending at the last row in the table.
+   *
+   * Return the specified columns that pass the filter constructed
+   * by the filterString
+   *
+   * The timestamp of the keyvalue must also be within the specified timestamp
+   * No other columns will be returned.
+   *
+   * @return scanner id to be used with other scanner procedures
+   */
+  ScannerID scannerOpenWithFilterStringTs(
+    /** name of table */
+    1:Text tableName,
+
+    /**
+     * Filter string
+     */
+    2:Text filterString
+
+   /** timestamp */
+    3:i64 timestamp
+
+  ) throws (1:IOError io)
+
+  /**
+   * Get a scanner on the current table starting and stopping at the
+   * specified rows.
+   *
+   * Return the specified columns that pass the filter constructed
+   * by the filterString
+   *
+   * @return scanner id to be used with other scanner procedures
+   */
+  ScannerID scannerOpenWithStopAndFilterString(
+    /** name of table */
+    1:Text tableName,
+
+    /**
+     * Starting row in table to scan.
+     * Send "" (empty string) to start at the first row.
+     */
+    2:Text startRow,
+
+    /**
+     * row to stop scanning on. This row is *not* included in the
+     * scanner's results.
+     * Send "" (empty string) to end at the last row.
+     */
+    3:Text stopRow,
+
+    /**
+     * Filter string
+     */
+    4:Text filterString
+  ) throws (1:IOError io)
+
+  /**
+   * Get a scanner on the current table starting and stopping at the
+   * specified rows.
+   *
+   * Return the specified columns that pass the filter constructed
+   * by the filterString
+   *
+   * The timestamp of the keyvalue must also be within the specified timestamp
+   * No other columns will be returned.
+   *
+   * @return scanner id to be used with other scanner procedures
+   */
+  ScannerID scannerOpenWithStopAndFilterStringTs(
+    /** name of table */
+    1:Text tableName,
+
+    /**
+     * Starting row in table to scan.
+     * Send "" (empty string) to start at the first row.
+     */
+    2:Text startRow,
+
+    /**
+     * row to stop scanning on. This row is *not* included in the
+     * scanner's results.
+     * Send "" (empty string) to end at the last row.
+     */
+    3:Text stopRow,
+
+    /**
+     * Filter string
+     */
+    4:Text filterString
+
+   /** timestamp */
+    6:i64 timestamp
+  ) throws (1:IOError io)
+
+  /**
    * Returns the scanner's current row value and advances to the next
    * row in the table.  When there are no more rows in the table, or a key
    * greater-than-or-equal-to the scanner's specified stopRow is reached,
@@ -661,8 +801,8 @@ service Hbase {
 
   /**
    * Returns, starting at the scanner's current row value nbRows worth of
-   * rows and advances to the next row in the table.  When there are no more 
-   * rows in the table, or a key greater-than-or-equal-to the scanner's 
+   * rows and advances to the next row in the table.  When there are no more
+   * rows in the table, or a key greater-than-or-equal-to the scanner's
    * specified stopRow is reached,  an empty list is returned.
    *
    * @return a TRowResult containing the current row and a map of the columns to TCells.