/** * Autogenerated by Thrift Compiler (0.9.1) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated */ package org.apache.avro.thrift.test; 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 org.apache.thrift.async.AsyncMethodCallback; import org.apache.thrift.server.AbstractNonblockingServer.*; 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; public class FooOrBar extends org.apache.thrift.TUnion<FooOrBar, FooOrBar._Fields> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("FooOrBar"); private static final org.apache.thrift.protocol.TField FOO_FIELD_DESC = new org.apache.thrift.protocol.TField("foo", org.apache.thrift.protocol.TType.STRING, (short)1); private static final org.apache.thrift.protocol.TField BAR_FIELD_DESC = new org.apache.thrift.protocol.TField("bar", org.apache.thrift.protocol.TType.STRING, (short)2); /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { FOO((short)1, "foo"), BAR((short)2, "bar"); 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: // FOO return FOO; case 2: // BAR return BAR; 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, 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.FOO, new org.apache.thrift.meta_data.FieldMetaData("foo", org.apache.thrift.TFieldRequirementType.DEFAULT, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); tmpMap.put(_Fields.BAR, new org.apache.thrift.meta_data.FieldMetaData("bar", org.apache.thrift.TFieldRequirementType.DEFAULT, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); metaDataMap = Collections.unmodifiableMap(tmpMap); org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(FooOrBar.class, metaDataMap); } public FooOrBar() { super(); } public FooOrBar(_Fields setField, Object value) { super(setField, value); } public FooOrBar(FooOrBar other) { super(other); } public FooOrBar deepCopy() { return new FooOrBar(this); } public static FooOrBar foo(String value) { FooOrBar x = new FooOrBar(); x.setFoo(value); return x; } public static FooOrBar bar(String value) { FooOrBar x = new FooOrBar(); x.setBar(value); return x; } @Override protected void checkType(_Fields setField, Object value) throws ClassCastException { switch (setField) { case FOO: if (value instanceof String) { break; } throw new ClassCastException("Was expecting value of type String for field 'foo', but got " + value.getClass().getSimpleName()); case BAR: if (value instanceof String) { break; } throw new ClassCastException("Was expecting value of type String for field 'bar', but got " + value.getClass().getSimpleName()); default: throw new IllegalArgumentException("Unknown field id " + setField); } } @Override protected Object standardSchemeReadValue(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TField field) throws org.apache.thrift.TException { _Fields setField = _Fields.findByThriftId(field.id); if (setField != null) { switch (setField) { case FOO: if (field.type == FOO_FIELD_DESC.type) { String foo; foo = iprot.readString(); return foo; } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); return null; } case BAR: if (field.type == BAR_FIELD_DESC.type) { String bar; bar = iprot.readString(); return bar; } else { org.apache.thrift.protocol.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 { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); return null; } } @Override protected void standardSchemeWriteValue(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { switch (setField_) { case FOO: String foo = (String)value_; oprot.writeString(foo); return; case BAR: String bar = (String)value_; oprot.writeString(bar); return; default: throw new IllegalStateException("Cannot write union with unknown field " + setField_); } } @Override protected Object tupleSchemeReadValue(org.apache.thrift.protocol.TProtocol iprot, short fieldID) throws org.apache.thrift.TException { _Fields setField = _Fields.findByThriftId(fieldID); if (setField != null) { switch (setField) { case FOO: String foo; foo = iprot.readString(); return foo; case BAR: String bar; bar = iprot.readString(); return bar; default: throw new IllegalStateException("setField wasn't null, but didn't match any of the case statements!"); } } else { throw new TProtocolException("Couldn't find a field with field id " + fieldID); } } @Override protected void tupleSchemeWriteValue(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { switch (setField_) { case FOO: String foo = (String)value_; oprot.writeString(foo); return; case BAR: String bar = (String)value_; oprot.writeString(bar); return; default: throw new IllegalStateException("Cannot write union with unknown field " + setField_); } } @Override protected org.apache.thrift.protocol.TField getFieldDesc(_Fields setField) { switch (setField) { case FOO: return FOO_FIELD_DESC; case BAR: return BAR_FIELD_DESC; default: throw new IllegalArgumentException("Unknown field id " + setField); } } @Override protected org.apache.thrift.protocol.TStruct getStructDesc() { return STRUCT_DESC; } @Override protected _Fields enumForId(short id) { return _Fields.findByThriftIdOrThrow(id); } public _Fields fieldForId(int fieldId) { return _Fields.findByThriftId(fieldId); } public String getFoo() { if (getSetField() == _Fields.FOO) { return (String)getFieldValue(); } else { throw new RuntimeException("Cannot get field 'foo' because union is currently set to " + getFieldDesc(getSetField()).name); } } public void setFoo(String value) { if (value == null) throw new NullPointerException(); setField_ = _Fields.FOO; value_ = value; } public String getBar() { if (getSetField() == _Fields.BAR) { return (String)getFieldValue(); } else { throw new RuntimeException("Cannot get field 'bar' because union is currently set to " + getFieldDesc(getSetField()).name); } } public void setBar(String value) { if (value == null) throw new NullPointerException(); setField_ = _Fields.BAR; value_ = value; } public boolean isSetFoo() { return setField_ == _Fields.FOO; } public boolean isSetBar() { return setField_ == _Fields.BAR; } public boolean equals(Object other) { if (other instanceof FooOrBar) { return equals((FooOrBar)other); } else { return false; } } public boolean equals(FooOrBar other) { return other != null && getSetField() == other.getSetField() && getFieldValue().equals(other.getFieldValue()); } @Override public int compareTo(FooOrBar other) { int lastComparison = org.apache.thrift.TBaseHelper.compareTo(getSetField(), other.getSetField()); if (lastComparison == 0) { return org.apache.thrift.TBaseHelper.compareTo(getFieldValue(), other.getFieldValue()); } return lastComparison; } /** * If you'd like this to perform more respectably, use the hashcode generator option. */ @Override public int hashCode() { return 0; } 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); } } }