1// Autogenerated by Thrift Compiler (facebook)
2// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
3// @generated
4
5package includes
6
7import (
8	"bytes"
9	"context"
10	"sync"
11	"fmt"
12	thrift "github.com/facebook/fbthrift/thrift/lib/go/thrift"
13	transitive0 "transitive"
14
15)
16
17// (needed to ensure safety because of naive import list construction.)
18var _ = thrift.ZERO
19var _ = fmt.Printf
20var _ = sync.Mutex{}
21var _ = bytes.Equal
22var _ = context.Background
23
24var _ = transitive0.GoUnusedProtection__
25var GoUnusedProtection__ int;
26
27type IncludedInt64 = int64
28
29func IncludedInt64Ptr(v IncludedInt64) *IncludedInt64 { return &v }
30
31type TransitiveFoo = transitive0.Foo
32
33func TransitiveFooPtr(v TransitiveFoo) *TransitiveFoo { return &v }
34
35func NewTransitiveFoo() *TransitiveFoo { return transitive0.NewFoo() }
36
37// Attributes:
38//  - MyIntField
39//  - MyTransitiveField
40type Included struct {
41  MyIntField int64 `thrift:"MyIntField,1" db:"MyIntField" json:"MyIntField"`
42  MyTransitiveField *transitive0.Foo `thrift:"MyTransitiveField,2" db:"MyTransitiveField" json:"MyTransitiveField"`
43}
44
45func NewIncluded() *Included {
46  return &Included{
47    MyTransitiveField: transitive0.NewFoo(),
48  }
49}
50
51
52func (p *Included) GetMyIntField() int64 {
53  return p.MyIntField
54}
55var Included_MyTransitiveField_DEFAULT *transitive0.Foo = &transitive0.Foo{
56  A: 2,
57}
58func (p *Included) GetMyTransitiveField() *transitive0.Foo {
59  if !p.IsSetMyTransitiveField() {
60    return Included_MyTransitiveField_DEFAULT
61  }
62return p.MyTransitiveField
63}
64func (p *Included) IsSetMyTransitiveField() bool {
65  return p != nil && p.MyTransitiveField != nil
66}
67
68type IncludedBuilder struct {
69  obj *Included
70}
71
72func NewIncludedBuilder() *IncludedBuilder{
73  return &IncludedBuilder{
74    obj: NewIncluded(),
75  }
76}
77
78func (p IncludedBuilder) Emit() *Included{
79  return &Included{
80    MyIntField: p.obj.MyIntField,
81    MyTransitiveField: p.obj.MyTransitiveField,
82  }
83}
84
85func (i *IncludedBuilder) MyIntField(myIntField int64) *IncludedBuilder {
86  i.obj.MyIntField = myIntField
87  return i
88}
89
90func (i *IncludedBuilder) MyTransitiveField(myTransitiveField *transitive0.Foo) *IncludedBuilder {
91  i.obj.MyTransitiveField = myTransitiveField
92  return i
93}
94
95func (i *Included) SetMyIntField(myIntField int64) *Included {
96  i.MyIntField = myIntField
97  return i
98}
99
100func (i *Included) SetMyTransitiveField(myTransitiveField *transitive0.Foo) *Included {
101  i.MyTransitiveField = myTransitiveField
102  return i
103}
104
105func (p *Included) Read(iprot thrift.Protocol) error {
106  if _, err := iprot.ReadStructBegin(); err != nil {
107    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
108  }
109
110
111  for {
112    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
113    if err != nil {
114      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
115    }
116    if fieldTypeId == thrift.STOP { break; }
117    switch fieldId {
118    case 1:
119      if err := p.ReadField1(iprot); err != nil {
120        return err
121      }
122    case 2:
123      if err := p.ReadField2(iprot); err != nil {
124        return err
125      }
126    default:
127      if err := iprot.Skip(fieldTypeId); err != nil {
128        return err
129      }
130    }
131    if err := iprot.ReadFieldEnd(); err != nil {
132      return err
133    }
134  }
135  if err := iprot.ReadStructEnd(); err != nil {
136    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
137  }
138  return nil
139}
140
141func (p *Included)  ReadField1(iprot thrift.Protocol) error {
142  if v, err := iprot.ReadI64(); err != nil {
143    return thrift.PrependError("error reading field 1: ", err)
144  } else {
145    p.MyIntField = v
146  }
147  return nil
148}
149
150func (p *Included)  ReadField2(iprot thrift.Protocol) error {
151  p.MyTransitiveField = transitive0.NewFoo()
152  if err := p.MyTransitiveField.Read(iprot); err != nil {
153    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.MyTransitiveField), err)
154  }
155  return nil
156}
157
158func (p *Included) Write(oprot thrift.Protocol) error {
159  if err := oprot.WriteStructBegin("Included"); err != nil {
160    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
161  if err := p.writeField1(oprot); err != nil { return err }
162  if err := p.writeField2(oprot); err != nil { return err }
163  if err := oprot.WriteFieldStop(); err != nil {
164    return thrift.PrependError("write field stop error: ", err) }
165  if err := oprot.WriteStructEnd(); err != nil {
166    return thrift.PrependError("write struct stop error: ", err) }
167  return nil
168}
169
170func (p *Included) writeField1(oprot thrift.Protocol) (err error) {
171  if err := oprot.WriteFieldBegin("MyIntField", thrift.I64, 1); err != nil {
172    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:MyIntField: ", p), err) }
173  if err := oprot.WriteI64(int64(p.MyIntField)); err != nil {
174  return thrift.PrependError(fmt.Sprintf("%T.MyIntField (1) field write error: ", p), err) }
175  if err := oprot.WriteFieldEnd(); err != nil {
176    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:MyIntField: ", p), err) }
177  return err
178}
179
180func (p *Included) writeField2(oprot thrift.Protocol) (err error) {
181  if err := oprot.WriteFieldBegin("MyTransitiveField", thrift.STRUCT, 2); err != nil {
182    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:MyTransitiveField: ", p), err) }
183  if err := p.MyTransitiveField.Write(oprot); err != nil {
184    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.MyTransitiveField), err)
185  }
186  if err := oprot.WriteFieldEnd(); err != nil {
187    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:MyTransitiveField: ", p), err) }
188  return err
189}
190
191func (p *Included) String() string {
192  if p == nil {
193    return "<nil>"
194  }
195
196  myIntFieldVal := fmt.Sprintf("%v", p.MyIntField)
197  var myTransitiveFieldVal string
198  if p.MyTransitiveField == nil {
199    myTransitiveFieldVal = "<nil>"
200  } else {
201    myTransitiveFieldVal = fmt.Sprintf("%v", p.MyTransitiveField)
202  }
203  return fmt.Sprintf("Included({MyIntField:%s MyTransitiveField:%s})", myIntFieldVal, myTransitiveFieldVal)
204}
205
206