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 module 6 7import ( 8 "bytes" 9 "context" 10 "sync" 11 "fmt" 12 thrift "github.com/facebook/fbthrift/thrift/lib/go/thrift" 13) 14 15// (needed to ensure safety because of naive import list construction.) 16var _ = thrift.ZERO 17var _ = fmt.Printf 18var _ = sync.Mutex{} 19var _ = bytes.Equal 20var _ = context.Background 21 22var GoUnusedProtection__ int; 23 24type Animal int64 25const ( 26 Animal_DOG Animal = 1 27 Animal_CAT Animal = 2 28 Animal_TARANTULA Animal = 3 29) 30 31var AnimalToName = map[Animal]string { 32 Animal_DOG: "DOG", 33 Animal_CAT: "CAT", 34 Animal_TARANTULA: "TARANTULA", 35} 36 37var AnimalToValue = map[string]Animal { 38 "DOG": Animal_DOG, 39 "CAT": Animal_CAT, 40 "TARANTULA": Animal_TARANTULA, 41} 42 43var AnimalNames = []string { 44 "DOG", 45 "CAT", 46 "TARANTULA", 47} 48 49var AnimalValues = []Animal { 50 Animal_DOG, 51 Animal_CAT, 52 Animal_TARANTULA, 53} 54 55func (p Animal) String() string { 56 if v, ok := AnimalToName[p]; ok { 57 return v 58 } 59 return "<UNSET>" 60} 61 62func AnimalFromString(s string) (Animal, error) { 63 if v, ok := AnimalToValue[s]; ok { 64 return v, nil 65 } 66 return Animal(0), fmt.Errorf("not a valid Animal string") 67} 68 69func AnimalPtr(v Animal) *Animal { return &v } 70 71type PersonID = int64 72 73func PersonIDPtr(v PersonID) *PersonID { return &v } 74 75// Attributes: 76// - Red 77// - Green 78// - Blue 79// - Alpha 80type Color struct { 81 Red float64 `thrift:"red,1" db:"red" json:"red"` 82 Green float64 `thrift:"green,2" db:"green" json:"green"` 83 Blue float64 `thrift:"blue,3" db:"blue" json:"blue"` 84 Alpha float64 `thrift:"alpha,4" db:"alpha" json:"alpha"` 85} 86 87func NewColor() *Color { 88 return &Color{} 89} 90 91 92func (p *Color) GetRed() float64 { 93 return p.Red 94} 95 96func (p *Color) GetGreen() float64 { 97 return p.Green 98} 99 100func (p *Color) GetBlue() float64 { 101 return p.Blue 102} 103 104func (p *Color) GetAlpha() float64 { 105 return p.Alpha 106} 107type ColorBuilder struct { 108 obj *Color 109} 110 111func NewColorBuilder() *ColorBuilder{ 112 return &ColorBuilder{ 113 obj: NewColor(), 114 } 115} 116 117func (p ColorBuilder) Emit() *Color{ 118 return &Color{ 119 Red: p.obj.Red, 120 Green: p.obj.Green, 121 Blue: p.obj.Blue, 122 Alpha: p.obj.Alpha, 123 } 124} 125 126func (c *ColorBuilder) Red(red float64) *ColorBuilder { 127 c.obj.Red = red 128 return c 129} 130 131func (c *ColorBuilder) Green(green float64) *ColorBuilder { 132 c.obj.Green = green 133 return c 134} 135 136func (c *ColorBuilder) Blue(blue float64) *ColorBuilder { 137 c.obj.Blue = blue 138 return c 139} 140 141func (c *ColorBuilder) Alpha(alpha float64) *ColorBuilder { 142 c.obj.Alpha = alpha 143 return c 144} 145 146func (c *Color) SetRed(red float64) *Color { 147 c.Red = red 148 return c 149} 150 151func (c *Color) SetGreen(green float64) *Color { 152 c.Green = green 153 return c 154} 155 156func (c *Color) SetBlue(blue float64) *Color { 157 c.Blue = blue 158 return c 159} 160 161func (c *Color) SetAlpha(alpha float64) *Color { 162 c.Alpha = alpha 163 return c 164} 165 166func (p *Color) Read(iprot thrift.Protocol) error { 167 if _, err := iprot.ReadStructBegin(); err != nil { 168 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 169 } 170 171 172 for { 173 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 174 if err != nil { 175 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 176 } 177 if fieldTypeId == thrift.STOP { break; } 178 switch fieldId { 179 case 1: 180 if err := p.ReadField1(iprot); err != nil { 181 return err 182 } 183 case 2: 184 if err := p.ReadField2(iprot); err != nil { 185 return err 186 } 187 case 3: 188 if err := p.ReadField3(iprot); err != nil { 189 return err 190 } 191 case 4: 192 if err := p.ReadField4(iprot); err != nil { 193 return err 194 } 195 default: 196 if err := iprot.Skip(fieldTypeId); err != nil { 197 return err 198 } 199 } 200 if err := iprot.ReadFieldEnd(); err != nil { 201 return err 202 } 203 } 204 if err := iprot.ReadStructEnd(); err != nil { 205 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 206 } 207 return nil 208} 209 210func (p *Color) ReadField1(iprot thrift.Protocol) error { 211 if v, err := iprot.ReadDouble(); err != nil { 212 return thrift.PrependError("error reading field 1: ", err) 213 } else { 214 p.Red = v 215 } 216 return nil 217} 218 219func (p *Color) ReadField2(iprot thrift.Protocol) error { 220 if v, err := iprot.ReadDouble(); err != nil { 221 return thrift.PrependError("error reading field 2: ", err) 222 } else { 223 p.Green = v 224 } 225 return nil 226} 227 228func (p *Color) ReadField3(iprot thrift.Protocol) error { 229 if v, err := iprot.ReadDouble(); err != nil { 230 return thrift.PrependError("error reading field 3: ", err) 231 } else { 232 p.Blue = v 233 } 234 return nil 235} 236 237func (p *Color) ReadField4(iprot thrift.Protocol) error { 238 if v, err := iprot.ReadDouble(); err != nil { 239 return thrift.PrependError("error reading field 4: ", err) 240 } else { 241 p.Alpha = v 242 } 243 return nil 244} 245 246func (p *Color) Write(oprot thrift.Protocol) error { 247 if err := oprot.WriteStructBegin("Color"); err != nil { 248 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) } 249 if err := p.writeField1(oprot); err != nil { return err } 250 if err := p.writeField2(oprot); err != nil { return err } 251 if err := p.writeField3(oprot); err != nil { return err } 252 if err := p.writeField4(oprot); err != nil { return err } 253 if err := oprot.WriteFieldStop(); err != nil { 254 return thrift.PrependError("write field stop error: ", err) } 255 if err := oprot.WriteStructEnd(); err != nil { 256 return thrift.PrependError("write struct stop error: ", err) } 257 return nil 258} 259 260func (p *Color) writeField1(oprot thrift.Protocol) (err error) { 261 if err := oprot.WriteFieldBegin("red", thrift.DOUBLE, 1); err != nil { 262 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:red: ", p), err) } 263 if err := oprot.WriteDouble(float64(p.Red)); err != nil { 264 return thrift.PrependError(fmt.Sprintf("%T.red (1) field write error: ", p), err) } 265 if err := oprot.WriteFieldEnd(); err != nil { 266 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:red: ", p), err) } 267 return err 268} 269 270func (p *Color) writeField2(oprot thrift.Protocol) (err error) { 271 if err := oprot.WriteFieldBegin("green", thrift.DOUBLE, 2); err != nil { 272 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:green: ", p), err) } 273 if err := oprot.WriteDouble(float64(p.Green)); err != nil { 274 return thrift.PrependError(fmt.Sprintf("%T.green (2) field write error: ", p), err) } 275 if err := oprot.WriteFieldEnd(); err != nil { 276 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:green: ", p), err) } 277 return err 278} 279 280func (p *Color) writeField3(oprot thrift.Protocol) (err error) { 281 if err := oprot.WriteFieldBegin("blue", thrift.DOUBLE, 3); err != nil { 282 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:blue: ", p), err) } 283 if err := oprot.WriteDouble(float64(p.Blue)); err != nil { 284 return thrift.PrependError(fmt.Sprintf("%T.blue (3) field write error: ", p), err) } 285 if err := oprot.WriteFieldEnd(); err != nil { 286 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:blue: ", p), err) } 287 return err 288} 289 290func (p *Color) writeField4(oprot thrift.Protocol) (err error) { 291 if err := oprot.WriteFieldBegin("alpha", thrift.DOUBLE, 4); err != nil { 292 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:alpha: ", p), err) } 293 if err := oprot.WriteDouble(float64(p.Alpha)); err != nil { 294 return thrift.PrependError(fmt.Sprintf("%T.alpha (4) field write error: ", p), err) } 295 if err := oprot.WriteFieldEnd(); err != nil { 296 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:alpha: ", p), err) } 297 return err 298} 299 300func (p *Color) String() string { 301 if p == nil { 302 return "<nil>" 303 } 304 305 redVal := fmt.Sprintf("%v", p.Red) 306 greenVal := fmt.Sprintf("%v", p.Green) 307 blueVal := fmt.Sprintf("%v", p.Blue) 308 alphaVal := fmt.Sprintf("%v", p.Alpha) 309 return fmt.Sprintf("Color({Red:%s Green:%s Blue:%s Alpha:%s})", redVal, greenVal, blueVal, alphaVal) 310} 311 312// Attributes: 313// - Color 314// - LicensePlate 315// - Description 316// - Name 317// - HasAC 318type Vehicle struct { 319 Color *Color `thrift:"color,1" db:"color" json:"color"` 320 LicensePlate *string `thrift:"licensePlate,2,optional" db:"licensePlate" json:"licensePlate,omitempty"` 321 Description *string `thrift:"description,3,optional" db:"description" json:"description,omitempty"` 322 Name *string `thrift:"name,4,optional" db:"name" json:"name,omitempty"` 323 HasAC bool `thrift:"hasAC,5,optional" db:"hasAC" json:"hasAC,omitempty"` 324} 325 326func NewVehicle() *Vehicle { 327 return &Vehicle{ 328 Color: NewColor(), 329 } 330} 331 332var Vehicle_Color_DEFAULT *Color 333func (p *Vehicle) GetColor() *Color { 334 if !p.IsSetColor() { 335 return Vehicle_Color_DEFAULT 336 } 337return p.Color 338} 339var Vehicle_LicensePlate_DEFAULT string 340func (p *Vehicle) GetLicensePlate() string { 341 if !p.IsSetLicensePlate() { 342 return Vehicle_LicensePlate_DEFAULT 343 } 344return *p.LicensePlate 345} 346var Vehicle_Description_DEFAULT string 347func (p *Vehicle) GetDescription() string { 348 if !p.IsSetDescription() { 349 return Vehicle_Description_DEFAULT 350 } 351return *p.Description 352} 353var Vehicle_Name_DEFAULT string 354func (p *Vehicle) GetName() string { 355 if !p.IsSetName() { 356 return Vehicle_Name_DEFAULT 357 } 358return *p.Name 359} 360var Vehicle_HasAC_DEFAULT bool = false 361 362func (p *Vehicle) GetHasAC() bool { 363 return p.HasAC 364} 365func (p *Vehicle) IsSetColor() bool { 366 return p != nil && p.Color != nil 367} 368 369func (p *Vehicle) IsSetLicensePlate() bool { 370 return p != nil && p.LicensePlate != nil 371} 372 373func (p *Vehicle) IsSetDescription() bool { 374 return p != nil && p.Description != nil 375} 376 377func (p *Vehicle) IsSetName() bool { 378 return p != nil && p.Name != nil 379} 380 381func (p *Vehicle) IsSetHasAC() bool { 382 return p != nil && p.HasAC != Vehicle_HasAC_DEFAULT 383} 384 385type VehicleBuilder struct { 386 obj *Vehicle 387} 388 389func NewVehicleBuilder() *VehicleBuilder{ 390 return &VehicleBuilder{ 391 obj: NewVehicle(), 392 } 393} 394 395func (p VehicleBuilder) Emit() *Vehicle{ 396 return &Vehicle{ 397 Color: p.obj.Color, 398 LicensePlate: p.obj.LicensePlate, 399 Description: p.obj.Description, 400 Name: p.obj.Name, 401 HasAC: p.obj.HasAC, 402 } 403} 404 405func (v *VehicleBuilder) Color(color *Color) *VehicleBuilder { 406 v.obj.Color = color 407 return v 408} 409 410func (v *VehicleBuilder) LicensePlate(licensePlate *string) *VehicleBuilder { 411 v.obj.LicensePlate = licensePlate 412 return v 413} 414 415func (v *VehicleBuilder) Description(description *string) *VehicleBuilder { 416 v.obj.Description = description 417 return v 418} 419 420func (v *VehicleBuilder) Name(name *string) *VehicleBuilder { 421 v.obj.Name = name 422 return v 423} 424 425func (v *VehicleBuilder) HasAC(hasAC bool) *VehicleBuilder { 426 v.obj.HasAC = hasAC 427 return v 428} 429 430func (v *Vehicle) SetColor(color *Color) *Vehicle { 431 v.Color = color 432 return v 433} 434 435func (v *Vehicle) SetLicensePlate(licensePlate *string) *Vehicle { 436 v.LicensePlate = licensePlate 437 return v 438} 439 440func (v *Vehicle) SetDescription(description *string) *Vehicle { 441 v.Description = description 442 return v 443} 444 445func (v *Vehicle) SetName(name *string) *Vehicle { 446 v.Name = name 447 return v 448} 449 450func (v *Vehicle) SetHasAC(hasAC bool) *Vehicle { 451 v.HasAC = hasAC 452 return v 453} 454 455func (p *Vehicle) Read(iprot thrift.Protocol) error { 456 if _, err := iprot.ReadStructBegin(); err != nil { 457 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 458 } 459 460 461 for { 462 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 463 if err != nil { 464 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 465 } 466 if fieldTypeId == thrift.STOP { break; } 467 switch fieldId { 468 case 1: 469 if err := p.ReadField1(iprot); err != nil { 470 return err 471 } 472 case 2: 473 if err := p.ReadField2(iprot); err != nil { 474 return err 475 } 476 case 3: 477 if err := p.ReadField3(iprot); err != nil { 478 return err 479 } 480 case 4: 481 if err := p.ReadField4(iprot); err != nil { 482 return err 483 } 484 case 5: 485 if err := p.ReadField5(iprot); err != nil { 486 return err 487 } 488 default: 489 if err := iprot.Skip(fieldTypeId); err != nil { 490 return err 491 } 492 } 493 if err := iprot.ReadFieldEnd(); err != nil { 494 return err 495 } 496 } 497 if err := iprot.ReadStructEnd(); err != nil { 498 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 499 } 500 return nil 501} 502 503func (p *Vehicle) ReadField1(iprot thrift.Protocol) error { 504 p.Color = NewColor() 505 if err := p.Color.Read(iprot); err != nil { 506 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Color), err) 507 } 508 return nil 509} 510 511func (p *Vehicle) ReadField2(iprot thrift.Protocol) error { 512 if v, err := iprot.ReadString(); err != nil { 513 return thrift.PrependError("error reading field 2: ", err) 514 } else { 515 p.LicensePlate = &v 516 } 517 return nil 518} 519 520func (p *Vehicle) ReadField3(iprot thrift.Protocol) error { 521 if v, err := iprot.ReadString(); err != nil { 522 return thrift.PrependError("error reading field 3: ", err) 523 } else { 524 p.Description = &v 525 } 526 return nil 527} 528 529func (p *Vehicle) ReadField4(iprot thrift.Protocol) error { 530 if v, err := iprot.ReadString(); err != nil { 531 return thrift.PrependError("error reading field 4: ", err) 532 } else { 533 p.Name = &v 534 } 535 return nil 536} 537 538func (p *Vehicle) ReadField5(iprot thrift.Protocol) error { 539 if v, err := iprot.ReadBool(); err != nil { 540 return thrift.PrependError("error reading field 5: ", err) 541 } else { 542 p.HasAC = v 543 } 544 return nil 545} 546 547func (p *Vehicle) Write(oprot thrift.Protocol) error { 548 if err := oprot.WriteStructBegin("Vehicle"); err != nil { 549 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) } 550 if err := p.writeField1(oprot); err != nil { return err } 551 if err := p.writeField2(oprot); err != nil { return err } 552 if err := p.writeField3(oprot); err != nil { return err } 553 if err := p.writeField4(oprot); err != nil { return err } 554 if err := p.writeField5(oprot); err != nil { return err } 555 if err := oprot.WriteFieldStop(); err != nil { 556 return thrift.PrependError("write field stop error: ", err) } 557 if err := oprot.WriteStructEnd(); err != nil { 558 return thrift.PrependError("write struct stop error: ", err) } 559 return nil 560} 561 562func (p *Vehicle) writeField1(oprot thrift.Protocol) (err error) { 563 if err := oprot.WriteFieldBegin("color", thrift.STRUCT, 1); err != nil { 564 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:color: ", p), err) } 565 if err := p.Color.Write(oprot); err != nil { 566 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Color), err) 567 } 568 if err := oprot.WriteFieldEnd(); err != nil { 569 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:color: ", p), err) } 570 return err 571} 572 573func (p *Vehicle) writeField2(oprot thrift.Protocol) (err error) { 574 if p.IsSetLicensePlate() { 575 if err := oprot.WriteFieldBegin("licensePlate", thrift.STRING, 2); err != nil { 576 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:licensePlate: ", p), err) } 577 if err := oprot.WriteString(string(*p.LicensePlate)); err != nil { 578 return thrift.PrependError(fmt.Sprintf("%T.licensePlate (2) field write error: ", p), err) } 579 if err := oprot.WriteFieldEnd(); err != nil { 580 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:licensePlate: ", p), err) } 581 } 582 return err 583} 584 585func (p *Vehicle) writeField3(oprot thrift.Protocol) (err error) { 586 if p.IsSetDescription() { 587 if err := oprot.WriteFieldBegin("description", thrift.STRING, 3); err != nil { 588 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:description: ", p), err) } 589 if err := oprot.WriteString(string(*p.Description)); err != nil { 590 return thrift.PrependError(fmt.Sprintf("%T.description (3) field write error: ", p), err) } 591 if err := oprot.WriteFieldEnd(); err != nil { 592 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:description: ", p), err) } 593 } 594 return err 595} 596 597func (p *Vehicle) writeField4(oprot thrift.Protocol) (err error) { 598 if p.IsSetName() { 599 if err := oprot.WriteFieldBegin("name", thrift.STRING, 4); err != nil { 600 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:name: ", p), err) } 601 if err := oprot.WriteString(string(*p.Name)); err != nil { 602 return thrift.PrependError(fmt.Sprintf("%T.name (4) field write error: ", p), err) } 603 if err := oprot.WriteFieldEnd(); err != nil { 604 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:name: ", p), err) } 605 } 606 return err 607} 608 609func (p *Vehicle) writeField5(oprot thrift.Protocol) (err error) { 610 if p.IsSetHasAC() { 611 if err := oprot.WriteFieldBegin("hasAC", thrift.BOOL, 5); err != nil { 612 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:hasAC: ", p), err) } 613 if err := oprot.WriteBool(bool(p.HasAC)); err != nil { 614 return thrift.PrependError(fmt.Sprintf("%T.hasAC (5) field write error: ", p), err) } 615 if err := oprot.WriteFieldEnd(); err != nil { 616 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:hasAC: ", p), err) } 617 } 618 return err 619} 620 621func (p *Vehicle) String() string { 622 if p == nil { 623 return "<nil>" 624 } 625 626 var colorVal string 627 if p.Color == nil { 628 colorVal = "<nil>" 629 } else { 630 colorVal = fmt.Sprintf("%v", p.Color) 631 } 632 var licensePlateVal string 633 if p.LicensePlate == nil { 634 licensePlateVal = "<nil>" 635 } else { 636 licensePlateVal = fmt.Sprintf("%v", *p.LicensePlate) 637 } 638 var descriptionVal string 639 if p.Description == nil { 640 descriptionVal = "<nil>" 641 } else { 642 descriptionVal = fmt.Sprintf("%v", *p.Description) 643 } 644 var nameVal string 645 if p.Name == nil { 646 nameVal = "<nil>" 647 } else { 648 nameVal = fmt.Sprintf("%v", *p.Name) 649 } 650 hasACVal := fmt.Sprintf("%v", p.HasAC) 651 return fmt.Sprintf("Vehicle({Color:%s LicensePlate:%s Description:%s Name:%s HasAC:%s})", colorVal, licensePlateVal, descriptionVal, nameVal, hasACVal) 652} 653 654// Attributes: 655// - Id 656// - Name 657// - Age 658// - Address 659// - FavoriteColor 660// - Friends 661// - BestFriend 662// - PetNames 663// - AfraidOfAnimal 664// - Vehicles 665type Person struct { 666 Id PersonID `thrift:"id,1" db:"id" json:"id"` 667 Name string `thrift:"name,2" db:"name" json:"name"` 668 Age *int16 `thrift:"age,3,optional" db:"age" json:"age,omitempty"` 669 Address *string `thrift:"address,4,optional" db:"address" json:"address,omitempty"` 670 FavoriteColor *Color `thrift:"favoriteColor,5,optional" db:"favoriteColor" json:"favoriteColor,omitempty"` 671 Friends []PersonID `thrift:"friends,6,optional" db:"friends" json:"friends,omitempty"` 672 BestFriend *PersonID `thrift:"bestFriend,7,optional" db:"bestFriend" json:"bestFriend,omitempty"` 673 PetNames map[Animal]string `thrift:"petNames,8,optional" db:"petNames" json:"petNames,omitempty"` 674 AfraidOfAnimal *Animal `thrift:"afraidOfAnimal,9,optional" db:"afraidOfAnimal" json:"afraidOfAnimal,omitempty"` 675 Vehicles []*Vehicle `thrift:"vehicles,10,optional" db:"vehicles" json:"vehicles,omitempty"` 676} 677 678func NewPerson() *Person { 679 return &Person{} 680} 681 682 683func (p *Person) GetId() PersonID { 684 return p.Id 685} 686 687func (p *Person) GetName() string { 688 return p.Name 689} 690var Person_Age_DEFAULT int16 691func (p *Person) GetAge() int16 { 692 if !p.IsSetAge() { 693 return Person_Age_DEFAULT 694 } 695return *p.Age 696} 697var Person_Address_DEFAULT string 698func (p *Person) GetAddress() string { 699 if !p.IsSetAddress() { 700 return Person_Address_DEFAULT 701 } 702return *p.Address 703} 704var Person_FavoriteColor_DEFAULT *Color 705func (p *Person) GetFavoriteColor() *Color { 706 if !p.IsSetFavoriteColor() { 707 return Person_FavoriteColor_DEFAULT 708 } 709return p.FavoriteColor 710} 711var Person_Friends_DEFAULT []PersonID 712 713func (p *Person) GetFriends() []PersonID { 714 return p.Friends 715} 716var Person_BestFriend_DEFAULT PersonID 717func (p *Person) GetBestFriend() PersonID { 718 if !p.IsSetBestFriend() { 719 return Person_BestFriend_DEFAULT 720 } 721return *p.BestFriend 722} 723var Person_PetNames_DEFAULT map[Animal]string 724 725func (p *Person) GetPetNames() map[Animal]string { 726 return p.PetNames 727} 728var Person_AfraidOfAnimal_DEFAULT Animal 729func (p *Person) GetAfraidOfAnimal() Animal { 730 if !p.IsSetAfraidOfAnimal() { 731 return Person_AfraidOfAnimal_DEFAULT 732 } 733return *p.AfraidOfAnimal 734} 735var Person_Vehicles_DEFAULT []*Vehicle 736 737func (p *Person) GetVehicles() []*Vehicle { 738 return p.Vehicles 739} 740func (p *Person) IsSetAge() bool { 741 return p != nil && p.Age != nil 742} 743 744func (p *Person) IsSetAddress() bool { 745 return p != nil && p.Address != nil 746} 747 748func (p *Person) IsSetFavoriteColor() bool { 749 return p != nil && p.FavoriteColor != nil 750} 751 752func (p *Person) IsSetFriends() bool { 753 return p != nil && p.Friends != nil 754} 755 756func (p *Person) IsSetBestFriend() bool { 757 return p != nil && p.BestFriend != nil 758} 759 760func (p *Person) IsSetPetNames() bool { 761 return p != nil && p.PetNames != nil 762} 763 764func (p *Person) IsSetAfraidOfAnimal() bool { 765 return p != nil && p.AfraidOfAnimal != nil 766} 767 768func (p *Person) IsSetVehicles() bool { 769 return p != nil && p.Vehicles != nil 770} 771 772type PersonBuilder struct { 773 obj *Person 774} 775 776func NewPersonBuilder() *PersonBuilder{ 777 return &PersonBuilder{ 778 obj: NewPerson(), 779 } 780} 781 782func (p PersonBuilder) Emit() *Person{ 783 return &Person{ 784 Id: p.obj.Id, 785 Name: p.obj.Name, 786 Age: p.obj.Age, 787 Address: p.obj.Address, 788 FavoriteColor: p.obj.FavoriteColor, 789 Friends: p.obj.Friends, 790 BestFriend: p.obj.BestFriend, 791 PetNames: p.obj.PetNames, 792 AfraidOfAnimal: p.obj.AfraidOfAnimal, 793 Vehicles: p.obj.Vehicles, 794 } 795} 796 797func (p *PersonBuilder) Id(id PersonID) *PersonBuilder { 798 p.obj.Id = id 799 return p 800} 801 802func (p *PersonBuilder) Name(name string) *PersonBuilder { 803 p.obj.Name = name 804 return p 805} 806 807func (p *PersonBuilder) Age(age *int16) *PersonBuilder { 808 p.obj.Age = age 809 return p 810} 811 812func (p *PersonBuilder) Address(address *string) *PersonBuilder { 813 p.obj.Address = address 814 return p 815} 816 817func (p *PersonBuilder) FavoriteColor(favoriteColor *Color) *PersonBuilder { 818 p.obj.FavoriteColor = favoriteColor 819 return p 820} 821 822func (p *PersonBuilder) Friends(friends []PersonID) *PersonBuilder { 823 p.obj.Friends = friends 824 return p 825} 826 827func (p *PersonBuilder) BestFriend(bestFriend *PersonID) *PersonBuilder { 828 p.obj.BestFriend = bestFriend 829 return p 830} 831 832func (p *PersonBuilder) PetNames(petNames map[Animal]string) *PersonBuilder { 833 p.obj.PetNames = petNames 834 return p 835} 836 837func (p *PersonBuilder) AfraidOfAnimal(afraidOfAnimal *Animal) *PersonBuilder { 838 p.obj.AfraidOfAnimal = afraidOfAnimal 839 return p 840} 841 842func (p *PersonBuilder) Vehicles(vehicles []*Vehicle) *PersonBuilder { 843 p.obj.Vehicles = vehicles 844 return p 845} 846 847func (p *Person) SetId(id PersonID) *Person { 848 p.Id = id 849 return p 850} 851 852func (p *Person) SetName(name string) *Person { 853 p.Name = name 854 return p 855} 856 857func (p *Person) SetAge(age *int16) *Person { 858 p.Age = age 859 return p 860} 861 862func (p *Person) SetAddress(address *string) *Person { 863 p.Address = address 864 return p 865} 866 867func (p *Person) SetFavoriteColor(favoriteColor *Color) *Person { 868 p.FavoriteColor = favoriteColor 869 return p 870} 871 872func (p *Person) SetFriends(friends []PersonID) *Person { 873 p.Friends = friends 874 return p 875} 876 877func (p *Person) SetBestFriend(bestFriend *PersonID) *Person { 878 p.BestFriend = bestFriend 879 return p 880} 881 882func (p *Person) SetPetNames(petNames map[Animal]string) *Person { 883 p.PetNames = petNames 884 return p 885} 886 887func (p *Person) SetAfraidOfAnimal(afraidOfAnimal *Animal) *Person { 888 p.AfraidOfAnimal = afraidOfAnimal 889 return p 890} 891 892func (p *Person) SetVehicles(vehicles []*Vehicle) *Person { 893 p.Vehicles = vehicles 894 return p 895} 896 897func (p *Person) Read(iprot thrift.Protocol) error { 898 if _, err := iprot.ReadStructBegin(); err != nil { 899 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 900 } 901 902 903 for { 904 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 905 if err != nil { 906 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 907 } 908 if fieldTypeId == thrift.STOP { break; } 909 switch fieldId { 910 case 1: 911 if err := p.ReadField1(iprot); err != nil { 912 return err 913 } 914 case 2: 915 if err := p.ReadField2(iprot); err != nil { 916 return err 917 } 918 case 3: 919 if err := p.ReadField3(iprot); err != nil { 920 return err 921 } 922 case 4: 923 if err := p.ReadField4(iprot); err != nil { 924 return err 925 } 926 case 5: 927 if err := p.ReadField5(iprot); err != nil { 928 return err 929 } 930 case 6: 931 if err := p.ReadField6(iprot); err != nil { 932 return err 933 } 934 case 7: 935 if err := p.ReadField7(iprot); err != nil { 936 return err 937 } 938 case 8: 939 if err := p.ReadField8(iprot); err != nil { 940 return err 941 } 942 case 9: 943 if err := p.ReadField9(iprot); err != nil { 944 return err 945 } 946 case 10: 947 if err := p.ReadField10(iprot); err != nil { 948 return err 949 } 950 default: 951 if err := iprot.Skip(fieldTypeId); err != nil { 952 return err 953 } 954 } 955 if err := iprot.ReadFieldEnd(); err != nil { 956 return err 957 } 958 } 959 if err := iprot.ReadStructEnd(); err != nil { 960 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 961 } 962 return nil 963} 964 965func (p *Person) ReadField1(iprot thrift.Protocol) error { 966 if v, err := iprot.ReadI64(); err != nil { 967 return thrift.PrependError("error reading field 1: ", err) 968 } else { 969 temp := PersonID(v) 970 p.Id = temp 971 } 972 return nil 973} 974 975func (p *Person) ReadField2(iprot thrift.Protocol) error { 976 if v, err := iprot.ReadString(); err != nil { 977 return thrift.PrependError("error reading field 2: ", err) 978 } else { 979 p.Name = v 980 } 981 return nil 982} 983 984func (p *Person) ReadField3(iprot thrift.Protocol) error { 985 if v, err := iprot.ReadI16(); err != nil { 986 return thrift.PrependError("error reading field 3: ", err) 987 } else { 988 p.Age = &v 989 } 990 return nil 991} 992 993func (p *Person) ReadField4(iprot thrift.Protocol) error { 994 if v, err := iprot.ReadString(); err != nil { 995 return thrift.PrependError("error reading field 4: ", err) 996 } else { 997 p.Address = &v 998 } 999 return nil 1000} 1001 1002func (p *Person) ReadField5(iprot thrift.Protocol) error { 1003 p.FavoriteColor = NewColor() 1004 if err := p.FavoriteColor.Read(iprot); err != nil { 1005 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.FavoriteColor), err) 1006 } 1007 return nil 1008} 1009 1010func (p *Person) ReadField6(iprot thrift.Protocol) error { 1011 _, size, err := iprot.ReadSetBegin() 1012 if err != nil { 1013 return thrift.PrependError("error reading set begin: ", err) 1014 } 1015 tSet := make([]PersonID, 0, size) 1016 p.Friends = tSet 1017 for i := 0; i < size; i ++ { 1018 var _elem0 PersonID 1019 if v, err := iprot.ReadI64(); err != nil { 1020 return thrift.PrependError("error reading field 0: ", err) 1021 } else { 1022 temp := PersonID(v) 1023 _elem0 = temp 1024 } 1025 p.Friends = append(p.Friends, _elem0) 1026 } 1027 if err := iprot.ReadSetEnd(); err != nil { 1028 return thrift.PrependError("error reading set end: ", err) 1029 } 1030 return nil 1031} 1032 1033func (p *Person) ReadField7(iprot thrift.Protocol) error { 1034 if v, err := iprot.ReadI64(); err != nil { 1035 return thrift.PrependError("error reading field 7: ", err) 1036 } else { 1037 temp := PersonID(v) 1038 p.BestFriend = &temp 1039 } 1040 return nil 1041} 1042 1043func (p *Person) ReadField8(iprot thrift.Protocol) error { 1044 _, _, size, err := iprot.ReadMapBegin() 1045 if err != nil { 1046 return thrift.PrependError("error reading map begin: ", err) 1047 } 1048 tMap := make(map[Animal]string, size) 1049 p.PetNames = tMap 1050 for i := 0; i < size; i ++ { 1051 var _key1 Animal 1052 if v, err := iprot.ReadI32(); err != nil { 1053 return thrift.PrependError("error reading field 0: ", err) 1054 } else { 1055 temp := Animal(v) 1056 _key1 = temp 1057 } 1058 var _val2 string 1059 if v, err := iprot.ReadString(); err != nil { 1060 return thrift.PrependError("error reading field 0: ", err) 1061 } else { 1062 _val2 = v 1063 } 1064 p.PetNames[_key1] = _val2 1065 } 1066 if err := iprot.ReadMapEnd(); err != nil { 1067 return thrift.PrependError("error reading map end: ", err) 1068 } 1069 return nil 1070} 1071 1072func (p *Person) ReadField9(iprot thrift.Protocol) error { 1073 if v, err := iprot.ReadI32(); err != nil { 1074 return thrift.PrependError("error reading field 9: ", err) 1075 } else { 1076 temp := Animal(v) 1077 p.AfraidOfAnimal = &temp 1078 } 1079 return nil 1080} 1081 1082func (p *Person) ReadField10(iprot thrift.Protocol) error { 1083 _, size, err := iprot.ReadListBegin() 1084 if err != nil { 1085 return thrift.PrependError("error reading list begin: ", err) 1086 } 1087 tSlice := make([]*Vehicle, 0, size) 1088 p.Vehicles = tSlice 1089 for i := 0; i < size; i ++ { 1090 _elem3 := NewVehicle() 1091 if err := _elem3.Read(iprot); err != nil { 1092 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem3), err) 1093 } 1094 p.Vehicles = append(p.Vehicles, _elem3) 1095 } 1096 if err := iprot.ReadListEnd(); err != nil { 1097 return thrift.PrependError("error reading list end: ", err) 1098 } 1099 return nil 1100} 1101 1102func (p *Person) Write(oprot thrift.Protocol) error { 1103 if err := oprot.WriteStructBegin("Person"); err != nil { 1104 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) } 1105 if err := p.writeField1(oprot); err != nil { return err } 1106 if err := p.writeField2(oprot); err != nil { return err } 1107 if err := p.writeField3(oprot); err != nil { return err } 1108 if err := p.writeField4(oprot); err != nil { return err } 1109 if err := p.writeField5(oprot); err != nil { return err } 1110 if err := p.writeField6(oprot); err != nil { return err } 1111 if err := p.writeField7(oprot); err != nil { return err } 1112 if err := p.writeField8(oprot); err != nil { return err } 1113 if err := p.writeField9(oprot); err != nil { return err } 1114 if err := p.writeField10(oprot); err != nil { return err } 1115 if err := oprot.WriteFieldStop(); err != nil { 1116 return thrift.PrependError("write field stop error: ", err) } 1117 if err := oprot.WriteStructEnd(); err != nil { 1118 return thrift.PrependError("write struct stop error: ", err) } 1119 return nil 1120} 1121 1122func (p *Person) writeField1(oprot thrift.Protocol) (err error) { 1123 if err := oprot.WriteFieldBegin("id", thrift.I64, 1); err != nil { 1124 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:id: ", p), err) } 1125 if err := oprot.WriteI64(int64(p.Id)); err != nil { 1126 return thrift.PrependError(fmt.Sprintf("%T.id (1) field write error: ", p), err) } 1127 if err := oprot.WriteFieldEnd(); err != nil { 1128 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:id: ", p), err) } 1129 return err 1130} 1131 1132func (p *Person) writeField2(oprot thrift.Protocol) (err error) { 1133 if err := oprot.WriteFieldBegin("name", thrift.STRING, 2); err != nil { 1134 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:name: ", p), err) } 1135 if err := oprot.WriteString(string(p.Name)); err != nil { 1136 return thrift.PrependError(fmt.Sprintf("%T.name (2) field write error: ", p), err) } 1137 if err := oprot.WriteFieldEnd(); err != nil { 1138 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:name: ", p), err) } 1139 return err 1140} 1141 1142func (p *Person) writeField3(oprot thrift.Protocol) (err error) { 1143 if p.IsSetAge() { 1144 if err := oprot.WriteFieldBegin("age", thrift.I16, 3); err != nil { 1145 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:age: ", p), err) } 1146 if err := oprot.WriteI16(int16(*p.Age)); err != nil { 1147 return thrift.PrependError(fmt.Sprintf("%T.age (3) field write error: ", p), err) } 1148 if err := oprot.WriteFieldEnd(); err != nil { 1149 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:age: ", p), err) } 1150 } 1151 return err 1152} 1153 1154func (p *Person) writeField4(oprot thrift.Protocol) (err error) { 1155 if p.IsSetAddress() { 1156 if err := oprot.WriteFieldBegin("address", thrift.STRING, 4); err != nil { 1157 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:address: ", p), err) } 1158 if err := oprot.WriteString(string(*p.Address)); err != nil { 1159 return thrift.PrependError(fmt.Sprintf("%T.address (4) field write error: ", p), err) } 1160 if err := oprot.WriteFieldEnd(); err != nil { 1161 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:address: ", p), err) } 1162 } 1163 return err 1164} 1165 1166func (p *Person) writeField5(oprot thrift.Protocol) (err error) { 1167 if p.IsSetFavoriteColor() { 1168 if err := oprot.WriteFieldBegin("favoriteColor", thrift.STRUCT, 5); err != nil { 1169 return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:favoriteColor: ", p), err) } 1170 if err := p.FavoriteColor.Write(oprot); err != nil { 1171 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.FavoriteColor), err) 1172 } 1173 if err := oprot.WriteFieldEnd(); err != nil { 1174 return thrift.PrependError(fmt.Sprintf("%T write field end error 5:favoriteColor: ", p), err) } 1175 } 1176 return err 1177} 1178 1179func (p *Person) writeField6(oprot thrift.Protocol) (err error) { 1180 if p.IsSetFriends() { 1181 if err := oprot.WriteFieldBegin("friends", thrift.SET, 6); err != nil { 1182 return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:friends: ", p), err) } 1183 if err := oprot.WriteSetBegin(thrift.I64, len(p.Friends)); err != nil { 1184 return thrift.PrependError("error writing set begin: ", err) 1185 } 1186 set := make(map[PersonID]bool, len(p.Friends)) 1187 for _, v := range p.Friends { 1188 if ok := set[v]; ok { 1189 return thrift.PrependError("", fmt.Errorf("%T error writing set field: slice is not unique", v)) 1190 } 1191 set[v] = true 1192 } 1193 for _, v := range p.Friends { 1194 if err := oprot.WriteI64(int64(v)); err != nil { 1195 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) } 1196 } 1197 if err := oprot.WriteSetEnd(); err != nil { 1198 return thrift.PrependError("error writing set end: ", err) 1199 } 1200 if err := oprot.WriteFieldEnd(); err != nil { 1201 return thrift.PrependError(fmt.Sprintf("%T write field end error 6:friends: ", p), err) } 1202 } 1203 return err 1204} 1205 1206func (p *Person) writeField7(oprot thrift.Protocol) (err error) { 1207 if p.IsSetBestFriend() { 1208 if err := oprot.WriteFieldBegin("bestFriend", thrift.I64, 7); err != nil { 1209 return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:bestFriend: ", p), err) } 1210 if err := oprot.WriteI64(int64(*p.BestFriend)); err != nil { 1211 return thrift.PrependError(fmt.Sprintf("%T.bestFriend (7) field write error: ", p), err) } 1212 if err := oprot.WriteFieldEnd(); err != nil { 1213 return thrift.PrependError(fmt.Sprintf("%T write field end error 7:bestFriend: ", p), err) } 1214 } 1215 return err 1216} 1217 1218func (p *Person) writeField8(oprot thrift.Protocol) (err error) { 1219 if p.IsSetPetNames() { 1220 if err := oprot.WriteFieldBegin("petNames", thrift.MAP, 8); err != nil { 1221 return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:petNames: ", p), err) } 1222 if err := oprot.WriteMapBegin(thrift.I32, thrift.STRING, len(p.PetNames)); err != nil { 1223 return thrift.PrependError("error writing map begin: ", err) 1224 } 1225 for k, v := range p.PetNames { 1226 if err := oprot.WriteI32(int32(k)); err != nil { 1227 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) } 1228 if err := oprot.WriteString(string(v)); err != nil { 1229 return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) } 1230 } 1231 if err := oprot.WriteMapEnd(); err != nil { 1232 return thrift.PrependError("error writing map end: ", err) 1233 } 1234 if err := oprot.WriteFieldEnd(); err != nil { 1235 return thrift.PrependError(fmt.Sprintf("%T write field end error 8:petNames: ", p), err) } 1236 } 1237 return err 1238} 1239 1240func (p *Person) writeField9(oprot thrift.Protocol) (err error) { 1241 if p.IsSetAfraidOfAnimal() { 1242 if err := oprot.WriteFieldBegin("afraidOfAnimal", thrift.I32, 9); err != nil { 1243 return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:afraidOfAnimal: ", p), err) } 1244 if err := oprot.WriteI32(int32(*p.AfraidOfAnimal)); err != nil { 1245 return thrift.PrependError(fmt.Sprintf("%T.afraidOfAnimal (9) field write error: ", p), err) } 1246 if err := oprot.WriteFieldEnd(); err != nil { 1247 return thrift.PrependError(fmt.Sprintf("%T write field end error 9:afraidOfAnimal: ", p), err) } 1248 } 1249 return err 1250} 1251 1252func (p *Person) writeField10(oprot thrift.Protocol) (err error) { 1253 if p.IsSetVehicles() { 1254 if err := oprot.WriteFieldBegin("vehicles", thrift.LIST, 10); err != nil { 1255 return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:vehicles: ", p), err) } 1256 if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Vehicles)); err != nil { 1257 return thrift.PrependError("error writing list begin: ", err) 1258 } 1259 for _, v := range p.Vehicles { 1260 if err := v.Write(oprot); err != nil { 1261 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) 1262 } 1263 } 1264 if err := oprot.WriteListEnd(); err != nil { 1265 return thrift.PrependError("error writing list end: ", err) 1266 } 1267 if err := oprot.WriteFieldEnd(); err != nil { 1268 return thrift.PrependError(fmt.Sprintf("%T write field end error 10:vehicles: ", p), err) } 1269 } 1270 return err 1271} 1272 1273func (p *Person) String() string { 1274 if p == nil { 1275 return "<nil>" 1276 } 1277 1278 idVal := fmt.Sprintf("%v", p.Id) 1279 nameVal := fmt.Sprintf("%v", p.Name) 1280 var ageVal string 1281 if p.Age == nil { 1282 ageVal = "<nil>" 1283 } else { 1284 ageVal = fmt.Sprintf("%v", *p.Age) 1285 } 1286 var addressVal string 1287 if p.Address == nil { 1288 addressVal = "<nil>" 1289 } else { 1290 addressVal = fmt.Sprintf("%v", *p.Address) 1291 } 1292 var favoriteColorVal string 1293 if p.FavoriteColor == nil { 1294 favoriteColorVal = "<nil>" 1295 } else { 1296 favoriteColorVal = fmt.Sprintf("%v", p.FavoriteColor) 1297 } 1298 friendsVal := fmt.Sprintf("%v", p.Friends) 1299 var bestFriendVal string 1300 if p.BestFriend == nil { 1301 bestFriendVal = "<nil>" 1302 } else { 1303 bestFriendVal = fmt.Sprintf("%v", *p.BestFriend) 1304 } 1305 petNamesVal := fmt.Sprintf("%v", p.PetNames) 1306 var afraidOfAnimalVal string 1307 if p.AfraidOfAnimal == nil { 1308 afraidOfAnimalVal = "<nil>" 1309 } else { 1310 afraidOfAnimalVal = fmt.Sprintf("%v", *p.AfraidOfAnimal) 1311 } 1312 vehiclesVal := fmt.Sprintf("%v", p.Vehicles) 1313 return fmt.Sprintf("Person({Id:%s Name:%s Age:%s Address:%s FavoriteColor:%s Friends:%s BestFriend:%s PetNames:%s AfraidOfAnimal:%s Vehicles:%s})", idVal, nameVal, ageVal, addressVal, favoriteColorVal, friendsVal, bestFriendVal, petNamesVal, afraidOfAnimalVal, vehiclesVal) 1314} 1315 1316