1/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 *   http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20package thrift
21
22// Autogenerated by Thrift Compiler (0.12.0)
23// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
24
25/* THE FOLLOWING THRIFT FILE WAS USED TO CREATE THIS
26
27enum MyTestEnum {
28	FIRST = 1,
29	SECOND = 2,
30	THIRD = 3,
31	FOURTH = 4,
32}
33
34struct MyTestStruct {
35	1: bool on,
36	2: byte b,
37	3: i16 int16,
38	4: i32 int32,
39	5: i64 int64,
40	6: double d,
41	7: string st,
42	8: binary bin,
43	9: map<string, string> stringMap,
44	10: list<string> stringList,
45	11: set<string> stringSet,
46	12: MyTestEnum e,
47}
48*/
49
50import (
51	"fmt"
52)
53
54// (needed to ensure safety because of naive import list construction.)
55var _ = ZERO
56var _ = fmt.Printf
57
58var GoUnusedProtection__ int
59
60type MyTestEnum int64
61
62const (
63	MyTestEnum_FIRST  MyTestEnum = 1
64	MyTestEnum_SECOND MyTestEnum = 2
65	MyTestEnum_THIRD  MyTestEnum = 3
66	MyTestEnum_FOURTH MyTestEnum = 4
67)
68
69func (p MyTestEnum) String() string {
70	switch p {
71	case MyTestEnum_FIRST:
72		return "FIRST"
73	case MyTestEnum_SECOND:
74		return "SECOND"
75	case MyTestEnum_THIRD:
76		return "THIRD"
77	case MyTestEnum_FOURTH:
78		return "FOURTH"
79	}
80	return "<UNSET>"
81}
82
83func MyTestEnumFromString(s string) (MyTestEnum, error) {
84	switch s {
85	case "FIRST":
86		return MyTestEnum_FIRST, nil
87	case "SECOND":
88		return MyTestEnum_SECOND, nil
89	case "THIRD":
90		return MyTestEnum_THIRD, nil
91	case "FOURTH":
92		return MyTestEnum_FOURTH, nil
93	}
94	return MyTestEnum(0), fmt.Errorf("not a valid MyTestEnum string")
95}
96
97func MyTestEnumPtr(v MyTestEnum) *MyTestEnum { return &v }
98
99type MyTestStruct struct {
100	On         bool                `thrift:"on,1" json:"on"`
101	B          int8                `thrift:"b,2" json:"b"`
102	Int16      int16               `thrift:"int16,3" json:"int16"`
103	Int32      int32               `thrift:"int32,4" json:"int32"`
104	Int64      int64               `thrift:"int64,5" json:"int64"`
105	D          float64             `thrift:"d,6" json:"d"`
106	St         string              `thrift:"st,7" json:"st"`
107	Bin        []byte              `thrift:"bin,8" json:"bin"`
108	StringMap  map[string]string   `thrift:"stringMap,9" json:"stringMap"`
109	StringList []string            `thrift:"stringList,10" json:"stringList"`
110	StringSet  map[string]struct{} `thrift:"stringSet,11" json:"stringSet"`
111	E          MyTestEnum          `thrift:"e,12" json:"e"`
112}
113
114func NewMyTestStruct() *MyTestStruct {
115	return &MyTestStruct{}
116}
117
118func (p *MyTestStruct) GetOn() bool {
119	return p.On
120}
121
122func (p *MyTestStruct) GetB() int8 {
123	return p.B
124}
125
126func (p *MyTestStruct) GetInt16() int16 {
127	return p.Int16
128}
129
130func (p *MyTestStruct) GetInt32() int32 {
131	return p.Int32
132}
133
134func (p *MyTestStruct) GetInt64() int64 {
135	return p.Int64
136}
137
138func (p *MyTestStruct) GetD() float64 {
139	return p.D
140}
141
142func (p *MyTestStruct) GetSt() string {
143	return p.St
144}
145
146func (p *MyTestStruct) GetBin() []byte {
147	return p.Bin
148}
149
150func (p *MyTestStruct) GetStringMap() map[string]string {
151	return p.StringMap
152}
153
154func (p *MyTestStruct) GetStringList() []string {
155	return p.StringList
156}
157
158func (p *MyTestStruct) GetStringSet() map[string]struct{} {
159	return p.StringSet
160}
161
162func (p *MyTestStruct) GetE() MyTestEnum {
163	return p.E
164}
165func (p *MyTestStruct) Read(iprot TProtocol) error {
166	if _, err := iprot.ReadStructBegin(); err != nil {
167		return PrependError(fmt.Sprintf("%T read error: ", p), err)
168	}
169	for {
170		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
171		if err != nil {
172			return PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
173		}
174		if fieldTypeId == STOP {
175			break
176		}
177		switch fieldId {
178		case 1:
179			if err := p.readField1(iprot); err != nil {
180				return err
181			}
182		case 2:
183			if err := p.readField2(iprot); err != nil {
184				return err
185			}
186		case 3:
187			if err := p.readField3(iprot); err != nil {
188				return err
189			}
190		case 4:
191			if err := p.readField4(iprot); err != nil {
192				return err
193			}
194		case 5:
195			if err := p.readField5(iprot); err != nil {
196				return err
197			}
198		case 6:
199			if err := p.readField6(iprot); err != nil {
200				return err
201			}
202		case 7:
203			if err := p.readField7(iprot); err != nil {
204				return err
205			}
206		case 8:
207			if err := p.readField8(iprot); err != nil {
208				return err
209			}
210		case 9:
211			if err := p.readField9(iprot); err != nil {
212				return err
213			}
214		case 10:
215			if err := p.readField10(iprot); err != nil {
216				return err
217			}
218		case 11:
219			if err := p.readField11(iprot); err != nil {
220				return err
221			}
222		case 12:
223			if err := p.readField12(iprot); err != nil {
224				return err
225			}
226		default:
227			if err := iprot.Skip(fieldTypeId); err != nil {
228				return err
229			}
230		}
231		if err := iprot.ReadFieldEnd(); err != nil {
232			return err
233		}
234	}
235	if err := iprot.ReadStructEnd(); err != nil {
236		return PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
237	}
238	return nil
239}
240
241func (p *MyTestStruct) readField1(iprot TProtocol) error {
242	if v, err := iprot.ReadBool(); err != nil {
243		return PrependError("error reading field 1: ", err)
244	} else {
245		p.On = v
246	}
247	return nil
248}
249
250func (p *MyTestStruct) readField2(iprot TProtocol) error {
251	if v, err := iprot.ReadByte(); err != nil {
252		return PrependError("error reading field 2: ", err)
253	} else {
254		temp := int8(v)
255		p.B = temp
256	}
257	return nil
258}
259
260func (p *MyTestStruct) readField3(iprot TProtocol) error {
261	if v, err := iprot.ReadI16(); err != nil {
262		return PrependError("error reading field 3: ", err)
263	} else {
264		p.Int16 = v
265	}
266	return nil
267}
268
269func (p *MyTestStruct) readField4(iprot TProtocol) error {
270	if v, err := iprot.ReadI32(); err != nil {
271		return PrependError("error reading field 4: ", err)
272	} else {
273		p.Int32 = v
274	}
275	return nil
276}
277
278func (p *MyTestStruct) readField5(iprot TProtocol) error {
279	if v, err := iprot.ReadI64(); err != nil {
280		return PrependError("error reading field 5: ", err)
281	} else {
282		p.Int64 = v
283	}
284	return nil
285}
286
287func (p *MyTestStruct) readField6(iprot TProtocol) error {
288	if v, err := iprot.ReadDouble(); err != nil {
289		return PrependError("error reading field 6: ", err)
290	} else {
291		p.D = v
292	}
293	return nil
294}
295
296func (p *MyTestStruct) readField7(iprot TProtocol) error {
297	if v, err := iprot.ReadString(); err != nil {
298		return PrependError("error reading field 7: ", err)
299	} else {
300		p.St = v
301	}
302	return nil
303}
304
305func (p *MyTestStruct) readField8(iprot TProtocol) error {
306	if v, err := iprot.ReadBinary(); err != nil {
307		return PrependError("error reading field 8: ", err)
308	} else {
309		p.Bin = v
310	}
311	return nil
312}
313
314func (p *MyTestStruct) readField9(iprot TProtocol) error {
315	_, _, size, err := iprot.ReadMapBegin()
316	if err != nil {
317		return PrependError("error reading map begin: ", err)
318	}
319	tMap := make(map[string]string, size)
320	p.StringMap = tMap
321	for i := 0; i < size; i++ {
322		var _key0 string
323		if v, err := iprot.ReadString(); err != nil {
324			return PrependError("error reading field 0: ", err)
325		} else {
326			_key0 = v
327		}
328		var _val1 string
329		if v, err := iprot.ReadString(); err != nil {
330			return PrependError("error reading field 0: ", err)
331		} else {
332			_val1 = v
333		}
334		p.StringMap[_key0] = _val1
335	}
336	if err := iprot.ReadMapEnd(); err != nil {
337		return PrependError("error reading map end: ", err)
338	}
339	return nil
340}
341
342func (p *MyTestStruct) readField10(iprot TProtocol) error {
343	_, size, err := iprot.ReadListBegin()
344	if err != nil {
345		return PrependError("error reading list begin: ", err)
346	}
347	tSlice := make([]string, 0, size)
348	p.StringList = tSlice
349	for i := 0; i < size; i++ {
350		var _elem2 string
351		if v, err := iprot.ReadString(); err != nil {
352			return PrependError("error reading field 0: ", err)
353		} else {
354			_elem2 = v
355		}
356		p.StringList = append(p.StringList, _elem2)
357	}
358	if err := iprot.ReadListEnd(); err != nil {
359		return PrependError("error reading list end: ", err)
360	}
361	return nil
362}
363
364func (p *MyTestStruct) readField11(iprot TProtocol) error {
365	_, size, err := iprot.ReadSetBegin()
366	if err != nil {
367		return PrependError("error reading set begin: ", err)
368	}
369	tSet := make(map[string]struct{}, size)
370	p.StringSet = tSet
371	for i := 0; i < size; i++ {
372		var _elem3 string
373		if v, err := iprot.ReadString(); err != nil {
374			return PrependError("error reading field 0: ", err)
375		} else {
376			_elem3 = v
377		}
378		p.StringSet[_elem3] = struct{}{}
379	}
380	if err := iprot.ReadSetEnd(); err != nil {
381		return PrependError("error reading set end: ", err)
382	}
383	return nil
384}
385
386func (p *MyTestStruct) readField12(iprot TProtocol) error {
387	if v, err := iprot.ReadI32(); err != nil {
388		return PrependError("error reading field 12: ", err)
389	} else {
390		temp := MyTestEnum(v)
391		p.E = temp
392	}
393	return nil
394}
395
396func (p *MyTestStruct) Write(oprot TProtocol) error {
397	if err := oprot.WriteStructBegin("MyTestStruct"); err != nil {
398		return PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
399	}
400	if err := p.writeField1(oprot); err != nil {
401		return err
402	}
403	if err := p.writeField2(oprot); err != nil {
404		return err
405	}
406	if err := p.writeField3(oprot); err != nil {
407		return err
408	}
409	if err := p.writeField4(oprot); err != nil {
410		return err
411	}
412	if err := p.writeField5(oprot); err != nil {
413		return err
414	}
415	if err := p.writeField6(oprot); err != nil {
416		return err
417	}
418	if err := p.writeField7(oprot); err != nil {
419		return err
420	}
421	if err := p.writeField8(oprot); err != nil {
422		return err
423	}
424	if err := p.writeField9(oprot); err != nil {
425		return err
426	}
427	if err := p.writeField10(oprot); err != nil {
428		return err
429	}
430	if err := p.writeField11(oprot); err != nil {
431		return err
432	}
433	if err := p.writeField12(oprot); err != nil {
434		return err
435	}
436	if err := oprot.WriteFieldStop(); err != nil {
437		return PrependError("write field stop error: ", err)
438	}
439	if err := oprot.WriteStructEnd(); err != nil {
440		return PrependError("write struct stop error: ", err)
441	}
442	return nil
443}
444
445func (p *MyTestStruct) writeField1(oprot TProtocol) (err error) {
446	if err := oprot.WriteFieldBegin("on", BOOL, 1); err != nil {
447		return PrependError(fmt.Sprintf("%T write field begin error 1:on: ", p), err)
448	}
449	if err := oprot.WriteBool(bool(p.On)); err != nil {
450		return PrependError(fmt.Sprintf("%T.on (1) field write error: ", p), err)
451	}
452	if err := oprot.WriteFieldEnd(); err != nil {
453		return PrependError(fmt.Sprintf("%T write field end error 1:on: ", p), err)
454	}
455	return err
456}
457
458func (p *MyTestStruct) writeField2(oprot TProtocol) (err error) {
459	if err := oprot.WriteFieldBegin("b", BYTE, 2); err != nil {
460		return PrependError(fmt.Sprintf("%T write field begin error 2:b: ", p), err)
461	}
462	if err := oprot.WriteByte(int8(p.B)); err != nil {
463		return PrependError(fmt.Sprintf("%T.b (2) field write error: ", p), err)
464	}
465	if err := oprot.WriteFieldEnd(); err != nil {
466		return PrependError(fmt.Sprintf("%T write field end error 2:b: ", p), err)
467	}
468	return err
469}
470
471func (p *MyTestStruct) writeField3(oprot TProtocol) (err error) {
472	if err := oprot.WriteFieldBegin("int16", I16, 3); err != nil {
473		return PrependError(fmt.Sprintf("%T write field begin error 3:int16: ", p), err)
474	}
475	if err := oprot.WriteI16(int16(p.Int16)); err != nil {
476		return PrependError(fmt.Sprintf("%T.int16 (3) field write error: ", p), err)
477	}
478	if err := oprot.WriteFieldEnd(); err != nil {
479		return PrependError(fmt.Sprintf("%T write field end error 3:int16: ", p), err)
480	}
481	return err
482}
483
484func (p *MyTestStruct) writeField4(oprot TProtocol) (err error) {
485	if err := oprot.WriteFieldBegin("int32", I32, 4); err != nil {
486		return PrependError(fmt.Sprintf("%T write field begin error 4:int32: ", p), err)
487	}
488	if err := oprot.WriteI32(int32(p.Int32)); err != nil {
489		return PrependError(fmt.Sprintf("%T.int32 (4) field write error: ", p), err)
490	}
491	if err := oprot.WriteFieldEnd(); err != nil {
492		return PrependError(fmt.Sprintf("%T write field end error 4:int32: ", p), err)
493	}
494	return err
495}
496
497func (p *MyTestStruct) writeField5(oprot TProtocol) (err error) {
498	if err := oprot.WriteFieldBegin("int64", I64, 5); err != nil {
499		return PrependError(fmt.Sprintf("%T write field begin error 5:int64: ", p), err)
500	}
501	if err := oprot.WriteI64(int64(p.Int64)); err != nil {
502		return PrependError(fmt.Sprintf("%T.int64 (5) field write error: ", p), err)
503	}
504	if err := oprot.WriteFieldEnd(); err != nil {
505		return PrependError(fmt.Sprintf("%T write field end error 5:int64: ", p), err)
506	}
507	return err
508}
509
510func (p *MyTestStruct) writeField6(oprot TProtocol) (err error) {
511	if err := oprot.WriteFieldBegin("d", DOUBLE, 6); err != nil {
512		return PrependError(fmt.Sprintf("%T write field begin error 6:d: ", p), err)
513	}
514	if err := oprot.WriteDouble(float64(p.D)); err != nil {
515		return PrependError(fmt.Sprintf("%T.d (6) field write error: ", p), err)
516	}
517	if err := oprot.WriteFieldEnd(); err != nil {
518		return PrependError(fmt.Sprintf("%T write field end error 6:d: ", p), err)
519	}
520	return err
521}
522
523func (p *MyTestStruct) writeField7(oprot TProtocol) (err error) {
524	if err := oprot.WriteFieldBegin("st", STRING, 7); err != nil {
525		return PrependError(fmt.Sprintf("%T write field begin error 7:st: ", p), err)
526	}
527	if err := oprot.WriteString(string(p.St)); err != nil {
528		return PrependError(fmt.Sprintf("%T.st (7) field write error: ", p), err)
529	}
530	if err := oprot.WriteFieldEnd(); err != nil {
531		return PrependError(fmt.Sprintf("%T write field end error 7:st: ", p), err)
532	}
533	return err
534}
535
536func (p *MyTestStruct) writeField8(oprot TProtocol) (err error) {
537	if err := oprot.WriteFieldBegin("bin", STRING, 8); err != nil {
538		return PrependError(fmt.Sprintf("%T write field begin error 8:bin: ", p), err)
539	}
540	if err := oprot.WriteBinary(p.Bin); err != nil {
541		return PrependError(fmt.Sprintf("%T.bin (8) field write error: ", p), err)
542	}
543	if err := oprot.WriteFieldEnd(); err != nil {
544		return PrependError(fmt.Sprintf("%T write field end error 8:bin: ", p), err)
545	}
546	return err
547}
548
549func (p *MyTestStruct) writeField9(oprot TProtocol) (err error) {
550	if err := oprot.WriteFieldBegin("stringMap", MAP, 9); err != nil {
551		return PrependError(fmt.Sprintf("%T write field begin error 9:stringMap: ", p), err)
552	}
553	if err := oprot.WriteMapBegin(STRING, STRING, len(p.StringMap)); err != nil {
554		return PrependError("error writing map begin: ", err)
555	}
556	for k, v := range p.StringMap {
557		if err := oprot.WriteString(string(k)); err != nil {
558			return PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
559		}
560		if err := oprot.WriteString(string(v)); err != nil {
561			return PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
562		}
563	}
564	if err := oprot.WriteMapEnd(); err != nil {
565		return PrependError("error writing map end: ", err)
566	}
567	if err := oprot.WriteFieldEnd(); err != nil {
568		return PrependError(fmt.Sprintf("%T write field end error 9:stringMap: ", p), err)
569	}
570	return err
571}
572
573func (p *MyTestStruct) writeField10(oprot TProtocol) (err error) {
574	if err := oprot.WriteFieldBegin("stringList", LIST, 10); err != nil {
575		return PrependError(fmt.Sprintf("%T write field begin error 10:stringList: ", p), err)
576	}
577	if err := oprot.WriteListBegin(STRING, len(p.StringList)); err != nil {
578		return PrependError("error writing list begin: ", err)
579	}
580	for _, v := range p.StringList {
581		if err := oprot.WriteString(string(v)); err != nil {
582			return PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
583		}
584	}
585	if err := oprot.WriteListEnd(); err != nil {
586		return PrependError("error writing list end: ", err)
587	}
588	if err := oprot.WriteFieldEnd(); err != nil {
589		return PrependError(fmt.Sprintf("%T write field end error 10:stringList: ", p), err)
590	}
591	return err
592}
593
594func (p *MyTestStruct) writeField11(oprot TProtocol) (err error) {
595	if err := oprot.WriteFieldBegin("stringSet", SET, 11); err != nil {
596		return PrependError(fmt.Sprintf("%T write field begin error 11:stringSet: ", p), err)
597	}
598	if err := oprot.WriteSetBegin(STRING, len(p.StringSet)); err != nil {
599		return PrependError("error writing set begin: ", err)
600	}
601	for v := range p.StringSet {
602		if err := oprot.WriteString(string(v)); err != nil {
603			return PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
604		}
605	}
606	if err := oprot.WriteSetEnd(); err != nil {
607		return PrependError("error writing set end: ", err)
608	}
609	if err := oprot.WriteFieldEnd(); err != nil {
610		return PrependError(fmt.Sprintf("%T write field end error 11:stringSet: ", p), err)
611	}
612	return err
613}
614
615func (p *MyTestStruct) writeField12(oprot TProtocol) (err error) {
616	if err := oprot.WriteFieldBegin("e", I32, 12); err != nil {
617		return PrependError(fmt.Sprintf("%T write field begin error 12:e: ", p), err)
618	}
619	if err := oprot.WriteI32(int32(p.E)); err != nil {
620		return PrependError(fmt.Sprintf("%T.e (12) field write error: ", p), err)
621	}
622	if err := oprot.WriteFieldEnd(); err != nil {
623		return PrependError(fmt.Sprintf("%T write field end error 12:e: ", p), err)
624	}
625	return err
626}
627
628func (p *MyTestStruct) String() string {
629	if p == nil {
630		return "<nil>"
631	}
632	return fmt.Sprintf("MyTestStruct(%+v)", *p)
633}
634