View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *     http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  /**
18   * Autogenerated by Thrift Compiler (0.9.0)
19   *
20   * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
21   *  @generated
22   */
23  package org.apache.accumulo.core.tabletserver.thrift;
24  
25  import org.apache.thrift.scheme.IScheme;
26  import org.apache.thrift.scheme.SchemeFactory;
27  import org.apache.thrift.scheme.StandardScheme;
28  
29  import org.apache.thrift.scheme.TupleScheme;
30  import org.apache.thrift.protocol.TTupleProtocol;
31  import org.apache.thrift.protocol.TProtocolException;
32  import org.apache.thrift.EncodingUtils;
33  import org.apache.thrift.TException;
34  import java.util.List;
35  import java.util.ArrayList;
36  import java.util.Map;
37  import java.util.HashMap;
38  import java.util.EnumMap;
39  import java.util.Set;
40  import java.util.HashSet;
41  import java.util.EnumSet;
42  import java.util.Collections;
43  import java.util.BitSet;
44  import java.nio.ByteBuffer;
45  import java.util.Arrays;
46  import org.slf4j.Logger;
47  import org.slf4j.LoggerFactory;
48  
49  @SuppressWarnings("all") public class TIteratorSetting implements org.apache.thrift.TBase<TIteratorSetting, TIteratorSetting._Fields>, java.io.Serializable, Cloneable {
50    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TIteratorSetting");
51  
52    private static final org.apache.thrift.protocol.TField PRIORITY_FIELD_DESC = new org.apache.thrift.protocol.TField("priority", org.apache.thrift.protocol.TType.I32, (short)1);
53    private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2);
54    private static final org.apache.thrift.protocol.TField ITERATOR_CLASS_FIELD_DESC = new org.apache.thrift.protocol.TField("iteratorClass", org.apache.thrift.protocol.TType.STRING, (short)3);
55    private static final org.apache.thrift.protocol.TField PROPERTIES_FIELD_DESC = new org.apache.thrift.protocol.TField("properties", org.apache.thrift.protocol.TType.MAP, (short)4);
56  
57    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
58    static {
59      schemes.put(StandardScheme.class, new TIteratorSettingStandardSchemeFactory());
60      schemes.put(TupleScheme.class, new TIteratorSettingTupleSchemeFactory());
61    }
62  
63    public int priority; // required
64    public String name; // required
65    public String iteratorClass; // required
66    public Map<String,String> properties; // required
67  
68    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
69    @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
70      PRIORITY((short)1, "priority"),
71      NAME((short)2, "name"),
72      ITERATOR_CLASS((short)3, "iteratorClass"),
73      PROPERTIES((short)4, "properties");
74  
75      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
76  
77      static {
78        for (_Fields field : EnumSet.allOf(_Fields.class)) {
79          byName.put(field.getFieldName(), field);
80        }
81      }
82  
83      /**
84       * Find the _Fields constant that matches fieldId, or null if its not found.
85       */
86      public static _Fields findByThriftId(int fieldId) {
87        switch(fieldId) {
88          case 1: // PRIORITY
89            return PRIORITY;
90          case 2: // NAME
91            return NAME;
92          case 3: // ITERATOR_CLASS
93            return ITERATOR_CLASS;
94          case 4: // PROPERTIES
95            return PROPERTIES;
96          default:
97            return null;
98        }
99      }
100 
101     /**
102      * Find the _Fields constant that matches fieldId, throwing an exception
103      * if it is not found.
104      */
105     public static _Fields findByThriftIdOrThrow(int fieldId) {
106       _Fields fields = findByThriftId(fieldId);
107       if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
108       return fields;
109     }
110 
111     /**
112      * Find the _Fields constant that matches name, or null if its not found.
113      */
114     public static _Fields findByName(String name) {
115       return byName.get(name);
116     }
117 
118     private final short _thriftId;
119     private final String _fieldName;
120 
121     _Fields(short thriftId, String fieldName) {
122       _thriftId = thriftId;
123       _fieldName = fieldName;
124     }
125 
126     public short getThriftFieldId() {
127       return _thriftId;
128     }
129 
130     public String getFieldName() {
131       return _fieldName;
132     }
133   }
134 
135   // isset id assignments
136   private static final int __PRIORITY_ISSET_ID = 0;
137   private byte __isset_bitfield = 0;
138   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
139   static {
140     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
141     tmpMap.put(_Fields.PRIORITY, new org.apache.thrift.meta_data.FieldMetaData("priority", org.apache.thrift.TFieldRequirementType.DEFAULT, 
142         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
143     tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
144         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
145     tmpMap.put(_Fields.ITERATOR_CLASS, new org.apache.thrift.meta_data.FieldMetaData("iteratorClass", org.apache.thrift.TFieldRequirementType.DEFAULT, 
146         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
147     tmpMap.put(_Fields.PROPERTIES, new org.apache.thrift.meta_data.FieldMetaData("properties", org.apache.thrift.TFieldRequirementType.DEFAULT, 
148         new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
149             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
150             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
151     metaDataMap = Collections.unmodifiableMap(tmpMap);
152     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TIteratorSetting.class, metaDataMap);
153   }
154 
155   public TIteratorSetting() {
156   }
157 
158   public TIteratorSetting(
159     int priority,
160     String name,
161     String iteratorClass,
162     Map<String,String> properties)
163   {
164     this();
165     this.priority = priority;
166     setPriorityIsSet(true);
167     this.name = name;
168     this.iteratorClass = iteratorClass;
169     this.properties = properties;
170   }
171 
172   /**
173    * Performs a deep copy on <i>other</i>.
174    */
175   public TIteratorSetting(TIteratorSetting other) {
176     __isset_bitfield = other.__isset_bitfield;
177     this.priority = other.priority;
178     if (other.isSetName()) {
179       this.name = other.name;
180     }
181     if (other.isSetIteratorClass()) {
182       this.iteratorClass = other.iteratorClass;
183     }
184     if (other.isSetProperties()) {
185       Map<String,String> __this__properties = new HashMap<String,String>();
186       for (Map.Entry<String, String> other_element : other.properties.entrySet()) {
187 
188         String other_element_key = other_element.getKey();
189         String other_element_value = other_element.getValue();
190 
191         String __this__properties_copy_key = other_element_key;
192 
193         String __this__properties_copy_value = other_element_value;
194 
195         __this__properties.put(__this__properties_copy_key, __this__properties_copy_value);
196       }
197       this.properties = __this__properties;
198     }
199   }
200 
201   public TIteratorSetting deepCopy() {
202     return new TIteratorSetting(this);
203   }
204 
205   @Override
206   public void clear() {
207     setPriorityIsSet(false);
208     this.priority = 0;
209     this.name = null;
210     this.iteratorClass = null;
211     this.properties = null;
212   }
213 
214   public int getPriority() {
215     return this.priority;
216   }
217 
218   public TIteratorSetting setPriority(int priority) {
219     this.priority = priority;
220     setPriorityIsSet(true);
221     return this;
222   }
223 
224   public void unsetPriority() {
225     __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PRIORITY_ISSET_ID);
226   }
227 
228   /** Returns true if field priority is set (has been assigned a value) and false otherwise */
229   public boolean isSetPriority() {
230     return EncodingUtils.testBit(__isset_bitfield, __PRIORITY_ISSET_ID);
231   }
232 
233   public void setPriorityIsSet(boolean value) {
234     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PRIORITY_ISSET_ID, value);
235   }
236 
237   public String getName() {
238     return this.name;
239   }
240 
241   public TIteratorSetting setName(String name) {
242     this.name = name;
243     return this;
244   }
245 
246   public void unsetName() {
247     this.name = null;
248   }
249 
250   /** Returns true if field name is set (has been assigned a value) and false otherwise */
251   public boolean isSetName() {
252     return this.name != null;
253   }
254 
255   public void setNameIsSet(boolean value) {
256     if (!value) {
257       this.name = null;
258     }
259   }
260 
261   public String getIteratorClass() {
262     return this.iteratorClass;
263   }
264 
265   public TIteratorSetting setIteratorClass(String iteratorClass) {
266     this.iteratorClass = iteratorClass;
267     return this;
268   }
269 
270   public void unsetIteratorClass() {
271     this.iteratorClass = null;
272   }
273 
274   /** Returns true if field iteratorClass is set (has been assigned a value) and false otherwise */
275   public boolean isSetIteratorClass() {
276     return this.iteratorClass != null;
277   }
278 
279   public void setIteratorClassIsSet(boolean value) {
280     if (!value) {
281       this.iteratorClass = null;
282     }
283   }
284 
285   public int getPropertiesSize() {
286     return (this.properties == null) ? 0 : this.properties.size();
287   }
288 
289   public void putToProperties(String key, String val) {
290     if (this.properties == null) {
291       this.properties = new HashMap<String,String>();
292     }
293     this.properties.put(key, val);
294   }
295 
296   public Map<String,String> getProperties() {
297     return this.properties;
298   }
299 
300   public TIteratorSetting setProperties(Map<String,String> properties) {
301     this.properties = properties;
302     return this;
303   }
304 
305   public void unsetProperties() {
306     this.properties = null;
307   }
308 
309   /** Returns true if field properties is set (has been assigned a value) and false otherwise */
310   public boolean isSetProperties() {
311     return this.properties != null;
312   }
313 
314   public void setPropertiesIsSet(boolean value) {
315     if (!value) {
316       this.properties = null;
317     }
318   }
319 
320   public void setFieldValue(_Fields field, Object value) {
321     switch (field) {
322     case PRIORITY:
323       if (value == null) {
324         unsetPriority();
325       } else {
326         setPriority((Integer)value);
327       }
328       break;
329 
330     case NAME:
331       if (value == null) {
332         unsetName();
333       } else {
334         setName((String)value);
335       }
336       break;
337 
338     case ITERATOR_CLASS:
339       if (value == null) {
340         unsetIteratorClass();
341       } else {
342         setIteratorClass((String)value);
343       }
344       break;
345 
346     case PROPERTIES:
347       if (value == null) {
348         unsetProperties();
349       } else {
350         setProperties((Map<String,String>)value);
351       }
352       break;
353 
354     }
355   }
356 
357   public Object getFieldValue(_Fields field) {
358     switch (field) {
359     case PRIORITY:
360       return Integer.valueOf(getPriority());
361 
362     case NAME:
363       return getName();
364 
365     case ITERATOR_CLASS:
366       return getIteratorClass();
367 
368     case PROPERTIES:
369       return getProperties();
370 
371     }
372     throw new IllegalStateException();
373   }
374 
375   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
376   public boolean isSet(_Fields field) {
377     if (field == null) {
378       throw new IllegalArgumentException();
379     }
380 
381     switch (field) {
382     case PRIORITY:
383       return isSetPriority();
384     case NAME:
385       return isSetName();
386     case ITERATOR_CLASS:
387       return isSetIteratorClass();
388     case PROPERTIES:
389       return isSetProperties();
390     }
391     throw new IllegalStateException();
392   }
393 
394   @Override
395   public boolean equals(Object that) {
396     if (that == null)
397       return false;
398     if (that instanceof TIteratorSetting)
399       return this.equals((TIteratorSetting)that);
400     return false;
401   }
402 
403   public boolean equals(TIteratorSetting that) {
404     if (that == null)
405       return false;
406 
407     boolean this_present_priority = true;
408     boolean that_present_priority = true;
409     if (this_present_priority || that_present_priority) {
410       if (!(this_present_priority && that_present_priority))
411         return false;
412       if (this.priority != that.priority)
413         return false;
414     }
415 
416     boolean this_present_name = true && this.isSetName();
417     boolean that_present_name = true && that.isSetName();
418     if (this_present_name || that_present_name) {
419       if (!(this_present_name && that_present_name))
420         return false;
421       if (!this.name.equals(that.name))
422         return false;
423     }
424 
425     boolean this_present_iteratorClass = true && this.isSetIteratorClass();
426     boolean that_present_iteratorClass = true && that.isSetIteratorClass();
427     if (this_present_iteratorClass || that_present_iteratorClass) {
428       if (!(this_present_iteratorClass && that_present_iteratorClass))
429         return false;
430       if (!this.iteratorClass.equals(that.iteratorClass))
431         return false;
432     }
433 
434     boolean this_present_properties = true && this.isSetProperties();
435     boolean that_present_properties = true && that.isSetProperties();
436     if (this_present_properties || that_present_properties) {
437       if (!(this_present_properties && that_present_properties))
438         return false;
439       if (!this.properties.equals(that.properties))
440         return false;
441     }
442 
443     return true;
444   }
445 
446   @Override
447   public int hashCode() {
448     return 0;
449   }
450 
451   public int compareTo(TIteratorSetting other) {
452     if (!getClass().equals(other.getClass())) {
453       return getClass().getName().compareTo(other.getClass().getName());
454     }
455 
456     int lastComparison = 0;
457     TIteratorSetting typedOther = (TIteratorSetting)other;
458 
459     lastComparison = Boolean.valueOf(isSetPriority()).compareTo(typedOther.isSetPriority());
460     if (lastComparison != 0) {
461       return lastComparison;
462     }
463     if (isSetPriority()) {
464       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.priority, typedOther.priority);
465       if (lastComparison != 0) {
466         return lastComparison;
467       }
468     }
469     lastComparison = Boolean.valueOf(isSetName()).compareTo(typedOther.isSetName());
470     if (lastComparison != 0) {
471       return lastComparison;
472     }
473     if (isSetName()) {
474       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, typedOther.name);
475       if (lastComparison != 0) {
476         return lastComparison;
477       }
478     }
479     lastComparison = Boolean.valueOf(isSetIteratorClass()).compareTo(typedOther.isSetIteratorClass());
480     if (lastComparison != 0) {
481       return lastComparison;
482     }
483     if (isSetIteratorClass()) {
484       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.iteratorClass, typedOther.iteratorClass);
485       if (lastComparison != 0) {
486         return lastComparison;
487       }
488     }
489     lastComparison = Boolean.valueOf(isSetProperties()).compareTo(typedOther.isSetProperties());
490     if (lastComparison != 0) {
491       return lastComparison;
492     }
493     if (isSetProperties()) {
494       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.properties, typedOther.properties);
495       if (lastComparison != 0) {
496         return lastComparison;
497       }
498     }
499     return 0;
500   }
501 
502   public _Fields fieldForId(int fieldId) {
503     return _Fields.findByThriftId(fieldId);
504   }
505 
506   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
507     schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
508   }
509 
510   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
511     schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
512   }
513 
514   @Override
515   public String toString() {
516     StringBuilder sb = new StringBuilder("TIteratorSetting(");
517     boolean first = true;
518 
519     sb.append("priority:");
520     sb.append(this.priority);
521     first = false;
522     if (!first) sb.append(", ");
523     sb.append("name:");
524     if (this.name == null) {
525       sb.append("null");
526     } else {
527       sb.append(this.name);
528     }
529     first = false;
530     if (!first) sb.append(", ");
531     sb.append("iteratorClass:");
532     if (this.iteratorClass == null) {
533       sb.append("null");
534     } else {
535       sb.append(this.iteratorClass);
536     }
537     first = false;
538     if (!first) sb.append(", ");
539     sb.append("properties:");
540     if (this.properties == null) {
541       sb.append("null");
542     } else {
543       sb.append(this.properties);
544     }
545     first = false;
546     sb.append(")");
547     return sb.toString();
548   }
549 
550   public void validate() throws org.apache.thrift.TException {
551     // check for required fields
552     // check for sub-struct validity
553   }
554 
555   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
556     try {
557       write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
558     } catch (org.apache.thrift.TException te) {
559       throw new java.io.IOException(te);
560     }
561   }
562 
563   private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
564     try {
565       // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
566       __isset_bitfield = 0;
567       read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
568     } catch (org.apache.thrift.TException te) {
569       throw new java.io.IOException(te);
570     }
571   }
572 
573   private static class TIteratorSettingStandardSchemeFactory implements SchemeFactory {
574     public TIteratorSettingStandardScheme getScheme() {
575       return new TIteratorSettingStandardScheme();
576     }
577   }
578 
579   private static class TIteratorSettingStandardScheme extends StandardScheme<TIteratorSetting> {
580 
581     public void read(org.apache.thrift.protocol.TProtocol iprot, TIteratorSetting struct) throws org.apache.thrift.TException {
582       org.apache.thrift.protocol.TField schemeField;
583       iprot.readStructBegin();
584       while (true)
585       {
586         schemeField = iprot.readFieldBegin();
587         if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
588           break;
589         }
590         switch (schemeField.id) {
591           case 1: // PRIORITY
592             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
593               struct.priority = iprot.readI32();
594               struct.setPriorityIsSet(true);
595             } else { 
596               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
597             }
598             break;
599           case 2: // NAME
600             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
601               struct.name = iprot.readString();
602               struct.setNameIsSet(true);
603             } else { 
604               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
605             }
606             break;
607           case 3: // ITERATOR_CLASS
608             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
609               struct.iteratorClass = iprot.readString();
610               struct.setIteratorClassIsSet(true);
611             } else { 
612               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
613             }
614             break;
615           case 4: // PROPERTIES
616             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
617               {
618                 org.apache.thrift.protocol.TMap _map88 = iprot.readMapBegin();
619                 struct.properties = new HashMap<String,String>(2*_map88.size);
620                 for (int _i89 = 0; _i89 < _map88.size; ++_i89)
621                 {
622                   String _key90; // required
623                   String _val91; // required
624                   _key90 = iprot.readString();
625                   _val91 = iprot.readString();
626                   struct.properties.put(_key90, _val91);
627                 }
628                 iprot.readMapEnd();
629               }
630               struct.setPropertiesIsSet(true);
631             } else { 
632               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
633             }
634             break;
635           default:
636             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
637         }
638         iprot.readFieldEnd();
639       }
640       iprot.readStructEnd();
641 
642       // check for required fields of primitive type, which can't be checked in the validate method
643       struct.validate();
644     }
645 
646     public void write(org.apache.thrift.protocol.TProtocol oprot, TIteratorSetting struct) throws org.apache.thrift.TException {
647       struct.validate();
648 
649       oprot.writeStructBegin(STRUCT_DESC);
650       oprot.writeFieldBegin(PRIORITY_FIELD_DESC);
651       oprot.writeI32(struct.priority);
652       oprot.writeFieldEnd();
653       if (struct.name != null) {
654         oprot.writeFieldBegin(NAME_FIELD_DESC);
655         oprot.writeString(struct.name);
656         oprot.writeFieldEnd();
657       }
658       if (struct.iteratorClass != null) {
659         oprot.writeFieldBegin(ITERATOR_CLASS_FIELD_DESC);
660         oprot.writeString(struct.iteratorClass);
661         oprot.writeFieldEnd();
662       }
663       if (struct.properties != null) {
664         oprot.writeFieldBegin(PROPERTIES_FIELD_DESC);
665         {
666           oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.properties.size()));
667           for (Map.Entry<String, String> _iter92 : struct.properties.entrySet())
668           {
669             oprot.writeString(_iter92.getKey());
670             oprot.writeString(_iter92.getValue());
671           }
672           oprot.writeMapEnd();
673         }
674         oprot.writeFieldEnd();
675       }
676       oprot.writeFieldStop();
677       oprot.writeStructEnd();
678     }
679 
680   }
681 
682   private static class TIteratorSettingTupleSchemeFactory implements SchemeFactory {
683     public TIteratorSettingTupleScheme getScheme() {
684       return new TIteratorSettingTupleScheme();
685     }
686   }
687 
688   private static class TIteratorSettingTupleScheme extends TupleScheme<TIteratorSetting> {
689 
690     @Override
691     public void write(org.apache.thrift.protocol.TProtocol prot, TIteratorSetting struct) throws org.apache.thrift.TException {
692       TTupleProtocol oprot = (TTupleProtocol) prot;
693       BitSet optionals = new BitSet();
694       if (struct.isSetPriority()) {
695         optionals.set(0);
696       }
697       if (struct.isSetName()) {
698         optionals.set(1);
699       }
700       if (struct.isSetIteratorClass()) {
701         optionals.set(2);
702       }
703       if (struct.isSetProperties()) {
704         optionals.set(3);
705       }
706       oprot.writeBitSet(optionals, 4);
707       if (struct.isSetPriority()) {
708         oprot.writeI32(struct.priority);
709       }
710       if (struct.isSetName()) {
711         oprot.writeString(struct.name);
712       }
713       if (struct.isSetIteratorClass()) {
714         oprot.writeString(struct.iteratorClass);
715       }
716       if (struct.isSetProperties()) {
717         {
718           oprot.writeI32(struct.properties.size());
719           for (Map.Entry<String, String> _iter93 : struct.properties.entrySet())
720           {
721             oprot.writeString(_iter93.getKey());
722             oprot.writeString(_iter93.getValue());
723           }
724         }
725       }
726     }
727 
728     @Override
729     public void read(org.apache.thrift.protocol.TProtocol prot, TIteratorSetting struct) throws org.apache.thrift.TException {
730       TTupleProtocol iprot = (TTupleProtocol) prot;
731       BitSet incoming = iprot.readBitSet(4);
732       if (incoming.get(0)) {
733         struct.priority = iprot.readI32();
734         struct.setPriorityIsSet(true);
735       }
736       if (incoming.get(1)) {
737         struct.name = iprot.readString();
738         struct.setNameIsSet(true);
739       }
740       if (incoming.get(2)) {
741         struct.iteratorClass = iprot.readString();
742         struct.setIteratorClassIsSet(true);
743       }
744       if (incoming.get(3)) {
745         {
746           org.apache.thrift.protocol.TMap _map94 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
747           struct.properties = new HashMap<String,String>(2*_map94.size);
748           for (int _i95 = 0; _i95 < _map94.size; ++_i95)
749           {
750             String _key96; // required
751             String _val97; // required
752             _key96 = iprot.readString();
753             _val97 = iprot.readString();
754             struct.properties.put(_key96, _val97);
755           }
756         }
757         struct.setPropertiesIsSet(true);
758       }
759     }
760   }
761 
762 }
763