blob: 0852f202080baf4fcbe99b02b86dd3740a9c118d [file] [log] [blame]
/**
* 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();
}
}