| /** |
| * 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 ComponentObject extends TUnion<ComponentObject, ComponentObject._Fields> { |
| private static final TStruct STRUCT_DESC = new TStruct("ComponentObject"); |
| private static final TField SERIALIZED_JAVA_FIELD_DESC = new TField("serialized_java", TType.STRING, (short)1); |
| private static final TField SHELL_FIELD_DESC = new TField("shell", TType.STRUCT, (short)2); |
| |
| /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ |
| public enum _Fields implements TFieldIdEnum { |
| SERIALIZED_JAVA((short)1, "serialized_java"), |
| SHELL((short)2, "shell"); |
| |
| 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: // SERIALIZED_JAVA |
| return SERIALIZED_JAVA; |
| case 2: // SHELL |
| return SHELL; |
| 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; |
| } |
| } |
| |
| public static final Map<_Fields, FieldMetaData> metaDataMap; |
| static { |
| Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); |
| tmpMap.put(_Fields.SERIALIZED_JAVA, new FieldMetaData("serialized_java", TFieldRequirementType.DEFAULT, |
| new FieldValueMetaData(TType.STRING))); |
| tmpMap.put(_Fields.SHELL, new FieldMetaData("shell", TFieldRequirementType.DEFAULT, |
| new StructMetaData(TType.STRUCT, ShellComponent.class))); |
| metaDataMap = Collections.unmodifiableMap(tmpMap); |
| FieldMetaData.addStructMetaDataMap(ComponentObject.class, metaDataMap); |
| } |
| |
| public ComponentObject() { |
| super(); |
| } |
| |
| public ComponentObject(_Fields setField, Object value) { |
| super(setField, value); |
| } |
| |
| public ComponentObject(ComponentObject other) { |
| super(other); |
| } |
| public ComponentObject deepCopy() { |
| return new ComponentObject(this); |
| } |
| |
| public static ComponentObject serialized_java(byte[] value) { |
| ComponentObject x = new ComponentObject(); |
| x.set_serialized_java(value); |
| return x; |
| } |
| |
| public static ComponentObject shell(ShellComponent value) { |
| ComponentObject x = new ComponentObject(); |
| x.set_shell(value); |
| return x; |
| } |
| |
| |
| @Override |
| protected void checkType(_Fields setField, Object value) throws ClassCastException { |
| switch (setField) { |
| case SERIALIZED_JAVA: |
| if (value instanceof byte[]) { |
| break; |
| } |
| throw new ClassCastException("Was expecting value of type byte[] for field 'serialized_java', but got " + value.getClass().getSimpleName()); |
| case SHELL: |
| if (value instanceof ShellComponent) { |
| break; |
| } |
| throw new ClassCastException("Was expecting value of type ShellComponent for field 'shell', but got " + value.getClass().getSimpleName()); |
| default: |
| throw new IllegalArgumentException("Unknown field id " + setField); |
| } |
| } |
| |
| @Override |
| protected Object readValue(TProtocol iprot, TField field) throws TException { |
| _Fields setField = _Fields.findByThriftId(field.id); |
| if (setField != null) { |
| switch (setField) { |
| case SERIALIZED_JAVA: |
| if (field.type == SERIALIZED_JAVA_FIELD_DESC.type) { |
| byte[] serialized_java; |
| serialized_java = iprot.readBinary(); |
| return serialized_java; |
| } else { |
| TProtocolUtil.skip(iprot, field.type); |
| return null; |
| } |
| case SHELL: |
| if (field.type == SHELL_FIELD_DESC.type) { |
| ShellComponent shell; |
| shell = new ShellComponent(); |
| shell.read(iprot); |
| return shell; |
| } else { |
| TProtocolUtil.skip(iprot, field.type); |
| return null; |
| } |
| default: |
| throw new IllegalStateException("setField wasn't null, but didn't match any of the case statements!"); |
| } |
| } else { |
| TProtocolUtil.skip(iprot, field.type); |
| return null; |
| } |
| } |
| |
| @Override |
| protected void writeValue(TProtocol oprot) throws TException { |
| switch (setField_) { |
| case SERIALIZED_JAVA: |
| byte[] serialized_java = (byte[])value_; |
| oprot.writeBinary(serialized_java); |
| return; |
| case SHELL: |
| ShellComponent shell = (ShellComponent)value_; |
| shell.write(oprot); |
| return; |
| default: |
| throw new IllegalStateException("Cannot write union with unknown field " + setField_); |
| } |
| } |
| |
| @Override |
| protected TField getFieldDesc(_Fields setField) { |
| switch (setField) { |
| case SERIALIZED_JAVA: |
| return SERIALIZED_JAVA_FIELD_DESC; |
| case SHELL: |
| return SHELL_FIELD_DESC; |
| default: |
| throw new IllegalArgumentException("Unknown field id " + setField); |
| } |
| } |
| |
| @Override |
| protected TStruct getStructDesc() { |
| return STRUCT_DESC; |
| } |
| |
| @Override |
| protected _Fields enumForId(short id) { |
| return _Fields.findByThriftIdOrThrow(id); |
| } |
| |
| public byte[] get_serialized_java() { |
| if (getSetField() == _Fields.SERIALIZED_JAVA) { |
| return (byte[])getFieldValue(); |
| } else { |
| throw new RuntimeException("Cannot get field 'serialized_java' because union is currently set to " + getFieldDesc(getSetField()).name); |
| } |
| } |
| |
| public void set_serialized_java(byte[] value) { |
| if (value == null) throw new NullPointerException(); |
| setField_ = _Fields.SERIALIZED_JAVA; |
| value_ = value; |
| } |
| |
| public ShellComponent get_shell() { |
| if (getSetField() == _Fields.SHELL) { |
| return (ShellComponent)getFieldValue(); |
| } else { |
| throw new RuntimeException("Cannot get field 'shell' because union is currently set to " + getFieldDesc(getSetField()).name); |
| } |
| } |
| |
| public void set_shell(ShellComponent value) { |
| if (value == null) throw new NullPointerException(); |
| setField_ = _Fields.SHELL; |
| value_ = value; |
| } |
| |
| public boolean equals(Object other) { |
| if (other instanceof ComponentObject) { |
| return equals((ComponentObject)other); |
| } else { |
| return false; |
| } |
| } |
| |
| public boolean equals(ComponentObject other) { |
| return other != null && getSetField() == other.getSetField() && ((value_ instanceof byte[]) ? |
| Arrays.equals((byte[])getFieldValue(), (byte[])other.getFieldValue()) : getFieldValue().equals(other.getFieldValue())); |
| } |
| |
| @Override |
| public int compareTo(ComponentObject other) { |
| int lastComparison = TBaseHelper.compareTo(getSetField(), other.getSetField()); |
| if (lastComparison == 0) { |
| Object myValue = getFieldValue(); |
| if (myValue instanceof byte[]) { |
| return TBaseHelper.compareTo((byte[])myValue, (byte[])other.getFieldValue()); |
| } else if (myValue instanceof List) { |
| return TBaseHelper.compareTo((List)myValue, (List)other.getFieldValue()); |
| } else if (myValue instanceof Set) { |
| return TBaseHelper.compareTo((Set)myValue, (Set)other.getFieldValue()); |
| } else if (myValue instanceof Map){ |
| return TBaseHelper.compareTo((Map)myValue, (Map)other.getFieldValue()); |
| } else { |
| return TBaseHelper.compareTo((Comparable)myValue, (Comparable)other.getFieldValue()); |
| } |
| } |
| return lastComparison; |
| } |
| |
| |
| @Override |
| public int hashCode() { |
| HashCodeBuilder hcb = new HashCodeBuilder(); |
| hcb.append(this.getClass().getName()); |
| TFieldIdEnum setField = getSetField(); |
| if (setField != null) { |
| hcb.append(setField.getThriftFieldId()); |
| Object value = getFieldValue(); |
| if (value instanceof TEnum) { |
| hcb.append(((TEnum)getFieldValue()).getValue()); |
| } else { |
| hcb.append(value); |
| } |
| } |
| return hcb.toHashCode(); |
| } |
| } |