Java tutorial
/** * Autogenerated by Thrift Compiler (0.7.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING */ package org.apache.cassandra.thrift; /* * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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. * */ 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.nio.ByteBuffer; import java.util.Arrays; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class CountWithMetadata implements org.apache.thrift.TBase<CountWithMetadata, CountWithMetadata._Fields>, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct( "CountWithMetadata"); private static final org.apache.thrift.protocol.TField COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField( "count", org.apache.thrift.protocol.TType.I32, (short) 1); private static final org.apache.thrift.protocol.TField EARLIEST_VALID_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField( "earliest_valid_time", org.apache.thrift.protocol.TType.I64, (short) 2); private static final org.apache.thrift.protocol.TField LATEST_VALID_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField( "latest_valid_time", org.apache.thrift.protocol.TType.I64, (short) 3); private static final org.apache.thrift.protocol.TField DEPS_FIELD_DESC = new org.apache.thrift.protocol.TField( "deps", org.apache.thrift.protocol.TType.SET, (short) 4); public int count; // required public long earliest_valid_time; // required public long latest_valid_time; // required public Set<Dep> deps; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { COUNT((short) 1, "count"), EARLIEST_VALID_TIME((short) 2, "earliest_valid_time"), LATEST_VALID_TIME((short) 3, "latest_valid_time"), DEPS((short) 4, "deps"); 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: // COUNT return COUNT; case 2: // EARLIEST_VALID_TIME return EARLIEST_VALID_TIME; case 3: // LATEST_VALID_TIME return LATEST_VALID_TIME; case 4: // DEPS return DEPS; 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 __COUNT_ISSET_ID = 0; private static final int __EARLIEST_VALID_TIME_ISSET_ID = 1; private static final int __LATEST_VALID_TIME_ISSET_ID = 2; private BitSet __isset_bit_vector = new BitSet(3); 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.COUNT, new org.apache.thrift.meta_data.FieldMetaData("count", org.apache.thrift.TFieldRequirementType.DEFAULT, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); tmpMap.put(_Fields.EARLIEST_VALID_TIME, new org.apache.thrift.meta_data.FieldMetaData("earliest_valid_time", org.apache.thrift.TFieldRequirementType.DEFAULT, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))); tmpMap.put(_Fields.LATEST_VALID_TIME, new org.apache.thrift.meta_data.FieldMetaData("latest_valid_time", org.apache.thrift.TFieldRequirementType.DEFAULT, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))); tmpMap.put(_Fields.DEPS, new org.apache.thrift.meta_data.FieldMetaData("deps", org.apache.thrift.TFieldRequirementType.DEFAULT, new org.apache.thrift.meta_data.SetMetaData(org.apache.thrift.protocol.TType.SET, new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Dep.class)))); metaDataMap = Collections.unmodifiableMap(tmpMap); org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(CountWithMetadata.class, metaDataMap); } public CountWithMetadata() { } public CountWithMetadata(int count, long earliest_valid_time, long latest_valid_time, Set<Dep> deps) { this(); this.count = count; setCountIsSet(true); this.earliest_valid_time = earliest_valid_time; setEarliest_valid_timeIsSet(true); this.latest_valid_time = latest_valid_time; setLatest_valid_timeIsSet(true); this.deps = deps; } /** * Performs a deep copy on <i>other</i>. */ public CountWithMetadata(CountWithMetadata other) { __isset_bit_vector.clear(); __isset_bit_vector.or(other.__isset_bit_vector); this.count = other.count; this.earliest_valid_time = other.earliest_valid_time; this.latest_valid_time = other.latest_valid_time; if (other.isSetDeps()) { Set<Dep> __this__deps = new HashSet<Dep>(); for (Dep other_element : other.deps) { __this__deps.add(new Dep(other_element)); } this.deps = __this__deps; } } public CountWithMetadata deepCopy() { return new CountWithMetadata(this); } @Override public void clear() { setCountIsSet(false); this.count = 0; setEarliest_valid_timeIsSet(false); this.earliest_valid_time = 0; setLatest_valid_timeIsSet(false); this.latest_valid_time = 0; this.deps = null; } public int getCount() { return this.count; } public CountWithMetadata setCount(int count) { this.count = count; setCountIsSet(true); return this; } public void unsetCount() { __isset_bit_vector.clear(__COUNT_ISSET_ID); } /** Returns true if field count is set (has been assigned a value) and false otherwise */ public boolean isSetCount() { return __isset_bit_vector.get(__COUNT_ISSET_ID); } public void setCountIsSet(boolean value) { __isset_bit_vector.set(__COUNT_ISSET_ID, value); } public long getEarliest_valid_time() { return this.earliest_valid_time; } public CountWithMetadata setEarliest_valid_time(long earliest_valid_time) { this.earliest_valid_time = earliest_valid_time; setEarliest_valid_timeIsSet(true); return this; } public void unsetEarliest_valid_time() { __isset_bit_vector.clear(__EARLIEST_VALID_TIME_ISSET_ID); } /** Returns true if field earliest_valid_time is set (has been assigned a value) and false otherwise */ public boolean isSetEarliest_valid_time() { return __isset_bit_vector.get(__EARLIEST_VALID_TIME_ISSET_ID); } public void setEarliest_valid_timeIsSet(boolean value) { __isset_bit_vector.set(__EARLIEST_VALID_TIME_ISSET_ID, value); } public long getLatest_valid_time() { return this.latest_valid_time; } public CountWithMetadata setLatest_valid_time(long latest_valid_time) { this.latest_valid_time = latest_valid_time; setLatest_valid_timeIsSet(true); return this; } public void unsetLatest_valid_time() { __isset_bit_vector.clear(__LATEST_VALID_TIME_ISSET_ID); } /** Returns true if field latest_valid_time is set (has been assigned a value) and false otherwise */ public boolean isSetLatest_valid_time() { return __isset_bit_vector.get(__LATEST_VALID_TIME_ISSET_ID); } public void setLatest_valid_timeIsSet(boolean value) { __isset_bit_vector.set(__LATEST_VALID_TIME_ISSET_ID, value); } public int getDepsSize() { return (this.deps == null) ? 0 : this.deps.size(); } public java.util.Iterator<Dep> getDepsIterator() { return (this.deps == null) ? null : this.deps.iterator(); } public void addToDeps(Dep elem) { if (this.deps == null) { this.deps = new HashSet<Dep>(); } this.deps.add(elem); } public Set<Dep> getDeps() { return this.deps; } public CountWithMetadata setDeps(Set<Dep> deps) { this.deps = deps; return this; } public void unsetDeps() { this.deps = null; } /** Returns true if field deps is set (has been assigned a value) and false otherwise */ public boolean isSetDeps() { return this.deps != null; } public void setDepsIsSet(boolean value) { if (!value) { this.deps = null; } } public void setFieldValue(_Fields field, Object value) { switch (field) { case COUNT: if (value == null) { unsetCount(); } else { setCount((Integer) value); } break; case EARLIEST_VALID_TIME: if (value == null) { unsetEarliest_valid_time(); } else { setEarliest_valid_time((Long) value); } break; case LATEST_VALID_TIME: if (value == null) { unsetLatest_valid_time(); } else { setLatest_valid_time((Long) value); } break; case DEPS: if (value == null) { unsetDeps(); } else { setDeps((Set<Dep>) value); } break; } } public Object getFieldValue(_Fields field) { switch (field) { case COUNT: return Integer.valueOf(getCount()); case EARLIEST_VALID_TIME: return Long.valueOf(getEarliest_valid_time()); case LATEST_VALID_TIME: return Long.valueOf(getLatest_valid_time()); case DEPS: return getDeps(); } throw new IllegalStateException(); } /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ public boolean isSet(_Fields field) { if (field == null) { throw new IllegalArgumentException(); } switch (field) { case COUNT: return isSetCount(); case EARLIEST_VALID_TIME: return isSetEarliest_valid_time(); case LATEST_VALID_TIME: return isSetLatest_valid_time(); case DEPS: return isSetDeps(); } throw new IllegalStateException(); } @Override public boolean equals(Object that) { if (that == null) return false; if (that instanceof CountWithMetadata) return this.equals((CountWithMetadata) that); return false; } public boolean equals(CountWithMetadata that) { if (that == null) return false; boolean this_present_count = true; boolean that_present_count = true; if (this_present_count || that_present_count) { if (!(this_present_count && that_present_count)) return false; if (this.count != that.count) return false; } boolean this_present_earliest_valid_time = true; boolean that_present_earliest_valid_time = true; if (this_present_earliest_valid_time || that_present_earliest_valid_time) { if (!(this_present_earliest_valid_time && that_present_earliest_valid_time)) return false; if (this.earliest_valid_time != that.earliest_valid_time) return false; } boolean this_present_latest_valid_time = true; boolean that_present_latest_valid_time = true; if (this_present_latest_valid_time || that_present_latest_valid_time) { if (!(this_present_latest_valid_time && that_present_latest_valid_time)) return false; if (this.latest_valid_time != that.latest_valid_time) return false; } boolean this_present_deps = true && this.isSetDeps(); boolean that_present_deps = true && that.isSetDeps(); if (this_present_deps || that_present_deps) { if (!(this_present_deps && that_present_deps)) return false; if (!this.deps.equals(that.deps)) return false; } return true; } @Override public int hashCode() { HashCodeBuilder builder = new HashCodeBuilder(); boolean present_count = true; builder.append(present_count); if (present_count) builder.append(count); boolean present_earliest_valid_time = true; builder.append(present_earliest_valid_time); if (present_earliest_valid_time) builder.append(earliest_valid_time); boolean present_latest_valid_time = true; builder.append(present_latest_valid_time); if (present_latest_valid_time) builder.append(latest_valid_time); boolean present_deps = true && (isSetDeps()); builder.append(present_deps); if (present_deps) builder.append(deps); return builder.toHashCode(); } public int compareTo(CountWithMetadata other) { if (!getClass().equals(other.getClass())) { return getClass().getName().compareTo(other.getClass().getName()); } int lastComparison = 0; CountWithMetadata typedOther = (CountWithMetadata) other; lastComparison = Boolean.valueOf(isSetCount()).compareTo(typedOther.isSetCount()); if (lastComparison != 0) { return lastComparison; } if (isSetCount()) { lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.count, typedOther.count); if (lastComparison != 0) { return lastComparison; } } lastComparison = Boolean.valueOf(isSetEarliest_valid_time()) .compareTo(typedOther.isSetEarliest_valid_time()); if (lastComparison != 0) { return lastComparison; } if (isSetEarliest_valid_time()) { lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.earliest_valid_time, typedOther.earliest_valid_time); if (lastComparison != 0) { return lastComparison; } } lastComparison = Boolean.valueOf(isSetLatest_valid_time()).compareTo(typedOther.isSetLatest_valid_time()); if (lastComparison != 0) { return lastComparison; } if (isSetLatest_valid_time()) { lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.latest_valid_time, typedOther.latest_valid_time); if (lastComparison != 0) { return lastComparison; } } lastComparison = Boolean.valueOf(isSetDeps()).compareTo(typedOther.isSetDeps()); if (lastComparison != 0) { return lastComparison; } if (isSetDeps()) { lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.deps, typedOther.deps); if (lastComparison != 0) { return lastComparison; } } return 0; } public _Fields fieldForId(int fieldId) { return _Fields.findByThriftId(fieldId); } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { org.apache.thrift.protocol.TField field; iprot.readStructBegin(); while (true) { field = iprot.readFieldBegin(); if (field.type == org.apache.thrift.protocol.TType.STOP) { break; } switch (field.id) { case 1: // COUNT if (field.type == org.apache.thrift.protocol.TType.I32) { this.count = iprot.readI32(); setCountIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); } break; case 2: // EARLIEST_VALID_TIME if (field.type == org.apache.thrift.protocol.TType.I64) { this.earliest_valid_time = iprot.readI64(); setEarliest_valid_timeIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); } break; case 3: // LATEST_VALID_TIME if (field.type == org.apache.thrift.protocol.TType.I64) { this.latest_valid_time = iprot.readI64(); setLatest_valid_timeIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); } break; case 4: // DEPS if (field.type == org.apache.thrift.protocol.TType.SET) { { org.apache.thrift.protocol.TSet _set109 = iprot.readSetBegin(); this.deps = new HashSet<Dep>(2 * _set109.size); for (int _i110 = 0; _i110 < _set109.size; ++_i110) { Dep _elem111; // required _elem111 = new Dep(); _elem111.read(iprot); this.deps.add(_elem111); } iprot.readSetEnd(); } } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); } break; default: org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); } iprot.readFieldEnd(); } iprot.readStructEnd(); // check for required fields of primitive type, which can't be checked in the validate method validate(); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { validate(); oprot.writeStructBegin(STRUCT_DESC); oprot.writeFieldBegin(COUNT_FIELD_DESC); oprot.writeI32(this.count); oprot.writeFieldEnd(); oprot.writeFieldBegin(EARLIEST_VALID_TIME_FIELD_DESC); oprot.writeI64(this.earliest_valid_time); oprot.writeFieldEnd(); oprot.writeFieldBegin(LATEST_VALID_TIME_FIELD_DESC); oprot.writeI64(this.latest_valid_time); oprot.writeFieldEnd(); if (this.deps != null) { oprot.writeFieldBegin(DEPS_FIELD_DESC); { oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, this.deps.size())); for (Dep _iter112 : this.deps) { _iter112.write(oprot); } oprot.writeSetEnd(); } oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } @Override public String toString() { StringBuilder sb = new StringBuilder("CountWithMetadata("); boolean first = true; sb.append("count:"); sb.append(this.count); first = false; if (!first) sb.append(", "); sb.append("earliest_valid_time:"); sb.append(this.earliest_valid_time); first = false; if (!first) sb.append(", "); sb.append("latest_valid_time:"); sb.append(this.latest_valid_time); first = false; if (!first) sb.append(", "); sb.append("deps:"); if (this.deps == null) { sb.append("null"); } else { sb.append(this.deps); } first = false; sb.append(")"); return sb.toString(); } public void validate() throws org.apache.thrift.TException { // check for required fields } 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 { // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. __isset_bit_vector = new BitSet(1); 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); } } }