/**
* Autogenerated by Thrift Compiler (0.9.3)
*
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
*
* @generated
*/
package com.cinchapi.concourse.thrift;
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 com.cinchapi.concourse.util.ByteBuffers;
import com.cinchapi.concourse.util.Convert;
import com.google.common.base.MoreObjects;
import com.google.common.base.Throwables;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import java.util.Collection;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.EnumMap;
import java.util.Map.Entry;
import java.util.Set;
import java.util.HashSet;
import java.util.EnumSet;
import java.util.Collections;
import java.util.BitSet;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import javax.annotation.Generated;
@SuppressWarnings({ "cast", "rawtypes", "serial", "unchecked" })
/**
* A recursive structure that encodes one or more {@link TObject TObjects}.
*
* <p>
* The most basic {@link ComplexTObject} is a
* {@link ComplexTObjectType#SCALAR scalar}, which is just a wrapped
* {@link TObject}. Beyond that, complex collections can be represented as a
* {@link Set}, {@link List} or {@link Map} of
* {@link ComplexTObject ComplexTObjects}.
* </p>
*/
@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-09-19")
public class ComplexTObject implements
org.apache.thrift.TBase<ComplexTObject, ComplexTObject._Fields>,
java.io.Serializable,
Cloneable,
Comparable<ComplexTObject> {
/**
* Deserialize a {@link ComplexTObject} by reading its binary form from the
* {@code buffer}.
*
* @param buffer a {@link ByteBuffer} with the serialized content of a
* {@link ComplexTObject}
* @return the ComplexTObject
*/
public static ComplexTObject fromByteBuffer(ByteBuffer buffer) {
ComplexTObjectType type = ComplexTObjectType.values()[buffer.get()];
ComplexTObject obj = new ComplexTObject();
obj.type = type;
if(type == ComplexTObjectType.MAP) {
obj.tmap = Maps.newLinkedHashMap();
while (buffer.hasRemaining()) {
int keyLength = buffer.getInt();
ComplexTObject key = ComplexTObject.fromByteBuffer(ByteBuffers
.get(buffer, keyLength));
int valueLength = buffer.getInt();
ComplexTObject value = ComplexTObject
.fromByteBuffer(ByteBuffers.get(buffer, valueLength));
obj.tmap.put(key, value);
}
}
else if(type == ComplexTObjectType.LIST
|| type == ComplexTObjectType.SET) {
Collection<ComplexTObject> collection = type == ComplexTObjectType.LIST ? (obj.tlist = Lists
.newArrayList()) : (obj.tset = Sets.newLinkedHashSet());
while (buffer.hasRemaining()) {
int length = buffer.getInt();
ComplexTObject item = ComplexTObject.fromByteBuffer(ByteBuffers
.get(buffer, length));
collection.add(item);
}
}
else if(type == ComplexTObjectType.TCRITERIA) {
List<TSymbol> symbols = Lists.newArrayList();
while (buffer.hasRemaining()) {
int length = buffer.getInt();
TSymbolType symbolType = TSymbolType.values()[buffer.getInt()];
String symbol = ByteBuffers.getString(ByteBuffers.get(buffer,
length));
symbols.add(new TSymbol(symbolType, symbol));
}
obj.tcriteria = new TCriteria(symbols);
}
else if(type == ComplexTObjectType.BINARY) {
obj.tbinary = ByteBuffers.get(buffer, buffer.remaining());
}
else {
Type ttype = Type.values()[buffer.get()];
TObject ref = new TObject(ByteBuffers.getRemaining(buffer), ttype);
if(type == ComplexTObjectType.SCALAR) {
obj.tscalar = ref;
}
else {
obj.tobject = ref;
}
}
return obj;
}
/**
* Create a new {@link ComplexTObject} from the specified java
* {@code object}.
* The original object can be retrieved using the {@link #getJavaObject()}
* method.
*
* @param object the object to wrap within the {@link ComplexTObject}.
* @return the ComplexTObject
*/
public static <T> ComplexTObject fromJavaObject(T object) {
ComplexTObject complex = new ComplexTObject();
if(object instanceof Map) {
Map<?, ?> map = (Map<?, ?>) object;
complex.setType(ComplexTObjectType.MAP);
Map<ComplexTObject, ComplexTObject> tmap = Maps.newLinkedHashMap();
for (Entry<?, ?> entry : map.entrySet()) {
tmap.put(fromJavaObject(entry.getKey()),
fromJavaObject(entry.getValue()));
}
complex.setTmap(tmap);
}
else if(object instanceof List) {
List<?> list = (List<?>) object;
complex.setType(ComplexTObjectType.LIST);
List<ComplexTObject> tlist = Lists.newArrayList();
for (Object elt : list) {
tlist.add(fromJavaObject(elt));
}
complex.setTlist(tlist);
}
else if(object instanceof Set) {
Set<?> set = (Set<?>) object;
complex.setType(ComplexTObjectType.SET);
Set<ComplexTObject> tset = Sets.newLinkedHashSet();
for (Object elt : set) {
tset.add(fromJavaObject(elt));
}
complex.setTset(tset);
}
else if(object instanceof TObject) {
complex.setType(ComplexTObjectType.TOBJECT);
complex.setTobject((TObject) object);
}
else if(object instanceof TCriteria) {
complex.setType(ComplexTObjectType.TCRITERIA);
complex.setTcriteria((TCriteria) object);
}
else if(object instanceof byte[] || object instanceof ByteBuffer) {
complex.setType(ComplexTObjectType.BINARY);
if(object instanceof ByteBuffer) {
complex.setTbinary((ByteBuffer) object);
}
else {
complex.setTbinary(ByteBuffer.wrap((byte[]) object));
}
}
else {
complex.setType(ComplexTObjectType.SCALAR);
complex.setTscalar(Convert.javaToThrift(object));
}
return complex;
}
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct(
"ComplexTObject");
private static final org.apache.thrift.protocol.TField TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField(
"type", org.apache.thrift.protocol.TType.I32, (short) 1);
private static final org.apache.thrift.protocol.TField TSCALAR_FIELD_DESC = new org.apache.thrift.protocol.TField(
"tscalar", org.apache.thrift.protocol.TType.STRUCT, (short) 2);
private static final org.apache.thrift.protocol.TField TMAP_FIELD_DESC = new org.apache.thrift.protocol.TField(
"tmap", org.apache.thrift.protocol.TType.MAP, (short) 3);
private static final org.apache.thrift.protocol.TField TLIST_FIELD_DESC = new org.apache.thrift.protocol.TField(
"tlist", org.apache.thrift.protocol.TType.LIST, (short) 4);
private static final org.apache.thrift.protocol.TField TSET_FIELD_DESC = new org.apache.thrift.protocol.TField(
"tset", org.apache.thrift.protocol.TType.SET, (short) 5);
private static final org.apache.thrift.protocol.TField TOBJECT_FIELD_DESC = new org.apache.thrift.protocol.TField(
"tobject", org.apache.thrift.protocol.TType.STRUCT, (short) 6);
private static final org.apache.thrift.protocol.TField TCRITERIA_FIELD_DESC = new org.apache.thrift.protocol.TField(
"tcriteria", org.apache.thrift.protocol.TType.STRUCT, (short) 7);
private static final org.apache.thrift.protocol.TField TBINARY_FIELD_DESC = new org.apache.thrift.protocol.TField(
"tbinary", org.apache.thrift.protocol.TType.STRING, (short) 8);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
schemes.put(StandardScheme.class,
new ComplexTObjectStandardSchemeFactory());
schemes.put(TupleScheme.class, new ComplexTObjectTupleSchemeFactory());
}
/**
*
* @see ComplexTObjectType
*/
public ComplexTObjectType type; // required
public com.cinchapi.concourse.thrift.TObject tscalar; // optional
public Map<ComplexTObject, ComplexTObject> tmap; // optional
public List<ComplexTObject> tlist; // optional
public Set<ComplexTObject> tset; // optional
public com.cinchapi.concourse.thrift.TObject tobject; // optional
public com.cinchapi.concourse.thrift.TCriteria tcriteria; // optional
public ByteBuffer tbinary; // optional
private transient Object cached;
/**
* The set of fields this struct contains, along with convenience methods
* for finding and manipulating them.
*/
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
/**
*
* @see ComplexTObjectType
*/
TYPE((short) 1, "type"),
TSCALAR((short) 2, "tscalar"),
TMAP((short) 3, "tmap"),
TLIST((short) 4, "tlist"),
TSET((short) 5, "tset"),
TOBJECT((short) 6, "tobject"),
TCRITERIA((short) 7, "tcriteria"),
TBINARY((short) 8, "tbinary");
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: // TYPE
return TYPE;
case 2: // TSCALAR
return TSCALAR;
case 3: // TMAP
return TMAP;
case 4: // TLIST
return TLIST;
case 5: // TSET
return TSET;
case 6: // TOBJECT
return TOBJECT;
case 7: // TCRITERIA
return TCRITERIA;
case 8: // TBINARY
return TBINARY;
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
@SuppressWarnings("unused")
private static final _Fields optionals[] = { _Fields.TSCALAR, _Fields.TMAP,
_Fields.TLIST, _Fields.TSET, _Fields.TOBJECT, _Fields.TCRITERIA,
_Fields.TBINARY };
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.TYPE, new org.apache.thrift.meta_data.FieldMetaData(
"type", org.apache.thrift.TFieldRequirementType.REQUIRED,
new org.apache.thrift.meta_data.EnumMetaData(
org.apache.thrift.protocol.TType.ENUM,
ComplexTObjectType.class)));
tmpMap.put(_Fields.TSCALAR,
new org.apache.thrift.meta_data.FieldMetaData("tscalar",
org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.StructMetaData(
org.apache.thrift.protocol.TType.STRUCT,
com.cinchapi.concourse.thrift.TObject.class)));
tmpMap.put(_Fields.TMAP, new org.apache.thrift.meta_data.FieldMetaData(
"tmap", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.MapMetaData(
org.apache.thrift.protocol.TType.MAP,
new org.apache.thrift.meta_data.FieldValueMetaData(
org.apache.thrift.protocol.TType.STRUCT,
"ComplexTObject"),
new org.apache.thrift.meta_data.FieldValueMetaData(
org.apache.thrift.protocol.TType.STRUCT,
"ComplexTObject"))));
tmpMap.put(
_Fields.TLIST,
new org.apache.thrift.meta_data.FieldMetaData(
"tlist",
org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.ListMetaData(
org.apache.thrift.protocol.TType.LIST,
new org.apache.thrift.meta_data.FieldValueMetaData(
org.apache.thrift.protocol.TType.STRUCT,
"ComplexTObject"))));
tmpMap.put(_Fields.TSET, new org.apache.thrift.meta_data.FieldMetaData(
"tset", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.SetMetaData(
org.apache.thrift.protocol.TType.SET,
new org.apache.thrift.meta_data.FieldValueMetaData(
org.apache.thrift.protocol.TType.STRUCT,
"ComplexTObject"))));
tmpMap.put(_Fields.TOBJECT,
new org.apache.thrift.meta_data.FieldMetaData("tobject",
org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.StructMetaData(
org.apache.thrift.protocol.TType.STRUCT,
com.cinchapi.concourse.thrift.TObject.class)));
tmpMap.put(_Fields.TCRITERIA,
new org.apache.thrift.meta_data.FieldMetaData("tcriteria",
org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.StructMetaData(
org.apache.thrift.protocol.TType.STRUCT,
com.cinchapi.concourse.thrift.TCriteria.class)));
tmpMap.put(_Fields.TBINARY,
new org.apache.thrift.meta_data.FieldMetaData("tbinary",
org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.FieldValueMetaData(
org.apache.thrift.protocol.TType.STRING, true)));
metaDataMap = Collections.unmodifiableMap(tmpMap);
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(
ComplexTObject.class, metaDataMap);
}
public ComplexTObject() {}
public ComplexTObject(ComplexTObjectType type) {
this();
this.type = type;
}
/**
* Performs a deep copy on <i>other</i>.
*/
public ComplexTObject(ComplexTObject other) {
if(other.isSetType()) {
this.type = other.type;
}
if(other.isSetTscalar()) {
this.tscalar = new com.cinchapi.concourse.thrift.TObject(
other.tscalar);
}
if(other.isSetTmap()) {
Map<ComplexTObject, ComplexTObject> __this__tmap = new HashMap<ComplexTObject, ComplexTObject>(
other.tmap.size());
for (Map.Entry<ComplexTObject, ComplexTObject> other_element : other.tmap
.entrySet()) {
ComplexTObject other_element_key = other_element.getKey();
ComplexTObject other_element_value = other_element.getValue();
ComplexTObject __this__tmap_copy_key = other_element_key;
ComplexTObject __this__tmap_copy_value = other_element_value;
__this__tmap
.put(__this__tmap_copy_key, __this__tmap_copy_value);
}
this.tmap = __this__tmap;
}
if(other.isSetTlist()) {
List<ComplexTObject> __this__tlist = new ArrayList<ComplexTObject>(
other.tlist.size());
for (ComplexTObject other_element : other.tlist) {
__this__tlist.add(other_element);
}
this.tlist = __this__tlist;
}
if(other.isSetTset()) {
Set<ComplexTObject> __this__tset = new HashSet<ComplexTObject>(
other.tset.size());
for (ComplexTObject other_element : other.tset) {
__this__tset.add(other_element);
}
this.tset = __this__tset;
}
if(other.isSetTobject()) {
this.tobject = new com.cinchapi.concourse.thrift.TObject(
other.tobject);
}
if(other.isSetTcriteria()) {
this.tcriteria = new com.cinchapi.concourse.thrift.TCriteria(
other.tcriteria);
}
if(other.isSetTbinary()) {
this.tbinary = org.apache.thrift.TBaseHelper
.copyBinary(other.tbinary);
}
}
/**
* Return a {@link ByteBuffer} that contains a serialized representation of
* this {@link ComplexTObject}.
*
* @return the serialized form in a {@link ByteBuffer}
*/
public ByteBuffer toByteBuffer() {
ByteArrayOutputStream bytes = new ByteArrayOutputStream(); // TODO: use
// something
// else
// because
// ByteArrayOutputStream
// unnecessarily
// uses
// synchronization
ByteBuffer size = ByteBuffer.allocate(4);
bytes.write(type.ordinal());
if(type == ComplexTObjectType.MAP) {
tmap.entrySet().forEach(
entry -> {
try {
byte[] key = entry.getKey().toByteBuffer().array();
bytes.write((byte[]) size.putInt(key.length).flip()
.array());
bytes.write(key);
byte[] value = entry.getValue().toByteBuffer()
.array();
bytes.write((byte[]) size.putInt(value.length)
.flip().array());
bytes.write(value);
}
catch (IOException e) {
throw Throwables.propagate(e);
}
});
}
else if(type == ComplexTObjectType.LIST
|| type == ComplexTObjectType.SET) {
Collection<ComplexTObject> collection = type == ComplexTObjectType.LIST ? tlist
: tset;
collection.forEach((item) -> {
try {
byte[] itemBytes = item.toByteBuffer().array();
bytes.write((byte[]) size.putInt(itemBytes.length).flip()
.array());
bytes.write(itemBytes);
}
catch (IOException e) {
throw Throwables.propagate(e);
}
});
}
else if(type == ComplexTObjectType.TCRITERIA) {
tcriteria.symbols.forEach((item) -> {
try {
byte[] symbolBytes = item.symbol
.getBytes(StandardCharsets.UTF_8);
int length = symbolBytes.length + 1;
bytes.write((byte[]) size.putInt(length).flip().array());
bytes.write(item.type.ordinal());
bytes.write(symbolBytes);
}
catch (IOException e) {
throw Throwables.propagate(e);
}
});
}
else if(type == ComplexTObjectType.BINARY) {
try {
bytes.write(tbinary.array());
}
catch (IOException e) {
throw Throwables.propagate(e);
}
}
else {
TObject obj = MoreObjects.firstNonNull(tobject, tscalar);
try {
bytes.write(obj.type.ordinal());
bytes.write(obj.getData());
}
catch (IOException e) {
throw Throwables.propagate(e);
}
}
return ByteBuffer.wrap(bytes.toByteArray());
}
/**
* Return the canonical java object that is wrapped within this
* {@link ComplexTObject}.
*
* @return the wrapped java object
*/
public <T> T getJavaObject() {
if(cached == null) {
if(type == ComplexTObjectType.MAP) {
Map<ComplexTObject, ComplexTObject> tmap = getTmap();
Map<Object, Object> map = Maps.newLinkedHashMap();
for (Entry<ComplexTObject, ComplexTObject> entry : tmap
.entrySet()) {
map.put(entry.getKey().getJavaObject(), entry.getValue()
.getJavaObject());
}
cached = map;
}
else if(type == ComplexTObjectType.LIST) {
List<ComplexTObject> tlist = getTlist();
List<Object> list = Lists
.newArrayListWithCapacity(tlist.size());
for (ComplexTObject elt : tlist) {
list.add(elt.getJavaObject());
}
cached = list;
}
else if(type == ComplexTObjectType.SET) {
Set<ComplexTObject> tset = getTset();
Set<Object> set = Sets.newLinkedHashSetWithExpectedSize(tset
.size());
for (ComplexTObject elt : tset) {
set.add(elt.getJavaObject());
}
cached = set;
}
else if(type == ComplexTObjectType.TOBJECT) {
cached = getTobject();
}
else if(type == ComplexTObjectType.TCRITERIA) {
cached = getTcriteria();
}
else if(type == ComplexTObjectType.BINARY) {
return (T) bufferForTbinary();
}
else {
TObject tscalar = getTscalar();
cached = Convert.thriftToJava(tscalar);
}
}
return (T) cached;
}
public ComplexTObject deepCopy() {
return new ComplexTObject(this);
}
@Override
public void clear() {
this.type = null;
this.tscalar = null;
this.tmap = null;
this.tlist = null;
this.tset = null;
this.tobject = null;
this.tcriteria = null;
this.tbinary = null;
}
/**
*
* @see ComplexTObjectType
*/
public ComplexTObjectType getType() {
return this.type;
}
/**
*
* @see ComplexTObjectType
*/
public ComplexTObject setType(ComplexTObjectType type) {
this.type = type;
return this;
}
public void unsetType() {
this.type = null;
}
/**
* Returns true if field type is set (has been assigned a value) and false
* otherwise
*/
public boolean isSetType() {
return this.type != null;
}
public void setTypeIsSet(boolean value) {
if(!value) {
this.type = null;
}
}
public com.cinchapi.concourse.thrift.TObject getTscalar() {
return this.tscalar;
}
public ComplexTObject setTscalar(
com.cinchapi.concourse.thrift.TObject tscalar) {
this.tscalar = tscalar;
return this;
}
public void unsetTscalar() {
this.tscalar = null;
}
/**
* Returns true if field tscalar is set (has been assigned a value) and
* false otherwise
*/
public boolean isSetTscalar() {
return this.tscalar != null;
}
public void setTscalarIsSet(boolean value) {
if(!value) {
this.tscalar = null;
}
}
public int getTmapSize() {
return (this.tmap == null) ? 0 : this.tmap.size();
}
public void putToTmap(ComplexTObject key, ComplexTObject val) {
if(this.tmap == null) {
this.tmap = new HashMap<ComplexTObject, ComplexTObject>();
}
this.tmap.put(key, val);
}
public Map<ComplexTObject, ComplexTObject> getTmap() {
return this.tmap;
}
public ComplexTObject setTmap(Map<ComplexTObject, ComplexTObject> tmap) {
this.tmap = tmap;
return this;
}
public void unsetTmap() {
this.tmap = null;
}
/**
* Returns true if field tmap is set (has been assigned a value) and false
* otherwise
*/
public boolean isSetTmap() {
return this.tmap != null;
}
public void setTmapIsSet(boolean value) {
if(!value) {
this.tmap = null;
}
}
public int getTlistSize() {
return (this.tlist == null) ? 0 : this.tlist.size();
}
public java.util.Iterator<ComplexTObject> getTlistIterator() {
return (this.tlist == null) ? null : this.tlist.iterator();
}
public void addToTlist(ComplexTObject elem) {
if(this.tlist == null) {
this.tlist = new ArrayList<ComplexTObject>();
}
this.tlist.add(elem);
}
public List<ComplexTObject> getTlist() {
return this.tlist;
}
public ComplexTObject setTlist(List<ComplexTObject> tlist) {
this.tlist = tlist;
return this;
}
public void unsetTlist() {
this.tlist = null;
}
/**
* Returns true if field tlist is set (has been assigned a value) and false
* otherwise
*/
public boolean isSetTlist() {
return this.tlist != null;
}
public void setTlistIsSet(boolean value) {
if(!value) {
this.tlist = null;
}
}
public int getTsetSize() {
return (this.tset == null) ? 0 : this.tset.size();
}
public java.util.Iterator<ComplexTObject> getTsetIterator() {
return (this.tset == null) ? null : this.tset.iterator();
}
public void addToTset(ComplexTObject elem) {
if(this.tset == null) {
this.tset = new HashSet<ComplexTObject>();
}
this.tset.add(elem);
}
public Set<ComplexTObject> getTset() {
return this.tset;
}
public ComplexTObject setTset(Set<ComplexTObject> tset) {
this.tset = tset;
return this;
}
public void unsetTset() {
this.tset = null;
}
/**
* Returns true if field tset is set (has been assigned a value) and false
* otherwise
*/
public boolean isSetTset() {
return this.tset != null;
}
public void setTsetIsSet(boolean value) {
if(!value) {
this.tset = null;
}
}
public com.cinchapi.concourse.thrift.TObject getTobject() {
return this.tobject;
}
public ComplexTObject setTobject(
com.cinchapi.concourse.thrift.TObject tobject) {
this.tobject = tobject;
return this;
}
public void unsetTobject() {
this.tobject = null;
}
/**
* Returns true if field tobject is set (has been assigned a value) and
* false otherwise
*/
public boolean isSetTobject() {
return this.tobject != null;
}
public void setTobjectIsSet(boolean value) {
if(!value) {
this.tobject = null;
}
}
public com.cinchapi.concourse.thrift.TCriteria getTcriteria() {
return this.tcriteria;
}
public ComplexTObject setTcriteria(
com.cinchapi.concourse.thrift.TCriteria tcriteria) {
this.tcriteria = tcriteria;
return this;
}
public void unsetTcriteria() {
this.tcriteria = null;
}
/**
* Returns true if field tcriteria is set (has been assigned a value) and
* false otherwise
*/
public boolean isSetTcriteria() {
return this.tcriteria != null;
}
public void setTcriteriaIsSet(boolean value) {
if(!value) {
this.tcriteria = null;
}
}
public byte[] getTbinary() {
setTbinary(org.apache.thrift.TBaseHelper.rightSize(tbinary));
return tbinary == null ? null : tbinary.array();
}
public ByteBuffer bufferForTbinary() {
return org.apache.thrift.TBaseHelper.copyBinary(tbinary);
}
public ComplexTObject setTbinary(byte[] tbinary) {
this.tbinary = tbinary == null ? (ByteBuffer) null : ByteBuffer
.wrap(Arrays.copyOf(tbinary, tbinary.length));
return this;
}
public ComplexTObject setTbinary(ByteBuffer tbinary) {
this.tbinary = org.apache.thrift.TBaseHelper.copyBinary(tbinary);
return this;
}
public void unsetTbinary() {
this.tbinary = null;
}
/**
* Returns true if field tbinary is set (has been assigned a value) and
* false otherwise
*/
public boolean isSetTbinary() {
return this.tbinary != null;
}
public void setTbinaryIsSet(boolean value) {
if(!value) {
this.tbinary = null;
}
}
public void setFieldValue(_Fields field, Object value) {
switch (field) {
case TYPE:
if(value == null) {
unsetType();
}
else {
setType((ComplexTObjectType) value);
}
break;
case TSCALAR:
if(value == null) {
unsetTscalar();
}
else {
setTscalar((com.cinchapi.concourse.thrift.TObject) value);
}
break;
case TMAP:
if(value == null) {
unsetTmap();
}
else {
setTmap((Map<ComplexTObject, ComplexTObject>) value);
}
break;
case TLIST:
if(value == null) {
unsetTlist();
}
else {
setTlist((List<ComplexTObject>) value);
}
break;
case TSET:
if(value == null) {
unsetTset();
}
else {
setTset((Set<ComplexTObject>) value);
}
break;
case TOBJECT:
if(value == null) {
unsetTobject();
}
else {
setTobject((com.cinchapi.concourse.thrift.TObject) value);
}
break;
case TCRITERIA:
if(value == null) {
unsetTcriteria();
}
else {
setTcriteria((com.cinchapi.concourse.thrift.TCriteria) value);
}
break;
case TBINARY:
if(value == null) {
unsetTbinary();
}
else {
setTbinary((ByteBuffer) value);
}
break;
}
}
public Object getFieldValue(_Fields field) {
switch (field) {
case TYPE:
return getType();
case TSCALAR:
return getTscalar();
case TMAP:
return getTmap();
case TLIST:
return getTlist();
case TSET:
return getTset();
case TOBJECT:
return getTobject();
case TCRITERIA:
return getTcriteria();
case TBINARY:
return getTbinary();
}
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 TYPE:
return isSetType();
case TSCALAR:
return isSetTscalar();
case TMAP:
return isSetTmap();
case TLIST:
return isSetTlist();
case TSET:
return isSetTset();
case TOBJECT:
return isSetTobject();
case TCRITERIA:
return isSetTcriteria();
case TBINARY:
return isSetTbinary();
}
throw new IllegalStateException();
}
@Override
public boolean equals(Object that) {
if(that == null)
return false;
if(that instanceof ComplexTObject)
return this.equals((ComplexTObject) that);
return false;
}
public boolean equals(ComplexTObject that) {
if(that == null)
return false;
boolean this_present_type = true && this.isSetType();
boolean that_present_type = true && that.isSetType();
if(this_present_type || that_present_type) {
if(!(this_present_type && that_present_type))
return false;
if(!this.type.equals(that.type))
return false;
}
boolean this_present_tscalar = true && this.isSetTscalar();
boolean that_present_tscalar = true && that.isSetTscalar();
if(this_present_tscalar || that_present_tscalar) {
if(!(this_present_tscalar && that_present_tscalar))
return false;
if(!this.tscalar.equals(that.tscalar))
return false;
}
boolean this_present_tmap = true && this.isSetTmap();
boolean that_present_tmap = true && that.isSetTmap();
if(this_present_tmap || that_present_tmap) {
if(!(this_present_tmap && that_present_tmap))
return false;
if(!this.tmap.equals(that.tmap))
return false;
}
boolean this_present_tlist = true && this.isSetTlist();
boolean that_present_tlist = true && that.isSetTlist();
if(this_present_tlist || that_present_tlist) {
if(!(this_present_tlist && that_present_tlist))
return false;
if(!this.tlist.equals(that.tlist))
return false;
}
boolean this_present_tset = true && this.isSetTset();
boolean that_present_tset = true && that.isSetTset();
if(this_present_tset || that_present_tset) {
if(!(this_present_tset && that_present_tset))
return false;
if(!this.tset.equals(that.tset))
return false;
}
boolean this_present_tobject = true && this.isSetTobject();
boolean that_present_tobject = true && that.isSetTobject();
if(this_present_tobject || that_present_tobject) {
if(!(this_present_tobject && that_present_tobject))
return false;
if(!this.tobject.equals(that.tobject))
return false;
}
boolean this_present_tcriteria = true && this.isSetTcriteria();
boolean that_present_tcriteria = true && that.isSetTcriteria();
if(this_present_tcriteria || that_present_tcriteria) {
if(!(this_present_tcriteria && that_present_tcriteria))
return false;
if(!this.tcriteria.equals(that.tcriteria))
return false;
}
boolean this_present_tbinary = true && this.isSetTbinary();
boolean that_present_tbinary = true && that.isSetTbinary();
if(this_present_tbinary || that_present_tbinary) {
if(!(this_present_tbinary && that_present_tbinary))
return false;
if(!this.tbinary.equals(that.tbinary))
return false;
}
return true;
}
@Override
public int hashCode() {
List<Object> list = new ArrayList<Object>();
boolean present_type = true && (isSetType());
list.add(present_type);
if(present_type)
list.add(type.getValue());
boolean present_tscalar = true && (isSetTscalar());
list.add(present_tscalar);
if(present_tscalar)
list.add(tscalar);
boolean present_tmap = true && (isSetTmap());
list.add(present_tmap);
if(present_tmap)
list.add(tmap);
boolean present_tlist = true && (isSetTlist());
list.add(present_tlist);
if(present_tlist)
list.add(tlist);
boolean present_tset = true && (isSetTset());
list.add(present_tset);
if(present_tset)
list.add(tset);
boolean present_tobject = true && (isSetTobject());
list.add(present_tobject);
if(present_tobject)
list.add(tobject);
boolean present_tcriteria = true && (isSetTcriteria());
list.add(present_tcriteria);
if(present_tcriteria)
list.add(tcriteria);
boolean present_tbinary = true && (isSetTbinary());
list.add(present_tbinary);
if(present_tbinary)
list.add(tbinary);
return list.hashCode();
}
@Override
public int compareTo(ComplexTObject other) {
if(!getClass().equals(other.getClass())) {
return getClass().getName().compareTo(other.getClass().getName());
}
int lastComparison = 0;
lastComparison = Boolean.valueOf(isSetType()).compareTo(
other.isSetType());
if(lastComparison != 0) {
return lastComparison;
}
if(isSetType()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.type,
other.type);
if(lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetTscalar()).compareTo(
other.isSetTscalar());
if(lastComparison != 0) {
return lastComparison;
}
if(isSetTscalar()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(
this.tscalar, other.tscalar);
if(lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetTmap()).compareTo(
other.isSetTmap());
if(lastComparison != 0) {
return lastComparison;
}
if(isSetTmap()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tmap,
other.tmap);
if(lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetTlist()).compareTo(
other.isSetTlist());
if(lastComparison != 0) {
return lastComparison;
}
if(isSetTlist()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(
this.tlist, other.tlist);
if(lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetTset()).compareTo(
other.isSetTset());
if(lastComparison != 0) {
return lastComparison;
}
if(isSetTset()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tset,
other.tset);
if(lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetTobject()).compareTo(
other.isSetTobject());
if(lastComparison != 0) {
return lastComparison;
}
if(isSetTobject()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(
this.tobject, other.tobject);
if(lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetTcriteria()).compareTo(
other.isSetTcriteria());
if(lastComparison != 0) {
return lastComparison;
}
if(isSetTcriteria()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(
this.tcriteria, other.tcriteria);
if(lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetTbinary()).compareTo(
other.isSetTbinary());
if(lastComparison != 0) {
return lastComparison;
}
if(isSetTbinary()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(
this.tbinary, other.tbinary);
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 {
schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
}
public void write(org.apache.thrift.protocol.TProtocol oprot)
throws org.apache.thrift.TException {
schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder("ComplexTObject(");
boolean first = true;
sb.append("type:");
if(this.type == null) {
sb.append("null");
}
else {
sb.append(this.type);
}
first = false;
if(isSetTscalar()) {
if(!first)
sb.append(", ");
sb.append("tscalar:");
if(this.tscalar == null) {
sb.append("null");
}
else {
sb.append(this.tscalar);
}
first = false;
}
if(isSetTmap()) {
if(!first)
sb.append(", ");
sb.append("tmap:");
if(this.tmap == null) {
sb.append("null");
}
else {
sb.append(this.tmap);
}
first = false;
}
if(isSetTlist()) {
if(!first)
sb.append(", ");
sb.append("tlist:");
if(this.tlist == null) {
sb.append("null");
}
else {
sb.append(this.tlist);
}
first = false;
}
if(isSetTset()) {
if(!first)
sb.append(", ");
sb.append("tset:");
if(this.tset == null) {
sb.append("null");
}
else {
sb.append(this.tset);
}
first = false;
}
if(isSetTobject()) {
if(!first)
sb.append(", ");
sb.append("tobject:");
if(this.tobject == null) {
sb.append("null");
}
else {
sb.append(this.tobject);
}
first = false;
}
if(isSetTcriteria()) {
if(!first)
sb.append(", ");
sb.append("tcriteria:");
if(this.tcriteria == null) {
sb.append("null");
}
else {
sb.append(this.tcriteria);
}
first = false;
}
if(isSetTbinary()) {
if(!first)
sb.append(", ");
sb.append("tbinary:");
if(this.tbinary == null) {
sb.append("null");
}
else {
org.apache.thrift.TBaseHelper.toString(this.tbinary, sb);
}
first = false;
}
sb.append(")");
return sb.toString();
}
public void validate() throws org.apache.thrift.TException {
// check for required fields
if(type == null) {
throw new org.apache.thrift.protocol.TProtocolException(
"Required field 'type' was not present! Struct: "
+ toString());
}
// check for sub-struct validity
if(tscalar != null) {
tscalar.validate();
}
if(tobject != null) {
tobject.validate();
}
if(tcriteria != null) {
tcriteria.validate();
}
}
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);
}
}
private static class ComplexTObjectStandardSchemeFactory implements
SchemeFactory {
public ComplexTObjectStandardScheme getScheme() {
return new ComplexTObjectStandardScheme();
}
}
private static class ComplexTObjectStandardScheme extends
StandardScheme<ComplexTObject> {
public void read(org.apache.thrift.protocol.TProtocol iprot,
ComplexTObject struct) throws org.apache.thrift.TException {
org.apache.thrift.protocol.TField schemeField;
iprot.readStructBegin();
while (true) {
schemeField = iprot.readFieldBegin();
if(schemeField.type == org.apache.thrift.protocol.TType.STOP) {
break;
}
switch (schemeField.id) {
case 1: // TYPE
if(schemeField.type == org.apache.thrift.protocol.TType.I32) {
struct.type = com.cinchapi.concourse.thrift.ComplexTObjectType
.findByValue(iprot.readI32());
struct.setTypeIsSet(true);
}
else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot,
schemeField.type);
}
break;
case 2: // TSCALAR
if(schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
struct.tscalar = new com.cinchapi.concourse.thrift.TObject();
struct.tscalar.read(iprot);
struct.setTscalarIsSet(true);
}
else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot,
schemeField.type);
}
break;
case 3: // TMAP
if(schemeField.type == org.apache.thrift.protocol.TType.MAP) {
{
org.apache.thrift.protocol.TMap _map0 = iprot
.readMapBegin();
struct.tmap = new HashMap<ComplexTObject, ComplexTObject>(
2 * _map0.size);
ComplexTObject _key1;
ComplexTObject _val2;
for (int _i3 = 0; _i3 < _map0.size; ++_i3) {
_key1 = new ComplexTObject();
_key1.read(iprot);
_val2 = new ComplexTObject();
_val2.read(iprot);
struct.tmap.put(_key1, _val2);
}
iprot.readMapEnd();
}
struct.setTmapIsSet(true);
}
else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot,
schemeField.type);
}
break;
case 4: // TLIST
if(schemeField.type == org.apache.thrift.protocol.TType.LIST) {
{
org.apache.thrift.protocol.TList _list4 = iprot
.readListBegin();
struct.tlist = new ArrayList<ComplexTObject>(
_list4.size);
ComplexTObject _elem5;
for (int _i6 = 0; _i6 < _list4.size; ++_i6) {
_elem5 = new ComplexTObject();
_elem5.read(iprot);
struct.tlist.add(_elem5);
}
iprot.readListEnd();
}
struct.setTlistIsSet(true);
}
else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot,
schemeField.type);
}
break;
case 5: // TSET
if(schemeField.type == org.apache.thrift.protocol.TType.SET) {
{
org.apache.thrift.protocol.TSet _set7 = iprot
.readSetBegin();
struct.tset = new HashSet<ComplexTObject>(
2 * _set7.size);
ComplexTObject _elem8;
for (int _i9 = 0; _i9 < _set7.size; ++_i9) {
_elem8 = new ComplexTObject();
_elem8.read(iprot);
struct.tset.add(_elem8);
}
iprot.readSetEnd();
}
struct.setTsetIsSet(true);
}
else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot,
schemeField.type);
}
break;
case 6: // TOBJECT
if(schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
struct.tobject = new com.cinchapi.concourse.thrift.TObject();
struct.tobject.read(iprot);
struct.setTobjectIsSet(true);
}
else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot,
schemeField.type);
}
break;
case 7: // TCRITERIA
if(schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
struct.tcriteria = new com.cinchapi.concourse.thrift.TCriteria();
struct.tcriteria.read(iprot);
struct.setTcriteriaIsSet(true);
}
else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot,
schemeField.type);
}
break;
case 8: // TBINARY
if(schemeField.type == org.apache.thrift.protocol.TType.STRING) {
struct.tbinary = iprot.readBinary();
struct.setTbinaryIsSet(true);
}
else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot,
schemeField.type);
}
break;
default:
org.apache.thrift.protocol.TProtocolUtil.skip(iprot,
schemeField.type);
}
iprot.readFieldEnd();
}
iprot.readStructEnd();
// check for required fields of primitive type, which can't be
// checked in the validate method
struct.validate();
}
public void write(org.apache.thrift.protocol.TProtocol oprot,
ComplexTObject struct) throws org.apache.thrift.TException {
struct.validate();
oprot.writeStructBegin(STRUCT_DESC);
if(struct.type != null) {
oprot.writeFieldBegin(TYPE_FIELD_DESC);
oprot.writeI32(struct.type.getValue());
oprot.writeFieldEnd();
}
if(struct.tscalar != null) {
if(struct.isSetTscalar()) {
oprot.writeFieldBegin(TSCALAR_FIELD_DESC);
struct.tscalar.write(oprot);
oprot.writeFieldEnd();
}
}
if(struct.tmap != null) {
if(struct.isSetTmap()) {
oprot.writeFieldBegin(TMAP_FIELD_DESC);
{
oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(
org.apache.thrift.protocol.TType.STRUCT,
org.apache.thrift.protocol.TType.STRUCT,
struct.tmap.size()));
for (Map.Entry<ComplexTObject, ComplexTObject> _iter10 : struct.tmap
.entrySet()) {
_iter10.getKey().write(oprot);
_iter10.getValue().write(oprot);
}
oprot.writeMapEnd();
}
oprot.writeFieldEnd();
}
}
if(struct.tlist != null) {
if(struct.isSetTlist()) {
oprot.writeFieldBegin(TLIST_FIELD_DESC);
{
oprot.writeListBegin(new org.apache.thrift.protocol.TList(
org.apache.thrift.protocol.TType.STRUCT,
struct.tlist.size()));
for (ComplexTObject _iter11 : struct.tlist) {
_iter11.write(oprot);
}
oprot.writeListEnd();
}
oprot.writeFieldEnd();
}
}
if(struct.tset != null) {
if(struct.isSetTset()) {
oprot.writeFieldBegin(TSET_FIELD_DESC);
{
oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(
org.apache.thrift.protocol.TType.STRUCT,
struct.tset.size()));
for (ComplexTObject _iter12 : struct.tset) {
_iter12.write(oprot);
}
oprot.writeSetEnd();
}
oprot.writeFieldEnd();
}
}
if(struct.tobject != null) {
if(struct.isSetTobject()) {
oprot.writeFieldBegin(TOBJECT_FIELD_DESC);
struct.tobject.write(oprot);
oprot.writeFieldEnd();
}
}
if(struct.tcriteria != null) {
if(struct.isSetTcriteria()) {
oprot.writeFieldBegin(TCRITERIA_FIELD_DESC);
struct.tcriteria.write(oprot);
oprot.writeFieldEnd();
}
}
if(struct.tbinary != null) {
if(struct.isSetTbinary()) {
oprot.writeFieldBegin(TBINARY_FIELD_DESC);
oprot.writeBinary(struct.tbinary);
oprot.writeFieldEnd();
}
}
oprot.writeFieldStop();
oprot.writeStructEnd();
}
}
private static class ComplexTObjectTupleSchemeFactory implements
SchemeFactory {
public ComplexTObjectTupleScheme getScheme() {
return new ComplexTObjectTupleScheme();
}
}
private static class ComplexTObjectTupleScheme extends
TupleScheme<ComplexTObject> {
@Override
public void write(org.apache.thrift.protocol.TProtocol prot,
ComplexTObject struct) throws org.apache.thrift.TException {
TTupleProtocol oprot = (TTupleProtocol) prot;
oprot.writeI32(struct.type.getValue());
BitSet optionals = new BitSet();
if(struct.isSetTscalar()) {
optionals.set(0);
}
if(struct.isSetTmap()) {
optionals.set(1);
}
if(struct.isSetTlist()) {
optionals.set(2);
}
if(struct.isSetTset()) {
optionals.set(3);
}
if(struct.isSetTobject()) {
optionals.set(4);
}
if(struct.isSetTcriteria()) {
optionals.set(5);
}
if(struct.isSetTbinary()) {
optionals.set(6);
}
oprot.writeBitSet(optionals, 7);
if(struct.isSetTscalar()) {
struct.tscalar.write(oprot);
}
if(struct.isSetTmap()) {
{
oprot.writeI32(struct.tmap.size());
for (Map.Entry<ComplexTObject, ComplexTObject> _iter13 : struct.tmap
.entrySet()) {
_iter13.getKey().write(oprot);
_iter13.getValue().write(oprot);
}
}
}
if(struct.isSetTlist()) {
{
oprot.writeI32(struct.tlist.size());
for (ComplexTObject _iter14 : struct.tlist) {
_iter14.write(oprot);
}
}
}
if(struct.isSetTset()) {
{
oprot.writeI32(struct.tset.size());
for (ComplexTObject _iter15 : struct.tset) {
_iter15.write(oprot);
}
}
}
if(struct.isSetTobject()) {
struct.tobject.write(oprot);
}
if(struct.isSetTcriteria()) {
struct.tcriteria.write(oprot);
}
if(struct.isSetTbinary()) {
oprot.writeBinary(struct.tbinary);
}
}
@Override
public void read(org.apache.thrift.protocol.TProtocol prot,
ComplexTObject struct) throws org.apache.thrift.TException {
TTupleProtocol iprot = (TTupleProtocol) prot;
struct.type = com.cinchapi.concourse.thrift.ComplexTObjectType
.findByValue(iprot.readI32());
struct.setTypeIsSet(true);
BitSet incoming = iprot.readBitSet(7);
if(incoming.get(0)) {
struct.tscalar = new com.cinchapi.concourse.thrift.TObject();
struct.tscalar.read(iprot);
struct.setTscalarIsSet(true);
}
if(incoming.get(1)) {
{
org.apache.thrift.protocol.TMap _map16 = new org.apache.thrift.protocol.TMap(
org.apache.thrift.protocol.TType.STRUCT,
org.apache.thrift.protocol.TType.STRUCT,
iprot.readI32());
struct.tmap = new HashMap<ComplexTObject, ComplexTObject>(
2 * _map16.size);
ComplexTObject _key17;
ComplexTObject _val18;
for (int _i19 = 0; _i19 < _map16.size; ++_i19) {
_key17 = new ComplexTObject();
_key17.read(iprot);
_val18 = new ComplexTObject();
_val18.read(iprot);
struct.tmap.put(_key17, _val18);
}
}
struct.setTmapIsSet(true);
}
if(incoming.get(2)) {
{
org.apache.thrift.protocol.TList _list20 = new org.apache.thrift.protocol.TList(
org.apache.thrift.protocol.TType.STRUCT,
iprot.readI32());
struct.tlist = new ArrayList<ComplexTObject>(_list20.size);
ComplexTObject _elem21;
for (int _i22 = 0; _i22 < _list20.size; ++_i22) {
_elem21 = new ComplexTObject();
_elem21.read(iprot);
struct.tlist.add(_elem21);
}
}
struct.setTlistIsSet(true);
}
if(incoming.get(3)) {
{
org.apache.thrift.protocol.TSet _set23 = new org.apache.thrift.protocol.TSet(
org.apache.thrift.protocol.TType.STRUCT,
iprot.readI32());
struct.tset = new HashSet<ComplexTObject>(2 * _set23.size);
ComplexTObject _elem24;
for (int _i25 = 0; _i25 < _set23.size; ++_i25) {
_elem24 = new ComplexTObject();
_elem24.read(iprot);
struct.tset.add(_elem24);
}
}
struct.setTsetIsSet(true);
}
if(incoming.get(4)) {
struct.tobject = new com.cinchapi.concourse.thrift.TObject();
struct.tobject.read(iprot);
struct.setTobjectIsSet(true);
}
if(incoming.get(5)) {
struct.tcriteria = new com.cinchapi.concourse.thrift.TCriteria();
struct.tcriteria.read(iprot);
struct.setTcriteriaIsSet(true);
}
if(incoming.get(6)) {
struct.tbinary = iprot.readBinary();
struct.setTbinaryIsSet(true);
}
}
}
}