| /** |
| * Autogenerated by Thrift |
| * |
| * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING |
| */ |
| package backtype.storm.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.async.*; |
| import org.apache.thrift.meta_data.*; |
| import org.apache.thrift.transport.*; |
| import org.apache.thrift.protocol.*; |
| |
| public class StreamInfo implements TBase<StreamInfo, StreamInfo._Fields>, java.io.Serializable, Cloneable { |
| private static final TStruct STRUCT_DESC = new TStruct("StreamInfo"); |
| |
| private static final TField OUTPUT_FIELDS_FIELD_DESC = new TField("output_fields", TType.LIST, (short)1); |
| private static final TField DIRECT_FIELD_DESC = new TField("direct", TType.BOOL, (short)2); |
| |
| private List<String> output_fields; |
| private boolean direct; |
| |
| /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ |
| public enum _Fields implements TFieldIdEnum { |
| OUTPUT_FIELDS((short)1, "output_fields"), |
| DIRECT((short)2, "direct"); |
| |
| 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: // OUTPUT_FIELDS |
| return OUTPUT_FIELDS; |
| case 2: // DIRECT |
| return DIRECT; |
| default: |
| return null; |
| } |
| } |
| |
| /** |
| * Find the _Fields constant that matches fieldId, throwing an exception |
| * if it is not found. |
| */ |
| public static _Fields findByThriftIdOrThrow(int fieldId) { |
| _Fields fields = findByThriftId(fieldId); |
| if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); |
| return fields; |
| } |
| |
| /** |
| * Find the _Fields constant that matches name, or null if its not found. |
| */ |
| public static _Fields findByName(String name) { |
| return byName.get(name); |
| } |
| |
| private final short _thriftId; |
| private final String _fieldName; |
| |
| _Fields(short thriftId, String fieldName) { |
| _thriftId = thriftId; |
| _fieldName = fieldName; |
| } |
| |
| public short getThriftFieldId() { |
| return _thriftId; |
| } |
| |
| public String getFieldName() { |
| return _fieldName; |
| } |
| } |
| |
| // isset id assignments |
| private static final int __DIRECT_ISSET_ID = 0; |
| private BitSet __isset_bit_vector = new BitSet(1); |
| |
| public static final Map<_Fields, FieldMetaData> metaDataMap; |
| static { |
| Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); |
| tmpMap.put(_Fields.OUTPUT_FIELDS, new FieldMetaData("output_fields", TFieldRequirementType.REQUIRED, |
| new ListMetaData(TType.LIST, |
| new FieldValueMetaData(TType.STRING)))); |
| tmpMap.put(_Fields.DIRECT, new FieldMetaData("direct", TFieldRequirementType.REQUIRED, |
| new FieldValueMetaData(TType.BOOL))); |
| metaDataMap = Collections.unmodifiableMap(tmpMap); |
| FieldMetaData.addStructMetaDataMap(StreamInfo.class, metaDataMap); |
| } |
| |
| public StreamInfo() { |
| } |
| |
| public StreamInfo( |
| List<String> output_fields, |
| boolean direct) |
| { |
| this(); |
| this.output_fields = output_fields; |
| this.direct = direct; |
| set_direct_isSet(true); |
| } |
| |
| /** |
| * Performs a deep copy on <i>other</i>. |
| */ |
| public StreamInfo(StreamInfo other) { |
| __isset_bit_vector.clear(); |
| __isset_bit_vector.or(other.__isset_bit_vector); |
| if (other.is_set_output_fields()) { |
| List<String> __this__output_fields = new ArrayList<String>(); |
| for (String other_element : other.output_fields) { |
| __this__output_fields.add(other_element); |
| } |
| this.output_fields = __this__output_fields; |
| } |
| this.direct = other.direct; |
| } |
| |
| public StreamInfo deepCopy() { |
| return new StreamInfo(this); |
| } |
| |
| @Deprecated |
| public StreamInfo clone() { |
| return new StreamInfo(this); |
| } |
| |
| public int get_output_fields_size() { |
| return (this.output_fields == null) ? 0 : this.output_fields.size(); |
| } |
| |
| public java.util.Iterator<String> get_output_fields_iterator() { |
| return (this.output_fields == null) ? null : this.output_fields.iterator(); |
| } |
| |
| public void add_to_output_fields(String elem) { |
| if (this.output_fields == null) { |
| this.output_fields = new ArrayList<String>(); |
| } |
| this.output_fields.add(elem); |
| } |
| |
| public List<String> get_output_fields() { |
| return this.output_fields; |
| } |
| |
| public void set_output_fields(List<String> output_fields) { |
| this.output_fields = output_fields; |
| } |
| |
| public void unset_output_fields() { |
| this.output_fields = null; |
| } |
| |
| /** Returns true if field output_fields is set (has been asigned a value) and false otherwise */ |
| public boolean is_set_output_fields() { |
| return this.output_fields != null; |
| } |
| |
| public void set_output_fields_isSet(boolean value) { |
| if (!value) { |
| this.output_fields = null; |
| } |
| } |
| |
| public boolean is_direct() { |
| return this.direct; |
| } |
| |
| public void set_direct(boolean direct) { |
| this.direct = direct; |
| set_direct_isSet(true); |
| } |
| |
| public void unset_direct() { |
| __isset_bit_vector.clear(__DIRECT_ISSET_ID); |
| } |
| |
| /** Returns true if field direct is set (has been asigned a value) and false otherwise */ |
| public boolean is_set_direct() { |
| return __isset_bit_vector.get(__DIRECT_ISSET_ID); |
| } |
| |
| public void set_direct_isSet(boolean value) { |
| __isset_bit_vector.set(__DIRECT_ISSET_ID, value); |
| } |
| |
| public void setFieldValue(_Fields field, Object value) { |
| switch (field) { |
| case OUTPUT_FIELDS: |
| if (value == null) { |
| unset_output_fields(); |
| } else { |
| set_output_fields((List<String>)value); |
| } |
| break; |
| |
| case DIRECT: |
| if (value == null) { |
| unset_direct(); |
| } else { |
| set_direct((Boolean)value); |
| } |
| break; |
| |
| } |
| } |
| |
| public void setFieldValue(int fieldID, Object value) { |
| setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value); |
| } |
| |
| public Object getFieldValue(_Fields field) { |
| switch (field) { |
| case OUTPUT_FIELDS: |
| return get_output_fields(); |
| |
| case DIRECT: |
| return new Boolean(is_direct()); |
| |
| } |
| 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 OUTPUT_FIELDS: |
| return is_set_output_fields(); |
| case DIRECT: |
| return is_set_direct(); |
| } |
| 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 StreamInfo) |
| return this.equals((StreamInfo)that); |
| return false; |
| } |
| |
| public boolean equals(StreamInfo that) { |
| if (that == null) |
| return false; |
| |
| boolean this_present_output_fields = true && this.is_set_output_fields(); |
| boolean that_present_output_fields = true && that.is_set_output_fields(); |
| if (this_present_output_fields || that_present_output_fields) { |
| if (!(this_present_output_fields && that_present_output_fields)) |
| return false; |
| if (!this.output_fields.equals(that.output_fields)) |
| return false; |
| } |
| |
| boolean this_present_direct = true; |
| boolean that_present_direct = true; |
| if (this_present_direct || that_present_direct) { |
| if (!(this_present_direct && that_present_direct)) |
| return false; |
| if (this.direct != that.direct) |
| return false; |
| } |
| |
| return true; |
| } |
| |
| @Override |
| public int hashCode() { |
| HashCodeBuilder builder = new HashCodeBuilder(); |
| |
| boolean present_output_fields = true && (is_set_output_fields()); |
| builder.append(present_output_fields); |
| if (present_output_fields) |
| builder.append(output_fields); |
| |
| boolean present_direct = true; |
| builder.append(present_direct); |
| if (present_direct) |
| builder.append(direct); |
| |
| return builder.toHashCode(); |
| } |
| |
| public int compareTo(StreamInfo other) { |
| if (!getClass().equals(other.getClass())) { |
| return getClass().getName().compareTo(other.getClass().getName()); |
| } |
| |
| int lastComparison = 0; |
| StreamInfo typedOther = (StreamInfo)other; |
| |
| lastComparison = Boolean.valueOf(is_set_output_fields()).compareTo(typedOther.is_set_output_fields()); |
| if (lastComparison != 0) { |
| return lastComparison; |
| } |
| if (is_set_output_fields()) { lastComparison = TBaseHelper.compareTo(this.output_fields, typedOther.output_fields); |
| if (lastComparison != 0) { |
| return lastComparison; |
| } |
| } |
| lastComparison = Boolean.valueOf(is_set_direct()).compareTo(typedOther.is_set_direct()); |
| if (lastComparison != 0) { |
| return lastComparison; |
| } |
| if (is_set_direct()) { lastComparison = TBaseHelper.compareTo(this.direct, typedOther.direct); |
| 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; |
| } |
| switch (field.id) { |
| case 1: // OUTPUT_FIELDS |
| if (field.type == TType.LIST) { |
| { |
| TList _list4 = iprot.readListBegin(); |
| this.output_fields = new ArrayList<String>(_list4.size); |
| for (int _i5 = 0; _i5 < _list4.size; ++_i5) |
| { |
| String _elem6; |
| _elem6 = iprot.readString(); |
| this.output_fields.add(_elem6); |
| } |
| iprot.readListEnd(); |
| } |
| } else { |
| TProtocolUtil.skip(iprot, field.type); |
| } |
| break; |
| case 2: // DIRECT |
| if (field.type == TType.BOOL) { |
| this.direct = iprot.readBool(); |
| set_direct_isSet(true); |
| } else { |
| TProtocolUtil.skip(iprot, field.type); |
| } |
| break; |
| default: |
| TProtocolUtil.skip(iprot, field.type); |
| } |
| iprot.readFieldEnd(); |
| } |
| iprot.readStructEnd(); |
| validate(); |
| } |
| |
| public void write(TProtocol oprot) throws TException { |
| validate(); |
| |
| oprot.writeStructBegin(STRUCT_DESC); |
| if (this.output_fields != null) { |
| oprot.writeFieldBegin(OUTPUT_FIELDS_FIELD_DESC); |
| { |
| oprot.writeListBegin(new TList(TType.STRING, this.output_fields.size())); |
| for (String _iter7 : this.output_fields) |
| { |
| oprot.writeString(_iter7); |
| } |
| oprot.writeListEnd(); |
| } |
| oprot.writeFieldEnd(); |
| } |
| oprot.writeFieldBegin(DIRECT_FIELD_DESC); |
| oprot.writeBool(this.direct); |
| oprot.writeFieldEnd(); |
| oprot.writeFieldStop(); |
| oprot.writeStructEnd(); |
| } |
| |
| @Override |
| public String toString() { |
| StringBuilder sb = new StringBuilder("StreamInfo("); |
| boolean first = true; |
| |
| sb.append("output_fields:"); |
| if (this.output_fields == null) { |
| sb.append("null"); |
| } else { |
| sb.append(this.output_fields); |
| } |
| first = false; |
| if (!first) sb.append(", "); |
| sb.append("direct:"); |
| sb.append(this.direct); |
| first = false; |
| sb.append(")"); |
| return sb.toString(); |
| } |
| |
| public void validate() throws TException { |
| // check for required fields |
| if (!is_set_output_fields()) { |
| throw new TProtocolException("Required field 'output_fields' is unset! Struct:" + toString()); |
| } |
| |
| if (!is_set_direct()) { |
| throw new TProtocolException("Required field 'direct' is unset! Struct:" + toString()); |
| } |
| |
| } |
| |
| } |
| |