Java tutorial
/* Copyright (C) 2013-2014 Computer Sciences Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * Autogenerated by Thrift Compiler (0.9.1) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated */ package ezbake.data.elastic.thrift; import org.apache.commons.lang3.builder.HashCodeBuilder; 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; /** * A geo value used for comparisons in sorting. For example, to sort by a distance from a point `coordinate`. */ public class GeoSortValue extends org.apache.thrift.TUnion<GeoSortValue, GeoSortValue._Fields> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct( "GeoSortValue"); private static final org.apache.thrift.protocol.TField GEO_HASH_FIELD_DESC = new org.apache.thrift.protocol.TField( "geoHash", org.apache.thrift.protocol.TType.STRING, (short) 1); private static final org.apache.thrift.protocol.TField COORDINATE_FIELD_DESC = new org.apache.thrift.protocol.TField( "coordinate", org.apache.thrift.protocol.TType.STRUCT, (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 { GEO_HASH((short) 1, "geoHash"), COORDINATE((short) 2, "coordinate"); 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: // GEO_HASH return GEO_HASH; case 2: // COORDINATE return COORDINATE; 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.GEO_HASH, new org.apache.thrift.meta_data.FieldMetaData("geoHash", org.apache.thrift.TFieldRequirementType.DEFAULT, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); tmpMap.put(_Fields.COORDINATE, new org.apache.thrift.meta_data.FieldMetaData("coordinate", org.apache.thrift.TFieldRequirementType.DEFAULT, new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ezbake.base.thrift.Coordinate.class))); metaDataMap = Collections.unmodifiableMap(tmpMap); org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GeoSortValue.class, metaDataMap); } public GeoSortValue() { super(); } public GeoSortValue(_Fields setField, Object value) { super(setField, value); } public GeoSortValue(GeoSortValue other) { super(other); } public GeoSortValue deepCopy() { return new GeoSortValue(this); } public static GeoSortValue geoHash(String value) { GeoSortValue x = new GeoSortValue(); x.setGeoHash(value); return x; } public static GeoSortValue coordinate(ezbake.base.thrift.Coordinate value) { GeoSortValue x = new GeoSortValue(); x.setCoordinate(value); return x; } @Override protected void checkType(_Fields setField, Object value) throws ClassCastException { switch (setField) { case GEO_HASH: if (value instanceof String) { break; } throw new ClassCastException("Was expecting value of type String for field 'geoHash', but got " + value.getClass().getSimpleName()); case COORDINATE: if (value instanceof ezbake.base.thrift.Coordinate) { break; } throw new ClassCastException( "Was expecting value of type ezbake.base.thrift.Coordinate for field 'coordinate', 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 GEO_HASH: if (field.type == GEO_HASH_FIELD_DESC.type) { String geoHash; geoHash = iprot.readString(); return geoHash; } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); return null; } case COORDINATE: if (field.type == COORDINATE_FIELD_DESC.type) { ezbake.base.thrift.Coordinate coordinate; coordinate = new ezbake.base.thrift.Coordinate(); coordinate.read(iprot); return coordinate; } 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 GEO_HASH: String geoHash = (String) value_; oprot.writeString(geoHash); return; case COORDINATE: ezbake.base.thrift.Coordinate coordinate = (ezbake.base.thrift.Coordinate) value_; coordinate.write(oprot); 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 GEO_HASH: String geoHash; geoHash = iprot.readString(); return geoHash; case COORDINATE: ezbake.base.thrift.Coordinate coordinate; coordinate = new ezbake.base.thrift.Coordinate(); coordinate.read(iprot); return coordinate; 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 GEO_HASH: String geoHash = (String) value_; oprot.writeString(geoHash); return; case COORDINATE: ezbake.base.thrift.Coordinate coordinate = (ezbake.base.thrift.Coordinate) value_; coordinate.write(oprot); 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 GEO_HASH: return GEO_HASH_FIELD_DESC; case COORDINATE: return COORDINATE_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 getGeoHash() { if (getSetField() == _Fields.GEO_HASH) { return (String) getFieldValue(); } else { throw new RuntimeException("Cannot get field 'geoHash' because union is currently set to " + getFieldDesc(getSetField()).name); } } public void setGeoHash(String value) { if (value == null) throw new NullPointerException(); setField_ = _Fields.GEO_HASH; value_ = value; } public ezbake.base.thrift.Coordinate getCoordinate() { if (getSetField() == _Fields.COORDINATE) { return (ezbake.base.thrift.Coordinate) getFieldValue(); } else { throw new RuntimeException("Cannot get field 'coordinate' because union is currently set to " + getFieldDesc(getSetField()).name); } } public void setCoordinate(ezbake.base.thrift.Coordinate value) { if (value == null) throw new NullPointerException(); setField_ = _Fields.COORDINATE; value_ = value; } public boolean isSetGeoHash() { return setField_ == _Fields.GEO_HASH; } public boolean isSetCoordinate() { return setField_ == _Fields.COORDINATE; } public boolean equals(Object other) { if (other instanceof GeoSortValue) { return equals((GeoSortValue) other); } else { return false; } } public boolean equals(GeoSortValue other) { return other != null && getSetField() == other.getSetField() && getFieldValue().equals(other.getFieldValue()); } @Override public int compareTo(GeoSortValue 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; } @Override public int hashCode() { HashCodeBuilder hcb = new HashCodeBuilder(); hcb.append(this.getClass().getName()); org.apache.thrift.TFieldIdEnum setField = getSetField(); if (setField != null) { hcb.append(setField.getThriftFieldId()); Object value = getFieldValue(); if (value instanceof org.apache.thrift.TEnum) { hcb.append(((org.apache.thrift.TEnum) getFieldValue()).getValue()); } else { hcb.append(value); } } return hcb.toHashCode(); } 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); } } }