github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1/common/common.pb.fieldpath.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/iam/proto/v1/common.proto 3 // DO NOT EDIT!!! 4 5 package iam_common 6 7 import ( 8 "encoding/json" 9 "fmt" 10 "reflect" 11 "strings" 12 "time" 13 14 "google.golang.org/grpc/codes" 15 "google.golang.org/grpc/status" 16 "google.golang.org/protobuf/encoding/protojson" 17 "google.golang.org/protobuf/proto" 18 "google.golang.org/protobuf/reflect/protoregistry" 19 20 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 21 "github.com/cloudwan/goten-sdk/runtime/strcase" 22 ) 23 24 // proto imports 25 import ( 26 meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service" 27 ) 28 29 // ensure the imports are used 30 var ( 31 _ = new(json.Marshaler) 32 _ = new(fmt.Stringer) 33 _ = reflect.DeepEqual 34 _ = strings.Builder{} 35 _ = time.Second 36 37 _ = strcase.ToLowerCamel 38 _ = codes.NotFound 39 _ = status.Status{} 40 _ = protojson.UnmarshalOptions{} 41 _ = new(proto.Message) 42 _ = protoregistry.GlobalTypes 43 44 _ = new(gotenobject.FieldPath) 45 ) 46 47 // make sure we're using proto imports 48 var ( 49 _ = &meta_service.Service{} 50 ) 51 52 // FieldPath provides implementation to handle 53 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 54 type PCR_FieldPath interface { 55 gotenobject.FieldPath 56 Selector() PCR_FieldPathSelector 57 Get(source *PCR) []interface{} 58 GetSingle(source *PCR) (interface{}, bool) 59 ClearValue(item *PCR) 60 61 // Those methods build corresponding PCR_FieldPathValue 62 // (or array of values) and holds passed value. Panics if injected type is incorrect. 63 WithIValue(value interface{}) PCR_FieldPathValue 64 WithIArrayOfValues(values interface{}) PCR_FieldPathArrayOfValues 65 WithIArrayItemValue(value interface{}) PCR_FieldPathArrayItemValue 66 } 67 68 type PCR_FieldPathSelector int32 69 70 const ( 71 PCR_FieldPathSelectorIndex PCR_FieldPathSelector = 0 72 PCR_FieldPathSelectorDigestHex PCR_FieldPathSelector = 1 73 PCR_FieldPathSelectorDigestAlg PCR_FieldPathSelector = 2 74 PCR_FieldPathSelectorComment PCR_FieldPathSelector = 3 75 ) 76 77 func (s PCR_FieldPathSelector) String() string { 78 switch s { 79 case PCR_FieldPathSelectorIndex: 80 return "index" 81 case PCR_FieldPathSelectorDigestHex: 82 return "digest_hex" 83 case PCR_FieldPathSelectorDigestAlg: 84 return "digest_alg" 85 case PCR_FieldPathSelectorComment: 86 return "comment" 87 default: 88 panic(fmt.Sprintf("Invalid selector for PCR: %d", s)) 89 } 90 } 91 92 func BuildPCR_FieldPath(fp gotenobject.RawFieldPath) (PCR_FieldPath, error) { 93 if len(fp) == 0 { 94 return nil, status.Error(codes.InvalidArgument, "empty field path for object PCR") 95 } 96 if len(fp) == 1 { 97 switch fp[0] { 98 case "index": 99 return &PCR_FieldTerminalPath{selector: PCR_FieldPathSelectorIndex}, nil 100 case "digest_hex", "digestHex", "digest-hex": 101 return &PCR_FieldTerminalPath{selector: PCR_FieldPathSelectorDigestHex}, nil 102 case "digest_alg", "digestAlg", "digest-alg": 103 return &PCR_FieldTerminalPath{selector: PCR_FieldPathSelectorDigestAlg}, nil 104 case "comment": 105 return &PCR_FieldTerminalPath{selector: PCR_FieldPathSelectorComment}, nil 106 } 107 } 108 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object PCR", fp) 109 } 110 111 func ParsePCR_FieldPath(rawField string) (PCR_FieldPath, error) { 112 fp, err := gotenobject.ParseRawFieldPath(rawField) 113 if err != nil { 114 return nil, err 115 } 116 return BuildPCR_FieldPath(fp) 117 } 118 119 func MustParsePCR_FieldPath(rawField string) PCR_FieldPath { 120 fp, err := ParsePCR_FieldPath(rawField) 121 if err != nil { 122 panic(err) 123 } 124 return fp 125 } 126 127 type PCR_FieldTerminalPath struct { 128 selector PCR_FieldPathSelector 129 } 130 131 var _ PCR_FieldPath = (*PCR_FieldTerminalPath)(nil) 132 133 func (fp *PCR_FieldTerminalPath) Selector() PCR_FieldPathSelector { 134 return fp.selector 135 } 136 137 // String returns path representation in proto convention 138 func (fp *PCR_FieldTerminalPath) String() string { 139 return fp.selector.String() 140 } 141 142 // JSONString returns path representation is JSON convention 143 func (fp *PCR_FieldTerminalPath) JSONString() string { 144 return strcase.ToLowerCamel(fp.String()) 145 } 146 147 // Get returns all values pointed by specific field from source PCR 148 func (fp *PCR_FieldTerminalPath) Get(source *PCR) (values []interface{}) { 149 if source != nil { 150 switch fp.selector { 151 case PCR_FieldPathSelectorIndex: 152 values = append(values, source.Index) 153 case PCR_FieldPathSelectorDigestHex: 154 values = append(values, source.DigestHex) 155 case PCR_FieldPathSelectorDigestAlg: 156 values = append(values, source.DigestAlg) 157 case PCR_FieldPathSelectorComment: 158 values = append(values, source.Comment) 159 default: 160 panic(fmt.Sprintf("Invalid selector for PCR: %d", fp.selector)) 161 } 162 } 163 return 164 } 165 166 func (fp *PCR_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 167 return fp.Get(source.(*PCR)) 168 } 169 170 // GetSingle returns value pointed by specific field of from source PCR 171 func (fp *PCR_FieldTerminalPath) GetSingle(source *PCR) (interface{}, bool) { 172 switch fp.selector { 173 case PCR_FieldPathSelectorIndex: 174 return source.GetIndex(), source != nil 175 case PCR_FieldPathSelectorDigestHex: 176 return source.GetDigestHex(), source != nil 177 case PCR_FieldPathSelectorDigestAlg: 178 return source.GetDigestAlg(), source != nil 179 case PCR_FieldPathSelectorComment: 180 return source.GetComment(), source != nil 181 default: 182 panic(fmt.Sprintf("Invalid selector for PCR: %d", fp.selector)) 183 } 184 } 185 186 func (fp *PCR_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 187 return fp.GetSingle(source.(*PCR)) 188 } 189 190 // GetDefault returns a default value of the field type 191 func (fp *PCR_FieldTerminalPath) GetDefault() interface{} { 192 switch fp.selector { 193 case PCR_FieldPathSelectorIndex: 194 return uint32(0) 195 case PCR_FieldPathSelectorDigestHex: 196 return "" 197 case PCR_FieldPathSelectorDigestAlg: 198 return DigestAlg_SHA1 199 case PCR_FieldPathSelectorComment: 200 return "" 201 default: 202 panic(fmt.Sprintf("Invalid selector for PCR: %d", fp.selector)) 203 } 204 } 205 206 func (fp *PCR_FieldTerminalPath) ClearValue(item *PCR) { 207 if item != nil { 208 switch fp.selector { 209 case PCR_FieldPathSelectorIndex: 210 item.Index = uint32(0) 211 case PCR_FieldPathSelectorDigestHex: 212 item.DigestHex = "" 213 case PCR_FieldPathSelectorDigestAlg: 214 item.DigestAlg = DigestAlg_SHA1 215 case PCR_FieldPathSelectorComment: 216 item.Comment = "" 217 default: 218 panic(fmt.Sprintf("Invalid selector for PCR: %d", fp.selector)) 219 } 220 } 221 } 222 223 func (fp *PCR_FieldTerminalPath) ClearValueRaw(item proto.Message) { 224 fp.ClearValue(item.(*PCR)) 225 } 226 227 // IsLeaf - whether field path is holds simple value 228 func (fp *PCR_FieldTerminalPath) IsLeaf() bool { 229 return fp.selector == PCR_FieldPathSelectorIndex || 230 fp.selector == PCR_FieldPathSelectorDigestHex || 231 fp.selector == PCR_FieldPathSelectorDigestAlg || 232 fp.selector == PCR_FieldPathSelectorComment 233 } 234 235 func (fp *PCR_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 236 return []gotenobject.FieldPath{fp} 237 } 238 239 func (fp *PCR_FieldTerminalPath) WithIValue(value interface{}) PCR_FieldPathValue { 240 switch fp.selector { 241 case PCR_FieldPathSelectorIndex: 242 return &PCR_FieldTerminalPathValue{PCR_FieldTerminalPath: *fp, value: value.(uint32)} 243 case PCR_FieldPathSelectorDigestHex: 244 return &PCR_FieldTerminalPathValue{PCR_FieldTerminalPath: *fp, value: value.(string)} 245 case PCR_FieldPathSelectorDigestAlg: 246 return &PCR_FieldTerminalPathValue{PCR_FieldTerminalPath: *fp, value: value.(DigestAlg)} 247 case PCR_FieldPathSelectorComment: 248 return &PCR_FieldTerminalPathValue{PCR_FieldTerminalPath: *fp, value: value.(string)} 249 default: 250 panic(fmt.Sprintf("Invalid selector for PCR: %d", fp.selector)) 251 } 252 } 253 254 func (fp *PCR_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 255 return fp.WithIValue(value) 256 } 257 258 func (fp *PCR_FieldTerminalPath) WithIArrayOfValues(values interface{}) PCR_FieldPathArrayOfValues { 259 fpaov := &PCR_FieldTerminalPathArrayOfValues{PCR_FieldTerminalPath: *fp} 260 switch fp.selector { 261 case PCR_FieldPathSelectorIndex: 262 return &PCR_FieldTerminalPathArrayOfValues{PCR_FieldTerminalPath: *fp, values: values.([]uint32)} 263 case PCR_FieldPathSelectorDigestHex: 264 return &PCR_FieldTerminalPathArrayOfValues{PCR_FieldTerminalPath: *fp, values: values.([]string)} 265 case PCR_FieldPathSelectorDigestAlg: 266 return &PCR_FieldTerminalPathArrayOfValues{PCR_FieldTerminalPath: *fp, values: values.([]DigestAlg)} 267 case PCR_FieldPathSelectorComment: 268 return &PCR_FieldTerminalPathArrayOfValues{PCR_FieldTerminalPath: *fp, values: values.([]string)} 269 default: 270 panic(fmt.Sprintf("Invalid selector for PCR: %d", fp.selector)) 271 } 272 return fpaov 273 } 274 275 func (fp *PCR_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 276 return fp.WithIArrayOfValues(values) 277 } 278 279 func (fp *PCR_FieldTerminalPath) WithIArrayItemValue(value interface{}) PCR_FieldPathArrayItemValue { 280 switch fp.selector { 281 default: 282 panic(fmt.Sprintf("Invalid selector for PCR: %d", fp.selector)) 283 } 284 } 285 286 func (fp *PCR_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 287 return fp.WithIArrayItemValue(value) 288 } 289 290 // PCR_FieldPathValue allows storing values for PCR fields according to their type 291 type PCR_FieldPathValue interface { 292 PCR_FieldPath 293 gotenobject.FieldPathValue 294 SetTo(target **PCR) 295 CompareWith(*PCR) (cmp int, comparable bool) 296 } 297 298 func ParsePCR_FieldPathValue(pathStr, valueStr string) (PCR_FieldPathValue, error) { 299 fp, err := ParsePCR_FieldPath(pathStr) 300 if err != nil { 301 return nil, err 302 } 303 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 304 if err != nil { 305 return nil, status.Errorf(codes.InvalidArgument, "error parsing PCR field path value from %s: %v", valueStr, err) 306 } 307 return fpv.(PCR_FieldPathValue), nil 308 } 309 310 func MustParsePCR_FieldPathValue(pathStr, valueStr string) PCR_FieldPathValue { 311 fpv, err := ParsePCR_FieldPathValue(pathStr, valueStr) 312 if err != nil { 313 panic(err) 314 } 315 return fpv 316 } 317 318 type PCR_FieldTerminalPathValue struct { 319 PCR_FieldTerminalPath 320 value interface{} 321 } 322 323 var _ PCR_FieldPathValue = (*PCR_FieldTerminalPathValue)(nil) 324 325 // GetRawValue returns raw value stored under selected path for 'PCR' as interface{} 326 func (fpv *PCR_FieldTerminalPathValue) GetRawValue() interface{} { 327 return fpv.value 328 } 329 func (fpv *PCR_FieldTerminalPathValue) AsIndexValue() (uint32, bool) { 330 res, ok := fpv.value.(uint32) 331 return res, ok 332 } 333 func (fpv *PCR_FieldTerminalPathValue) AsDigestHexValue() (string, bool) { 334 res, ok := fpv.value.(string) 335 return res, ok 336 } 337 func (fpv *PCR_FieldTerminalPathValue) AsDigestAlgValue() (DigestAlg, bool) { 338 res, ok := fpv.value.(DigestAlg) 339 return res, ok 340 } 341 func (fpv *PCR_FieldTerminalPathValue) AsCommentValue() (string, bool) { 342 res, ok := fpv.value.(string) 343 return res, ok 344 } 345 346 // SetTo stores value for selected field for object PCR 347 func (fpv *PCR_FieldTerminalPathValue) SetTo(target **PCR) { 348 if *target == nil { 349 *target = new(PCR) 350 } 351 switch fpv.selector { 352 case PCR_FieldPathSelectorIndex: 353 (*target).Index = fpv.value.(uint32) 354 case PCR_FieldPathSelectorDigestHex: 355 (*target).DigestHex = fpv.value.(string) 356 case PCR_FieldPathSelectorDigestAlg: 357 (*target).DigestAlg = fpv.value.(DigestAlg) 358 case PCR_FieldPathSelectorComment: 359 (*target).Comment = fpv.value.(string) 360 default: 361 panic(fmt.Sprintf("Invalid selector for PCR: %d", fpv.selector)) 362 } 363 } 364 365 func (fpv *PCR_FieldTerminalPathValue) SetToRaw(target proto.Message) { 366 typedObject := target.(*PCR) 367 fpv.SetTo(&typedObject) 368 } 369 370 // CompareWith compares value in the 'PCR_FieldTerminalPathValue' with the value under path in 'PCR'. 371 func (fpv *PCR_FieldTerminalPathValue) CompareWith(source *PCR) (int, bool) { 372 switch fpv.selector { 373 case PCR_FieldPathSelectorIndex: 374 leftValue := fpv.value.(uint32) 375 rightValue := source.GetIndex() 376 if (leftValue) == (rightValue) { 377 return 0, true 378 } else if (leftValue) < (rightValue) { 379 return -1, true 380 } else { 381 return 1, true 382 } 383 case PCR_FieldPathSelectorDigestHex: 384 leftValue := fpv.value.(string) 385 rightValue := source.GetDigestHex() 386 if (leftValue) == (rightValue) { 387 return 0, true 388 } else if (leftValue) < (rightValue) { 389 return -1, true 390 } else { 391 return 1, true 392 } 393 case PCR_FieldPathSelectorDigestAlg: 394 leftValue := fpv.value.(DigestAlg) 395 rightValue := source.GetDigestAlg() 396 if (leftValue) == (rightValue) { 397 return 0, true 398 } else if (leftValue) < (rightValue) { 399 return -1, true 400 } else { 401 return 1, true 402 } 403 case PCR_FieldPathSelectorComment: 404 leftValue := fpv.value.(string) 405 rightValue := source.GetComment() 406 if (leftValue) == (rightValue) { 407 return 0, true 408 } else if (leftValue) < (rightValue) { 409 return -1, true 410 } else { 411 return 1, true 412 } 413 default: 414 panic(fmt.Sprintf("Invalid selector for PCR: %d", fpv.selector)) 415 } 416 } 417 418 func (fpv *PCR_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 419 return fpv.CompareWith(source.(*PCR)) 420 } 421 422 // PCR_FieldPathArrayItemValue allows storing single item in Path-specific values for PCR according to their type 423 // Present only for array (repeated) types. 424 type PCR_FieldPathArrayItemValue interface { 425 gotenobject.FieldPathArrayItemValue 426 PCR_FieldPath 427 ContainsValue(*PCR) bool 428 } 429 430 // ParsePCR_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 431 func ParsePCR_FieldPathArrayItemValue(pathStr, valueStr string) (PCR_FieldPathArrayItemValue, error) { 432 fp, err := ParsePCR_FieldPath(pathStr) 433 if err != nil { 434 return nil, err 435 } 436 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 437 if err != nil { 438 return nil, status.Errorf(codes.InvalidArgument, "error parsing PCR field path array item value from %s: %v", valueStr, err) 439 } 440 return fpaiv.(PCR_FieldPathArrayItemValue), nil 441 } 442 443 func MustParsePCR_FieldPathArrayItemValue(pathStr, valueStr string) PCR_FieldPathArrayItemValue { 444 fpaiv, err := ParsePCR_FieldPathArrayItemValue(pathStr, valueStr) 445 if err != nil { 446 panic(err) 447 } 448 return fpaiv 449 } 450 451 type PCR_FieldTerminalPathArrayItemValue struct { 452 PCR_FieldTerminalPath 453 value interface{} 454 } 455 456 var _ PCR_FieldPathArrayItemValue = (*PCR_FieldTerminalPathArrayItemValue)(nil) 457 458 // GetRawValue returns stored element value for array in object PCR as interface{} 459 func (fpaiv *PCR_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 460 return fpaiv.value 461 } 462 463 func (fpaiv *PCR_FieldTerminalPathArrayItemValue) GetSingle(source *PCR) (interface{}, bool) { 464 return nil, false 465 } 466 467 func (fpaiv *PCR_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 468 return fpaiv.GetSingle(source.(*PCR)) 469 } 470 471 // Contains returns a boolean indicating if value that is being held is present in given 'PCR' 472 func (fpaiv *PCR_FieldTerminalPathArrayItemValue) ContainsValue(source *PCR) bool { 473 slice := fpaiv.PCR_FieldTerminalPath.Get(source) 474 for _, v := range slice { 475 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 476 if proto.Equal(asProtoMsg, v.(proto.Message)) { 477 return true 478 } 479 } else if reflect.DeepEqual(v, fpaiv.value) { 480 return true 481 } 482 } 483 return false 484 } 485 486 // PCR_FieldPathArrayOfValues allows storing slice of values for PCR fields according to their type 487 type PCR_FieldPathArrayOfValues interface { 488 gotenobject.FieldPathArrayOfValues 489 PCR_FieldPath 490 } 491 492 func ParsePCR_FieldPathArrayOfValues(pathStr, valuesStr string) (PCR_FieldPathArrayOfValues, error) { 493 fp, err := ParsePCR_FieldPath(pathStr) 494 if err != nil { 495 return nil, err 496 } 497 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 498 if err != nil { 499 return nil, status.Errorf(codes.InvalidArgument, "error parsing PCR field path array of values from %s: %v", valuesStr, err) 500 } 501 return fpaov.(PCR_FieldPathArrayOfValues), nil 502 } 503 504 func MustParsePCR_FieldPathArrayOfValues(pathStr, valuesStr string) PCR_FieldPathArrayOfValues { 505 fpaov, err := ParsePCR_FieldPathArrayOfValues(pathStr, valuesStr) 506 if err != nil { 507 panic(err) 508 } 509 return fpaov 510 } 511 512 type PCR_FieldTerminalPathArrayOfValues struct { 513 PCR_FieldTerminalPath 514 values interface{} 515 } 516 517 var _ PCR_FieldPathArrayOfValues = (*PCR_FieldTerminalPathArrayOfValues)(nil) 518 519 func (fpaov *PCR_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 520 switch fpaov.selector { 521 case PCR_FieldPathSelectorIndex: 522 for _, v := range fpaov.values.([]uint32) { 523 values = append(values, v) 524 } 525 case PCR_FieldPathSelectorDigestHex: 526 for _, v := range fpaov.values.([]string) { 527 values = append(values, v) 528 } 529 case PCR_FieldPathSelectorDigestAlg: 530 for _, v := range fpaov.values.([]DigestAlg) { 531 values = append(values, v) 532 } 533 case PCR_FieldPathSelectorComment: 534 for _, v := range fpaov.values.([]string) { 535 values = append(values, v) 536 } 537 } 538 return 539 } 540 func (fpaov *PCR_FieldTerminalPathArrayOfValues) AsIndexArrayOfValues() ([]uint32, bool) { 541 res, ok := fpaov.values.([]uint32) 542 return res, ok 543 } 544 func (fpaov *PCR_FieldTerminalPathArrayOfValues) AsDigestHexArrayOfValues() ([]string, bool) { 545 res, ok := fpaov.values.([]string) 546 return res, ok 547 } 548 func (fpaov *PCR_FieldTerminalPathArrayOfValues) AsDigestAlgArrayOfValues() ([]DigestAlg, bool) { 549 res, ok := fpaov.values.([]DigestAlg) 550 return res, ok 551 } 552 func (fpaov *PCR_FieldTerminalPathArrayOfValues) AsCommentArrayOfValues() ([]string, bool) { 553 res, ok := fpaov.values.([]string) 554 return res, ok 555 } 556 557 // FieldPath provides implementation to handle 558 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 559 type ServiceBusinessTier_FieldPath interface { 560 gotenobject.FieldPath 561 Selector() ServiceBusinessTier_FieldPathSelector 562 Get(source *ServiceBusinessTier) []interface{} 563 GetSingle(source *ServiceBusinessTier) (interface{}, bool) 564 ClearValue(item *ServiceBusinessTier) 565 566 // Those methods build corresponding ServiceBusinessTier_FieldPathValue 567 // (or array of values) and holds passed value. Panics if injected type is incorrect. 568 WithIValue(value interface{}) ServiceBusinessTier_FieldPathValue 569 WithIArrayOfValues(values interface{}) ServiceBusinessTier_FieldPathArrayOfValues 570 WithIArrayItemValue(value interface{}) ServiceBusinessTier_FieldPathArrayItemValue 571 } 572 573 type ServiceBusinessTier_FieldPathSelector int32 574 575 const ( 576 ServiceBusinessTier_FieldPathSelectorService ServiceBusinessTier_FieldPathSelector = 0 577 ServiceBusinessTier_FieldPathSelectorBusinessTier ServiceBusinessTier_FieldPathSelector = 1 578 ) 579 580 func (s ServiceBusinessTier_FieldPathSelector) String() string { 581 switch s { 582 case ServiceBusinessTier_FieldPathSelectorService: 583 return "service" 584 case ServiceBusinessTier_FieldPathSelectorBusinessTier: 585 return "business_tier" 586 default: 587 panic(fmt.Sprintf("Invalid selector for ServiceBusinessTier: %d", s)) 588 } 589 } 590 591 func BuildServiceBusinessTier_FieldPath(fp gotenobject.RawFieldPath) (ServiceBusinessTier_FieldPath, error) { 592 if len(fp) == 0 { 593 return nil, status.Error(codes.InvalidArgument, "empty field path for object ServiceBusinessTier") 594 } 595 if len(fp) == 1 { 596 switch fp[0] { 597 case "service": 598 return &ServiceBusinessTier_FieldTerminalPath{selector: ServiceBusinessTier_FieldPathSelectorService}, nil 599 case "business_tier", "businessTier", "business-tier": 600 return &ServiceBusinessTier_FieldTerminalPath{selector: ServiceBusinessTier_FieldPathSelectorBusinessTier}, nil 601 } 602 } 603 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object ServiceBusinessTier", fp) 604 } 605 606 func ParseServiceBusinessTier_FieldPath(rawField string) (ServiceBusinessTier_FieldPath, error) { 607 fp, err := gotenobject.ParseRawFieldPath(rawField) 608 if err != nil { 609 return nil, err 610 } 611 return BuildServiceBusinessTier_FieldPath(fp) 612 } 613 614 func MustParseServiceBusinessTier_FieldPath(rawField string) ServiceBusinessTier_FieldPath { 615 fp, err := ParseServiceBusinessTier_FieldPath(rawField) 616 if err != nil { 617 panic(err) 618 } 619 return fp 620 } 621 622 type ServiceBusinessTier_FieldTerminalPath struct { 623 selector ServiceBusinessTier_FieldPathSelector 624 } 625 626 var _ ServiceBusinessTier_FieldPath = (*ServiceBusinessTier_FieldTerminalPath)(nil) 627 628 func (fp *ServiceBusinessTier_FieldTerminalPath) Selector() ServiceBusinessTier_FieldPathSelector { 629 return fp.selector 630 } 631 632 // String returns path representation in proto convention 633 func (fp *ServiceBusinessTier_FieldTerminalPath) String() string { 634 return fp.selector.String() 635 } 636 637 // JSONString returns path representation is JSON convention 638 func (fp *ServiceBusinessTier_FieldTerminalPath) JSONString() string { 639 return strcase.ToLowerCamel(fp.String()) 640 } 641 642 // Get returns all values pointed by specific field from source ServiceBusinessTier 643 func (fp *ServiceBusinessTier_FieldTerminalPath) Get(source *ServiceBusinessTier) (values []interface{}) { 644 if source != nil { 645 switch fp.selector { 646 case ServiceBusinessTier_FieldPathSelectorService: 647 if source.Service != nil { 648 values = append(values, source.Service) 649 } 650 case ServiceBusinessTier_FieldPathSelectorBusinessTier: 651 values = append(values, source.BusinessTier) 652 default: 653 panic(fmt.Sprintf("Invalid selector for ServiceBusinessTier: %d", fp.selector)) 654 } 655 } 656 return 657 } 658 659 func (fp *ServiceBusinessTier_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 660 return fp.Get(source.(*ServiceBusinessTier)) 661 } 662 663 // GetSingle returns value pointed by specific field of from source ServiceBusinessTier 664 func (fp *ServiceBusinessTier_FieldTerminalPath) GetSingle(source *ServiceBusinessTier) (interface{}, bool) { 665 switch fp.selector { 666 case ServiceBusinessTier_FieldPathSelectorService: 667 res := source.GetService() 668 return res, res != nil 669 case ServiceBusinessTier_FieldPathSelectorBusinessTier: 670 return source.GetBusinessTier(), source != nil 671 default: 672 panic(fmt.Sprintf("Invalid selector for ServiceBusinessTier: %d", fp.selector)) 673 } 674 } 675 676 func (fp *ServiceBusinessTier_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 677 return fp.GetSingle(source.(*ServiceBusinessTier)) 678 } 679 680 // GetDefault returns a default value of the field type 681 func (fp *ServiceBusinessTier_FieldTerminalPath) GetDefault() interface{} { 682 switch fp.selector { 683 case ServiceBusinessTier_FieldPathSelectorService: 684 return (*meta_service.Name)(nil) 685 case ServiceBusinessTier_FieldPathSelectorBusinessTier: 686 return BusinessTier_UNDEFINED 687 default: 688 panic(fmt.Sprintf("Invalid selector for ServiceBusinessTier: %d", fp.selector)) 689 } 690 } 691 692 func (fp *ServiceBusinessTier_FieldTerminalPath) ClearValue(item *ServiceBusinessTier) { 693 if item != nil { 694 switch fp.selector { 695 case ServiceBusinessTier_FieldPathSelectorService: 696 item.Service = nil 697 case ServiceBusinessTier_FieldPathSelectorBusinessTier: 698 item.BusinessTier = BusinessTier_UNDEFINED 699 default: 700 panic(fmt.Sprintf("Invalid selector for ServiceBusinessTier: %d", fp.selector)) 701 } 702 } 703 } 704 705 func (fp *ServiceBusinessTier_FieldTerminalPath) ClearValueRaw(item proto.Message) { 706 fp.ClearValue(item.(*ServiceBusinessTier)) 707 } 708 709 // IsLeaf - whether field path is holds simple value 710 func (fp *ServiceBusinessTier_FieldTerminalPath) IsLeaf() bool { 711 return fp.selector == ServiceBusinessTier_FieldPathSelectorService || 712 fp.selector == ServiceBusinessTier_FieldPathSelectorBusinessTier 713 } 714 715 func (fp *ServiceBusinessTier_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 716 return []gotenobject.FieldPath{fp} 717 } 718 719 func (fp *ServiceBusinessTier_FieldTerminalPath) WithIValue(value interface{}) ServiceBusinessTier_FieldPathValue { 720 switch fp.selector { 721 case ServiceBusinessTier_FieldPathSelectorService: 722 return &ServiceBusinessTier_FieldTerminalPathValue{ServiceBusinessTier_FieldTerminalPath: *fp, value: value.(*meta_service.Name)} 723 case ServiceBusinessTier_FieldPathSelectorBusinessTier: 724 return &ServiceBusinessTier_FieldTerminalPathValue{ServiceBusinessTier_FieldTerminalPath: *fp, value: value.(BusinessTier)} 725 default: 726 panic(fmt.Sprintf("Invalid selector for ServiceBusinessTier: %d", fp.selector)) 727 } 728 } 729 730 func (fp *ServiceBusinessTier_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 731 return fp.WithIValue(value) 732 } 733 734 func (fp *ServiceBusinessTier_FieldTerminalPath) WithIArrayOfValues(values interface{}) ServiceBusinessTier_FieldPathArrayOfValues { 735 fpaov := &ServiceBusinessTier_FieldTerminalPathArrayOfValues{ServiceBusinessTier_FieldTerminalPath: *fp} 736 switch fp.selector { 737 case ServiceBusinessTier_FieldPathSelectorService: 738 return &ServiceBusinessTier_FieldTerminalPathArrayOfValues{ServiceBusinessTier_FieldTerminalPath: *fp, values: values.([]*meta_service.Name)} 739 case ServiceBusinessTier_FieldPathSelectorBusinessTier: 740 return &ServiceBusinessTier_FieldTerminalPathArrayOfValues{ServiceBusinessTier_FieldTerminalPath: *fp, values: values.([]BusinessTier)} 741 default: 742 panic(fmt.Sprintf("Invalid selector for ServiceBusinessTier: %d", fp.selector)) 743 } 744 return fpaov 745 } 746 747 func (fp *ServiceBusinessTier_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 748 return fp.WithIArrayOfValues(values) 749 } 750 751 func (fp *ServiceBusinessTier_FieldTerminalPath) WithIArrayItemValue(value interface{}) ServiceBusinessTier_FieldPathArrayItemValue { 752 switch fp.selector { 753 default: 754 panic(fmt.Sprintf("Invalid selector for ServiceBusinessTier: %d", fp.selector)) 755 } 756 } 757 758 func (fp *ServiceBusinessTier_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 759 return fp.WithIArrayItemValue(value) 760 } 761 762 // ServiceBusinessTier_FieldPathValue allows storing values for ServiceBusinessTier fields according to their type 763 type ServiceBusinessTier_FieldPathValue interface { 764 ServiceBusinessTier_FieldPath 765 gotenobject.FieldPathValue 766 SetTo(target **ServiceBusinessTier) 767 CompareWith(*ServiceBusinessTier) (cmp int, comparable bool) 768 } 769 770 func ParseServiceBusinessTier_FieldPathValue(pathStr, valueStr string) (ServiceBusinessTier_FieldPathValue, error) { 771 fp, err := ParseServiceBusinessTier_FieldPath(pathStr) 772 if err != nil { 773 return nil, err 774 } 775 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 776 if err != nil { 777 return nil, status.Errorf(codes.InvalidArgument, "error parsing ServiceBusinessTier field path value from %s: %v", valueStr, err) 778 } 779 return fpv.(ServiceBusinessTier_FieldPathValue), nil 780 } 781 782 func MustParseServiceBusinessTier_FieldPathValue(pathStr, valueStr string) ServiceBusinessTier_FieldPathValue { 783 fpv, err := ParseServiceBusinessTier_FieldPathValue(pathStr, valueStr) 784 if err != nil { 785 panic(err) 786 } 787 return fpv 788 } 789 790 type ServiceBusinessTier_FieldTerminalPathValue struct { 791 ServiceBusinessTier_FieldTerminalPath 792 value interface{} 793 } 794 795 var _ ServiceBusinessTier_FieldPathValue = (*ServiceBusinessTier_FieldTerminalPathValue)(nil) 796 797 // GetRawValue returns raw value stored under selected path for 'ServiceBusinessTier' as interface{} 798 func (fpv *ServiceBusinessTier_FieldTerminalPathValue) GetRawValue() interface{} { 799 return fpv.value 800 } 801 func (fpv *ServiceBusinessTier_FieldTerminalPathValue) AsServiceValue() (*meta_service.Name, bool) { 802 res, ok := fpv.value.(*meta_service.Name) 803 return res, ok 804 } 805 func (fpv *ServiceBusinessTier_FieldTerminalPathValue) AsBusinessTierValue() (BusinessTier, bool) { 806 res, ok := fpv.value.(BusinessTier) 807 return res, ok 808 } 809 810 // SetTo stores value for selected field for object ServiceBusinessTier 811 func (fpv *ServiceBusinessTier_FieldTerminalPathValue) SetTo(target **ServiceBusinessTier) { 812 if *target == nil { 813 *target = new(ServiceBusinessTier) 814 } 815 switch fpv.selector { 816 case ServiceBusinessTier_FieldPathSelectorService: 817 (*target).Service = fpv.value.(*meta_service.Name) 818 case ServiceBusinessTier_FieldPathSelectorBusinessTier: 819 (*target).BusinessTier = fpv.value.(BusinessTier) 820 default: 821 panic(fmt.Sprintf("Invalid selector for ServiceBusinessTier: %d", fpv.selector)) 822 } 823 } 824 825 func (fpv *ServiceBusinessTier_FieldTerminalPathValue) SetToRaw(target proto.Message) { 826 typedObject := target.(*ServiceBusinessTier) 827 fpv.SetTo(&typedObject) 828 } 829 830 // CompareWith compares value in the 'ServiceBusinessTier_FieldTerminalPathValue' with the value under path in 'ServiceBusinessTier'. 831 func (fpv *ServiceBusinessTier_FieldTerminalPathValue) CompareWith(source *ServiceBusinessTier) (int, bool) { 832 switch fpv.selector { 833 case ServiceBusinessTier_FieldPathSelectorService: 834 leftValue := fpv.value.(*meta_service.Name) 835 rightValue := source.GetService() 836 if leftValue == nil { 837 if rightValue != nil { 838 return -1, true 839 } 840 return 0, true 841 } 842 if rightValue == nil { 843 return 1, true 844 } 845 if leftValue.String() == rightValue.String() { 846 return 0, true 847 } else if leftValue.String() < rightValue.String() { 848 return -1, true 849 } else { 850 return 1, true 851 } 852 case ServiceBusinessTier_FieldPathSelectorBusinessTier: 853 leftValue := fpv.value.(BusinessTier) 854 rightValue := source.GetBusinessTier() 855 if (leftValue) == (rightValue) { 856 return 0, true 857 } else if (leftValue) < (rightValue) { 858 return -1, true 859 } else { 860 return 1, true 861 } 862 default: 863 panic(fmt.Sprintf("Invalid selector for ServiceBusinessTier: %d", fpv.selector)) 864 } 865 } 866 867 func (fpv *ServiceBusinessTier_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 868 return fpv.CompareWith(source.(*ServiceBusinessTier)) 869 } 870 871 // ServiceBusinessTier_FieldPathArrayItemValue allows storing single item in Path-specific values for ServiceBusinessTier according to their type 872 // Present only for array (repeated) types. 873 type ServiceBusinessTier_FieldPathArrayItemValue interface { 874 gotenobject.FieldPathArrayItemValue 875 ServiceBusinessTier_FieldPath 876 ContainsValue(*ServiceBusinessTier) bool 877 } 878 879 // ParseServiceBusinessTier_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 880 func ParseServiceBusinessTier_FieldPathArrayItemValue(pathStr, valueStr string) (ServiceBusinessTier_FieldPathArrayItemValue, error) { 881 fp, err := ParseServiceBusinessTier_FieldPath(pathStr) 882 if err != nil { 883 return nil, err 884 } 885 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 886 if err != nil { 887 return nil, status.Errorf(codes.InvalidArgument, "error parsing ServiceBusinessTier field path array item value from %s: %v", valueStr, err) 888 } 889 return fpaiv.(ServiceBusinessTier_FieldPathArrayItemValue), nil 890 } 891 892 func MustParseServiceBusinessTier_FieldPathArrayItemValue(pathStr, valueStr string) ServiceBusinessTier_FieldPathArrayItemValue { 893 fpaiv, err := ParseServiceBusinessTier_FieldPathArrayItemValue(pathStr, valueStr) 894 if err != nil { 895 panic(err) 896 } 897 return fpaiv 898 } 899 900 type ServiceBusinessTier_FieldTerminalPathArrayItemValue struct { 901 ServiceBusinessTier_FieldTerminalPath 902 value interface{} 903 } 904 905 var _ ServiceBusinessTier_FieldPathArrayItemValue = (*ServiceBusinessTier_FieldTerminalPathArrayItemValue)(nil) 906 907 // GetRawValue returns stored element value for array in object ServiceBusinessTier as interface{} 908 func (fpaiv *ServiceBusinessTier_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 909 return fpaiv.value 910 } 911 912 func (fpaiv *ServiceBusinessTier_FieldTerminalPathArrayItemValue) GetSingle(source *ServiceBusinessTier) (interface{}, bool) { 913 return nil, false 914 } 915 916 func (fpaiv *ServiceBusinessTier_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 917 return fpaiv.GetSingle(source.(*ServiceBusinessTier)) 918 } 919 920 // Contains returns a boolean indicating if value that is being held is present in given 'ServiceBusinessTier' 921 func (fpaiv *ServiceBusinessTier_FieldTerminalPathArrayItemValue) ContainsValue(source *ServiceBusinessTier) bool { 922 slice := fpaiv.ServiceBusinessTier_FieldTerminalPath.Get(source) 923 for _, v := range slice { 924 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 925 if proto.Equal(asProtoMsg, v.(proto.Message)) { 926 return true 927 } 928 } else if reflect.DeepEqual(v, fpaiv.value) { 929 return true 930 } 931 } 932 return false 933 } 934 935 // ServiceBusinessTier_FieldPathArrayOfValues allows storing slice of values for ServiceBusinessTier fields according to their type 936 type ServiceBusinessTier_FieldPathArrayOfValues interface { 937 gotenobject.FieldPathArrayOfValues 938 ServiceBusinessTier_FieldPath 939 } 940 941 func ParseServiceBusinessTier_FieldPathArrayOfValues(pathStr, valuesStr string) (ServiceBusinessTier_FieldPathArrayOfValues, error) { 942 fp, err := ParseServiceBusinessTier_FieldPath(pathStr) 943 if err != nil { 944 return nil, err 945 } 946 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 947 if err != nil { 948 return nil, status.Errorf(codes.InvalidArgument, "error parsing ServiceBusinessTier field path array of values from %s: %v", valuesStr, err) 949 } 950 return fpaov.(ServiceBusinessTier_FieldPathArrayOfValues), nil 951 } 952 953 func MustParseServiceBusinessTier_FieldPathArrayOfValues(pathStr, valuesStr string) ServiceBusinessTier_FieldPathArrayOfValues { 954 fpaov, err := ParseServiceBusinessTier_FieldPathArrayOfValues(pathStr, valuesStr) 955 if err != nil { 956 panic(err) 957 } 958 return fpaov 959 } 960 961 type ServiceBusinessTier_FieldTerminalPathArrayOfValues struct { 962 ServiceBusinessTier_FieldTerminalPath 963 values interface{} 964 } 965 966 var _ ServiceBusinessTier_FieldPathArrayOfValues = (*ServiceBusinessTier_FieldTerminalPathArrayOfValues)(nil) 967 968 func (fpaov *ServiceBusinessTier_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 969 switch fpaov.selector { 970 case ServiceBusinessTier_FieldPathSelectorService: 971 for _, v := range fpaov.values.([]*meta_service.Name) { 972 values = append(values, v) 973 } 974 case ServiceBusinessTier_FieldPathSelectorBusinessTier: 975 for _, v := range fpaov.values.([]BusinessTier) { 976 values = append(values, v) 977 } 978 } 979 return 980 } 981 func (fpaov *ServiceBusinessTier_FieldTerminalPathArrayOfValues) AsServiceArrayOfValues() ([]*meta_service.Name, bool) { 982 res, ok := fpaov.values.([]*meta_service.Name) 983 return res, ok 984 } 985 func (fpaov *ServiceBusinessTier_FieldTerminalPathArrayOfValues) AsBusinessTierArrayOfValues() ([]BusinessTier, bool) { 986 res, ok := fpaov.values.([]BusinessTier) 987 return res, ok 988 } 989 990 // FieldPath provides implementation to handle 991 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 992 type ServiceErrors_FieldPath interface { 993 gotenobject.FieldPath 994 Selector() ServiceErrors_FieldPathSelector 995 Get(source *ServiceErrors) []interface{} 996 GetSingle(source *ServiceErrors) (interface{}, bool) 997 ClearValue(item *ServiceErrors) 998 999 // Those methods build corresponding ServiceErrors_FieldPathValue 1000 // (or array of values) and holds passed value. Panics if injected type is incorrect. 1001 WithIValue(value interface{}) ServiceErrors_FieldPathValue 1002 WithIArrayOfValues(values interface{}) ServiceErrors_FieldPathArrayOfValues 1003 WithIArrayItemValue(value interface{}) ServiceErrors_FieldPathArrayItemValue 1004 } 1005 1006 type ServiceErrors_FieldPathSelector int32 1007 1008 const ( 1009 ServiceErrors_FieldPathSelectorErrors ServiceErrors_FieldPathSelector = 0 1010 ) 1011 1012 func (s ServiceErrors_FieldPathSelector) String() string { 1013 switch s { 1014 case ServiceErrors_FieldPathSelectorErrors: 1015 return "errors" 1016 default: 1017 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", s)) 1018 } 1019 } 1020 1021 func BuildServiceErrors_FieldPath(fp gotenobject.RawFieldPath) (ServiceErrors_FieldPath, error) { 1022 if len(fp) == 0 { 1023 return nil, status.Error(codes.InvalidArgument, "empty field path for object ServiceErrors") 1024 } 1025 if len(fp) == 1 { 1026 switch fp[0] { 1027 case "errors": 1028 return &ServiceErrors_FieldTerminalPath{selector: ServiceErrors_FieldPathSelectorErrors}, nil 1029 } 1030 } else { 1031 switch fp[0] { 1032 case "errors": 1033 if subpath, err := BuildServiceErrorsError_FieldPath(fp[1:]); err != nil { 1034 return nil, err 1035 } else { 1036 return &ServiceErrors_FieldSubPath{selector: ServiceErrors_FieldPathSelectorErrors, subPath: subpath}, nil 1037 } 1038 } 1039 } 1040 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object ServiceErrors", fp) 1041 } 1042 1043 func ParseServiceErrors_FieldPath(rawField string) (ServiceErrors_FieldPath, error) { 1044 fp, err := gotenobject.ParseRawFieldPath(rawField) 1045 if err != nil { 1046 return nil, err 1047 } 1048 return BuildServiceErrors_FieldPath(fp) 1049 } 1050 1051 func MustParseServiceErrors_FieldPath(rawField string) ServiceErrors_FieldPath { 1052 fp, err := ParseServiceErrors_FieldPath(rawField) 1053 if err != nil { 1054 panic(err) 1055 } 1056 return fp 1057 } 1058 1059 type ServiceErrors_FieldTerminalPath struct { 1060 selector ServiceErrors_FieldPathSelector 1061 } 1062 1063 var _ ServiceErrors_FieldPath = (*ServiceErrors_FieldTerminalPath)(nil) 1064 1065 func (fp *ServiceErrors_FieldTerminalPath) Selector() ServiceErrors_FieldPathSelector { 1066 return fp.selector 1067 } 1068 1069 // String returns path representation in proto convention 1070 func (fp *ServiceErrors_FieldTerminalPath) String() string { 1071 return fp.selector.String() 1072 } 1073 1074 // JSONString returns path representation is JSON convention 1075 func (fp *ServiceErrors_FieldTerminalPath) JSONString() string { 1076 return strcase.ToLowerCamel(fp.String()) 1077 } 1078 1079 // Get returns all values pointed by specific field from source ServiceErrors 1080 func (fp *ServiceErrors_FieldTerminalPath) Get(source *ServiceErrors) (values []interface{}) { 1081 if source != nil { 1082 switch fp.selector { 1083 case ServiceErrors_FieldPathSelectorErrors: 1084 for _, value := range source.GetErrors() { 1085 values = append(values, value) 1086 } 1087 default: 1088 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fp.selector)) 1089 } 1090 } 1091 return 1092 } 1093 1094 func (fp *ServiceErrors_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 1095 return fp.Get(source.(*ServiceErrors)) 1096 } 1097 1098 // GetSingle returns value pointed by specific field of from source ServiceErrors 1099 func (fp *ServiceErrors_FieldTerminalPath) GetSingle(source *ServiceErrors) (interface{}, bool) { 1100 switch fp.selector { 1101 case ServiceErrors_FieldPathSelectorErrors: 1102 res := source.GetErrors() 1103 return res, res != nil 1104 default: 1105 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fp.selector)) 1106 } 1107 } 1108 1109 func (fp *ServiceErrors_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1110 return fp.GetSingle(source.(*ServiceErrors)) 1111 } 1112 1113 // GetDefault returns a default value of the field type 1114 func (fp *ServiceErrors_FieldTerminalPath) GetDefault() interface{} { 1115 switch fp.selector { 1116 case ServiceErrors_FieldPathSelectorErrors: 1117 return ([]*ServiceErrors_Error)(nil) 1118 default: 1119 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fp.selector)) 1120 } 1121 } 1122 1123 func (fp *ServiceErrors_FieldTerminalPath) ClearValue(item *ServiceErrors) { 1124 if item != nil { 1125 switch fp.selector { 1126 case ServiceErrors_FieldPathSelectorErrors: 1127 item.Errors = nil 1128 default: 1129 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fp.selector)) 1130 } 1131 } 1132 } 1133 1134 func (fp *ServiceErrors_FieldTerminalPath) ClearValueRaw(item proto.Message) { 1135 fp.ClearValue(item.(*ServiceErrors)) 1136 } 1137 1138 // IsLeaf - whether field path is holds simple value 1139 func (fp *ServiceErrors_FieldTerminalPath) IsLeaf() bool { 1140 return false 1141 } 1142 1143 func (fp *ServiceErrors_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1144 return []gotenobject.FieldPath{fp} 1145 } 1146 1147 func (fp *ServiceErrors_FieldTerminalPath) WithIValue(value interface{}) ServiceErrors_FieldPathValue { 1148 switch fp.selector { 1149 case ServiceErrors_FieldPathSelectorErrors: 1150 return &ServiceErrors_FieldTerminalPathValue{ServiceErrors_FieldTerminalPath: *fp, value: value.([]*ServiceErrors_Error)} 1151 default: 1152 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fp.selector)) 1153 } 1154 } 1155 1156 func (fp *ServiceErrors_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1157 return fp.WithIValue(value) 1158 } 1159 1160 func (fp *ServiceErrors_FieldTerminalPath) WithIArrayOfValues(values interface{}) ServiceErrors_FieldPathArrayOfValues { 1161 fpaov := &ServiceErrors_FieldTerminalPathArrayOfValues{ServiceErrors_FieldTerminalPath: *fp} 1162 switch fp.selector { 1163 case ServiceErrors_FieldPathSelectorErrors: 1164 return &ServiceErrors_FieldTerminalPathArrayOfValues{ServiceErrors_FieldTerminalPath: *fp, values: values.([][]*ServiceErrors_Error)} 1165 default: 1166 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fp.selector)) 1167 } 1168 return fpaov 1169 } 1170 1171 func (fp *ServiceErrors_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1172 return fp.WithIArrayOfValues(values) 1173 } 1174 1175 func (fp *ServiceErrors_FieldTerminalPath) WithIArrayItemValue(value interface{}) ServiceErrors_FieldPathArrayItemValue { 1176 switch fp.selector { 1177 case ServiceErrors_FieldPathSelectorErrors: 1178 return &ServiceErrors_FieldTerminalPathArrayItemValue{ServiceErrors_FieldTerminalPath: *fp, value: value.(*ServiceErrors_Error)} 1179 default: 1180 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fp.selector)) 1181 } 1182 } 1183 1184 func (fp *ServiceErrors_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1185 return fp.WithIArrayItemValue(value) 1186 } 1187 1188 type ServiceErrors_FieldSubPath struct { 1189 selector ServiceErrors_FieldPathSelector 1190 subPath gotenobject.FieldPath 1191 } 1192 1193 var _ ServiceErrors_FieldPath = (*ServiceErrors_FieldSubPath)(nil) 1194 1195 func (fps *ServiceErrors_FieldSubPath) Selector() ServiceErrors_FieldPathSelector { 1196 return fps.selector 1197 } 1198 func (fps *ServiceErrors_FieldSubPath) AsErrorsSubPath() (ServiceErrorsError_FieldPath, bool) { 1199 res, ok := fps.subPath.(ServiceErrorsError_FieldPath) 1200 return res, ok 1201 } 1202 1203 // String returns path representation in proto convention 1204 func (fps *ServiceErrors_FieldSubPath) String() string { 1205 return fps.selector.String() + "." + fps.subPath.String() 1206 } 1207 1208 // JSONString returns path representation is JSON convention 1209 func (fps *ServiceErrors_FieldSubPath) JSONString() string { 1210 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 1211 } 1212 1213 // Get returns all values pointed by selected field from source ServiceErrors 1214 func (fps *ServiceErrors_FieldSubPath) Get(source *ServiceErrors) (values []interface{}) { 1215 switch fps.selector { 1216 case ServiceErrors_FieldPathSelectorErrors: 1217 for _, item := range source.GetErrors() { 1218 values = append(values, fps.subPath.GetRaw(item)...) 1219 } 1220 default: 1221 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fps.selector)) 1222 } 1223 return 1224 } 1225 1226 func (fps *ServiceErrors_FieldSubPath) GetRaw(source proto.Message) []interface{} { 1227 return fps.Get(source.(*ServiceErrors)) 1228 } 1229 1230 // GetSingle returns value of selected field from source ServiceErrors 1231 func (fps *ServiceErrors_FieldSubPath) GetSingle(source *ServiceErrors) (interface{}, bool) { 1232 switch fps.selector { 1233 case ServiceErrors_FieldPathSelectorErrors: 1234 if len(source.GetErrors()) == 0 { 1235 return nil, false 1236 } 1237 return fps.subPath.GetSingleRaw(source.GetErrors()[0]) 1238 default: 1239 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fps.selector)) 1240 } 1241 } 1242 1243 func (fps *ServiceErrors_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1244 return fps.GetSingle(source.(*ServiceErrors)) 1245 } 1246 1247 // GetDefault returns a default value of the field type 1248 func (fps *ServiceErrors_FieldSubPath) GetDefault() interface{} { 1249 return fps.subPath.GetDefault() 1250 } 1251 1252 func (fps *ServiceErrors_FieldSubPath) ClearValue(item *ServiceErrors) { 1253 if item != nil { 1254 switch fps.selector { 1255 case ServiceErrors_FieldPathSelectorErrors: 1256 for _, subItem := range item.Errors { 1257 fps.subPath.ClearValueRaw(subItem) 1258 } 1259 default: 1260 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fps.selector)) 1261 } 1262 } 1263 } 1264 1265 func (fps *ServiceErrors_FieldSubPath) ClearValueRaw(item proto.Message) { 1266 fps.ClearValue(item.(*ServiceErrors)) 1267 } 1268 1269 // IsLeaf - whether field path is holds simple value 1270 func (fps *ServiceErrors_FieldSubPath) IsLeaf() bool { 1271 return fps.subPath.IsLeaf() 1272 } 1273 1274 func (fps *ServiceErrors_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1275 iPaths := []gotenobject.FieldPath{&ServiceErrors_FieldTerminalPath{selector: fps.selector}} 1276 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 1277 return iPaths 1278 } 1279 1280 func (fps *ServiceErrors_FieldSubPath) WithIValue(value interface{}) ServiceErrors_FieldPathValue { 1281 return &ServiceErrors_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 1282 } 1283 1284 func (fps *ServiceErrors_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1285 return fps.WithIValue(value) 1286 } 1287 1288 func (fps *ServiceErrors_FieldSubPath) WithIArrayOfValues(values interface{}) ServiceErrors_FieldPathArrayOfValues { 1289 return &ServiceErrors_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 1290 } 1291 1292 func (fps *ServiceErrors_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1293 return fps.WithIArrayOfValues(values) 1294 } 1295 1296 func (fps *ServiceErrors_FieldSubPath) WithIArrayItemValue(value interface{}) ServiceErrors_FieldPathArrayItemValue { 1297 return &ServiceErrors_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 1298 } 1299 1300 func (fps *ServiceErrors_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1301 return fps.WithIArrayItemValue(value) 1302 } 1303 1304 // ServiceErrors_FieldPathValue allows storing values for ServiceErrors fields according to their type 1305 type ServiceErrors_FieldPathValue interface { 1306 ServiceErrors_FieldPath 1307 gotenobject.FieldPathValue 1308 SetTo(target **ServiceErrors) 1309 CompareWith(*ServiceErrors) (cmp int, comparable bool) 1310 } 1311 1312 func ParseServiceErrors_FieldPathValue(pathStr, valueStr string) (ServiceErrors_FieldPathValue, error) { 1313 fp, err := ParseServiceErrors_FieldPath(pathStr) 1314 if err != nil { 1315 return nil, err 1316 } 1317 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 1318 if err != nil { 1319 return nil, status.Errorf(codes.InvalidArgument, "error parsing ServiceErrors field path value from %s: %v", valueStr, err) 1320 } 1321 return fpv.(ServiceErrors_FieldPathValue), nil 1322 } 1323 1324 func MustParseServiceErrors_FieldPathValue(pathStr, valueStr string) ServiceErrors_FieldPathValue { 1325 fpv, err := ParseServiceErrors_FieldPathValue(pathStr, valueStr) 1326 if err != nil { 1327 panic(err) 1328 } 1329 return fpv 1330 } 1331 1332 type ServiceErrors_FieldTerminalPathValue struct { 1333 ServiceErrors_FieldTerminalPath 1334 value interface{} 1335 } 1336 1337 var _ ServiceErrors_FieldPathValue = (*ServiceErrors_FieldTerminalPathValue)(nil) 1338 1339 // GetRawValue returns raw value stored under selected path for 'ServiceErrors' as interface{} 1340 func (fpv *ServiceErrors_FieldTerminalPathValue) GetRawValue() interface{} { 1341 return fpv.value 1342 } 1343 func (fpv *ServiceErrors_FieldTerminalPathValue) AsErrorsValue() ([]*ServiceErrors_Error, bool) { 1344 res, ok := fpv.value.([]*ServiceErrors_Error) 1345 return res, ok 1346 } 1347 1348 // SetTo stores value for selected field for object ServiceErrors 1349 func (fpv *ServiceErrors_FieldTerminalPathValue) SetTo(target **ServiceErrors) { 1350 if *target == nil { 1351 *target = new(ServiceErrors) 1352 } 1353 switch fpv.selector { 1354 case ServiceErrors_FieldPathSelectorErrors: 1355 (*target).Errors = fpv.value.([]*ServiceErrors_Error) 1356 default: 1357 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fpv.selector)) 1358 } 1359 } 1360 1361 func (fpv *ServiceErrors_FieldTerminalPathValue) SetToRaw(target proto.Message) { 1362 typedObject := target.(*ServiceErrors) 1363 fpv.SetTo(&typedObject) 1364 } 1365 1366 // CompareWith compares value in the 'ServiceErrors_FieldTerminalPathValue' with the value under path in 'ServiceErrors'. 1367 func (fpv *ServiceErrors_FieldTerminalPathValue) CompareWith(source *ServiceErrors) (int, bool) { 1368 switch fpv.selector { 1369 case ServiceErrors_FieldPathSelectorErrors: 1370 return 0, false 1371 default: 1372 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fpv.selector)) 1373 } 1374 } 1375 1376 func (fpv *ServiceErrors_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1377 return fpv.CompareWith(source.(*ServiceErrors)) 1378 } 1379 1380 type ServiceErrors_FieldSubPathValue struct { 1381 ServiceErrors_FieldPath 1382 subPathValue gotenobject.FieldPathValue 1383 } 1384 1385 var _ ServiceErrors_FieldPathValue = (*ServiceErrors_FieldSubPathValue)(nil) 1386 1387 func (fpvs *ServiceErrors_FieldSubPathValue) AsErrorsPathValue() (ServiceErrorsError_FieldPathValue, bool) { 1388 res, ok := fpvs.subPathValue.(ServiceErrorsError_FieldPathValue) 1389 return res, ok 1390 } 1391 1392 func (fpvs *ServiceErrors_FieldSubPathValue) SetTo(target **ServiceErrors) { 1393 if *target == nil { 1394 *target = new(ServiceErrors) 1395 } 1396 switch fpvs.Selector() { 1397 case ServiceErrors_FieldPathSelectorErrors: 1398 panic("FieldPath setter is unsupported for array subpaths") 1399 default: 1400 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fpvs.Selector())) 1401 } 1402 } 1403 1404 func (fpvs *ServiceErrors_FieldSubPathValue) SetToRaw(target proto.Message) { 1405 typedObject := target.(*ServiceErrors) 1406 fpvs.SetTo(&typedObject) 1407 } 1408 1409 func (fpvs *ServiceErrors_FieldSubPathValue) GetRawValue() interface{} { 1410 return fpvs.subPathValue.GetRawValue() 1411 } 1412 1413 func (fpvs *ServiceErrors_FieldSubPathValue) CompareWith(source *ServiceErrors) (int, bool) { 1414 switch fpvs.Selector() { 1415 case ServiceErrors_FieldPathSelectorErrors: 1416 return 0, false // repeated field 1417 default: 1418 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fpvs.Selector())) 1419 } 1420 } 1421 1422 func (fpvs *ServiceErrors_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1423 return fpvs.CompareWith(source.(*ServiceErrors)) 1424 } 1425 1426 // ServiceErrors_FieldPathArrayItemValue allows storing single item in Path-specific values for ServiceErrors according to their type 1427 // Present only for array (repeated) types. 1428 type ServiceErrors_FieldPathArrayItemValue interface { 1429 gotenobject.FieldPathArrayItemValue 1430 ServiceErrors_FieldPath 1431 ContainsValue(*ServiceErrors) bool 1432 } 1433 1434 // ParseServiceErrors_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 1435 func ParseServiceErrors_FieldPathArrayItemValue(pathStr, valueStr string) (ServiceErrors_FieldPathArrayItemValue, error) { 1436 fp, err := ParseServiceErrors_FieldPath(pathStr) 1437 if err != nil { 1438 return nil, err 1439 } 1440 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 1441 if err != nil { 1442 return nil, status.Errorf(codes.InvalidArgument, "error parsing ServiceErrors field path array item value from %s: %v", valueStr, err) 1443 } 1444 return fpaiv.(ServiceErrors_FieldPathArrayItemValue), nil 1445 } 1446 1447 func MustParseServiceErrors_FieldPathArrayItemValue(pathStr, valueStr string) ServiceErrors_FieldPathArrayItemValue { 1448 fpaiv, err := ParseServiceErrors_FieldPathArrayItemValue(pathStr, valueStr) 1449 if err != nil { 1450 panic(err) 1451 } 1452 return fpaiv 1453 } 1454 1455 type ServiceErrors_FieldTerminalPathArrayItemValue struct { 1456 ServiceErrors_FieldTerminalPath 1457 value interface{} 1458 } 1459 1460 var _ ServiceErrors_FieldPathArrayItemValue = (*ServiceErrors_FieldTerminalPathArrayItemValue)(nil) 1461 1462 // GetRawValue returns stored element value for array in object ServiceErrors as interface{} 1463 func (fpaiv *ServiceErrors_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 1464 return fpaiv.value 1465 } 1466 func (fpaiv *ServiceErrors_FieldTerminalPathArrayItemValue) AsErrorsItemValue() (*ServiceErrors_Error, bool) { 1467 res, ok := fpaiv.value.(*ServiceErrors_Error) 1468 return res, ok 1469 } 1470 1471 func (fpaiv *ServiceErrors_FieldTerminalPathArrayItemValue) GetSingle(source *ServiceErrors) (interface{}, bool) { 1472 return nil, false 1473 } 1474 1475 func (fpaiv *ServiceErrors_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 1476 return fpaiv.GetSingle(source.(*ServiceErrors)) 1477 } 1478 1479 // Contains returns a boolean indicating if value that is being held is present in given 'ServiceErrors' 1480 func (fpaiv *ServiceErrors_FieldTerminalPathArrayItemValue) ContainsValue(source *ServiceErrors) bool { 1481 slice := fpaiv.ServiceErrors_FieldTerminalPath.Get(source) 1482 for _, v := range slice { 1483 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 1484 if proto.Equal(asProtoMsg, v.(proto.Message)) { 1485 return true 1486 } 1487 } else if reflect.DeepEqual(v, fpaiv.value) { 1488 return true 1489 } 1490 } 1491 return false 1492 } 1493 1494 type ServiceErrors_FieldSubPathArrayItemValue struct { 1495 ServiceErrors_FieldPath 1496 subPathItemValue gotenobject.FieldPathArrayItemValue 1497 } 1498 1499 // GetRawValue returns stored array item value 1500 func (fpaivs *ServiceErrors_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 1501 return fpaivs.subPathItemValue.GetRawItemValue() 1502 } 1503 func (fpaivs *ServiceErrors_FieldSubPathArrayItemValue) AsErrorsPathItemValue() (ServiceErrorsError_FieldPathArrayItemValue, bool) { 1504 res, ok := fpaivs.subPathItemValue.(ServiceErrorsError_FieldPathArrayItemValue) 1505 return res, ok 1506 } 1507 1508 // Contains returns a boolean indicating if value that is being held is present in given 'ServiceErrors' 1509 func (fpaivs *ServiceErrors_FieldSubPathArrayItemValue) ContainsValue(source *ServiceErrors) bool { 1510 switch fpaivs.Selector() { 1511 case ServiceErrors_FieldPathSelectorErrors: 1512 return false // repeated/map field 1513 default: 1514 panic(fmt.Sprintf("Invalid selector for ServiceErrors: %d", fpaivs.Selector())) 1515 } 1516 } 1517 1518 // ServiceErrors_FieldPathArrayOfValues allows storing slice of values for ServiceErrors fields according to their type 1519 type ServiceErrors_FieldPathArrayOfValues interface { 1520 gotenobject.FieldPathArrayOfValues 1521 ServiceErrors_FieldPath 1522 } 1523 1524 func ParseServiceErrors_FieldPathArrayOfValues(pathStr, valuesStr string) (ServiceErrors_FieldPathArrayOfValues, error) { 1525 fp, err := ParseServiceErrors_FieldPath(pathStr) 1526 if err != nil { 1527 return nil, err 1528 } 1529 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 1530 if err != nil { 1531 return nil, status.Errorf(codes.InvalidArgument, "error parsing ServiceErrors field path array of values from %s: %v", valuesStr, err) 1532 } 1533 return fpaov.(ServiceErrors_FieldPathArrayOfValues), nil 1534 } 1535 1536 func MustParseServiceErrors_FieldPathArrayOfValues(pathStr, valuesStr string) ServiceErrors_FieldPathArrayOfValues { 1537 fpaov, err := ParseServiceErrors_FieldPathArrayOfValues(pathStr, valuesStr) 1538 if err != nil { 1539 panic(err) 1540 } 1541 return fpaov 1542 } 1543 1544 type ServiceErrors_FieldTerminalPathArrayOfValues struct { 1545 ServiceErrors_FieldTerminalPath 1546 values interface{} 1547 } 1548 1549 var _ ServiceErrors_FieldPathArrayOfValues = (*ServiceErrors_FieldTerminalPathArrayOfValues)(nil) 1550 1551 func (fpaov *ServiceErrors_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 1552 switch fpaov.selector { 1553 case ServiceErrors_FieldPathSelectorErrors: 1554 for _, v := range fpaov.values.([][]*ServiceErrors_Error) { 1555 values = append(values, v) 1556 } 1557 } 1558 return 1559 } 1560 func (fpaov *ServiceErrors_FieldTerminalPathArrayOfValues) AsErrorsArrayOfValues() ([][]*ServiceErrors_Error, bool) { 1561 res, ok := fpaov.values.([][]*ServiceErrors_Error) 1562 return res, ok 1563 } 1564 1565 type ServiceErrors_FieldSubPathArrayOfValues struct { 1566 ServiceErrors_FieldPath 1567 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 1568 } 1569 1570 var _ ServiceErrors_FieldPathArrayOfValues = (*ServiceErrors_FieldSubPathArrayOfValues)(nil) 1571 1572 func (fpsaov *ServiceErrors_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 1573 return fpsaov.subPathArrayOfValues.GetRawValues() 1574 } 1575 func (fpsaov *ServiceErrors_FieldSubPathArrayOfValues) AsErrorsPathArrayOfValues() (ServiceErrorsError_FieldPathArrayOfValues, bool) { 1576 res, ok := fpsaov.subPathArrayOfValues.(ServiceErrorsError_FieldPathArrayOfValues) 1577 return res, ok 1578 } 1579 1580 // FieldPath provides implementation to handle 1581 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 1582 type ServiceErrorsError_FieldPath interface { 1583 gotenobject.FieldPath 1584 Selector() ServiceErrorsError_FieldPathSelector 1585 Get(source *ServiceErrors_Error) []interface{} 1586 GetSingle(source *ServiceErrors_Error) (interface{}, bool) 1587 ClearValue(item *ServiceErrors_Error) 1588 1589 // Those methods build corresponding ServiceErrorsError_FieldPathValue 1590 // (or array of values) and holds passed value. Panics if injected type is incorrect. 1591 WithIValue(value interface{}) ServiceErrorsError_FieldPathValue 1592 WithIArrayOfValues(values interface{}) ServiceErrorsError_FieldPathArrayOfValues 1593 WithIArrayItemValue(value interface{}) ServiceErrorsError_FieldPathArrayItemValue 1594 } 1595 1596 type ServiceErrorsError_FieldPathSelector int32 1597 1598 const ( 1599 ServiceErrorsError_FieldPathSelectorService ServiceErrorsError_FieldPathSelector = 0 1600 ServiceErrorsError_FieldPathSelectorMessage ServiceErrorsError_FieldPathSelector = 1 1601 ) 1602 1603 func (s ServiceErrorsError_FieldPathSelector) String() string { 1604 switch s { 1605 case ServiceErrorsError_FieldPathSelectorService: 1606 return "service" 1607 case ServiceErrorsError_FieldPathSelectorMessage: 1608 return "message" 1609 default: 1610 panic(fmt.Sprintf("Invalid selector for ServiceErrors_Error: %d", s)) 1611 } 1612 } 1613 1614 func BuildServiceErrorsError_FieldPath(fp gotenobject.RawFieldPath) (ServiceErrorsError_FieldPath, error) { 1615 if len(fp) == 0 { 1616 return nil, status.Error(codes.InvalidArgument, "empty field path for object ServiceErrors_Error") 1617 } 1618 if len(fp) == 1 { 1619 switch fp[0] { 1620 case "service": 1621 return &ServiceErrorsError_FieldTerminalPath{selector: ServiceErrorsError_FieldPathSelectorService}, nil 1622 case "message": 1623 return &ServiceErrorsError_FieldTerminalPath{selector: ServiceErrorsError_FieldPathSelectorMessage}, nil 1624 } 1625 } 1626 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object ServiceErrors_Error", fp) 1627 } 1628 1629 func ParseServiceErrorsError_FieldPath(rawField string) (ServiceErrorsError_FieldPath, error) { 1630 fp, err := gotenobject.ParseRawFieldPath(rawField) 1631 if err != nil { 1632 return nil, err 1633 } 1634 return BuildServiceErrorsError_FieldPath(fp) 1635 } 1636 1637 func MustParseServiceErrorsError_FieldPath(rawField string) ServiceErrorsError_FieldPath { 1638 fp, err := ParseServiceErrorsError_FieldPath(rawField) 1639 if err != nil { 1640 panic(err) 1641 } 1642 return fp 1643 } 1644 1645 type ServiceErrorsError_FieldTerminalPath struct { 1646 selector ServiceErrorsError_FieldPathSelector 1647 } 1648 1649 var _ ServiceErrorsError_FieldPath = (*ServiceErrorsError_FieldTerminalPath)(nil) 1650 1651 func (fp *ServiceErrorsError_FieldTerminalPath) Selector() ServiceErrorsError_FieldPathSelector { 1652 return fp.selector 1653 } 1654 1655 // String returns path representation in proto convention 1656 func (fp *ServiceErrorsError_FieldTerminalPath) String() string { 1657 return fp.selector.String() 1658 } 1659 1660 // JSONString returns path representation is JSON convention 1661 func (fp *ServiceErrorsError_FieldTerminalPath) JSONString() string { 1662 return strcase.ToLowerCamel(fp.String()) 1663 } 1664 1665 // Get returns all values pointed by specific field from source ServiceErrors_Error 1666 func (fp *ServiceErrorsError_FieldTerminalPath) Get(source *ServiceErrors_Error) (values []interface{}) { 1667 if source != nil { 1668 switch fp.selector { 1669 case ServiceErrorsError_FieldPathSelectorService: 1670 if source.Service != nil { 1671 values = append(values, source.Service) 1672 } 1673 case ServiceErrorsError_FieldPathSelectorMessage: 1674 values = append(values, source.Message) 1675 default: 1676 panic(fmt.Sprintf("Invalid selector for ServiceErrors_Error: %d", fp.selector)) 1677 } 1678 } 1679 return 1680 } 1681 1682 func (fp *ServiceErrorsError_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 1683 return fp.Get(source.(*ServiceErrors_Error)) 1684 } 1685 1686 // GetSingle returns value pointed by specific field of from source ServiceErrors_Error 1687 func (fp *ServiceErrorsError_FieldTerminalPath) GetSingle(source *ServiceErrors_Error) (interface{}, bool) { 1688 switch fp.selector { 1689 case ServiceErrorsError_FieldPathSelectorService: 1690 res := source.GetService() 1691 return res, res != nil 1692 case ServiceErrorsError_FieldPathSelectorMessage: 1693 return source.GetMessage(), source != nil 1694 default: 1695 panic(fmt.Sprintf("Invalid selector for ServiceErrors_Error: %d", fp.selector)) 1696 } 1697 } 1698 1699 func (fp *ServiceErrorsError_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1700 return fp.GetSingle(source.(*ServiceErrors_Error)) 1701 } 1702 1703 // GetDefault returns a default value of the field type 1704 func (fp *ServiceErrorsError_FieldTerminalPath) GetDefault() interface{} { 1705 switch fp.selector { 1706 case ServiceErrorsError_FieldPathSelectorService: 1707 return (*meta_service.Name)(nil) 1708 case ServiceErrorsError_FieldPathSelectorMessage: 1709 return "" 1710 default: 1711 panic(fmt.Sprintf("Invalid selector for ServiceErrors_Error: %d", fp.selector)) 1712 } 1713 } 1714 1715 func (fp *ServiceErrorsError_FieldTerminalPath) ClearValue(item *ServiceErrors_Error) { 1716 if item != nil { 1717 switch fp.selector { 1718 case ServiceErrorsError_FieldPathSelectorService: 1719 item.Service = nil 1720 case ServiceErrorsError_FieldPathSelectorMessage: 1721 item.Message = "" 1722 default: 1723 panic(fmt.Sprintf("Invalid selector for ServiceErrors_Error: %d", fp.selector)) 1724 } 1725 } 1726 } 1727 1728 func (fp *ServiceErrorsError_FieldTerminalPath) ClearValueRaw(item proto.Message) { 1729 fp.ClearValue(item.(*ServiceErrors_Error)) 1730 } 1731 1732 // IsLeaf - whether field path is holds simple value 1733 func (fp *ServiceErrorsError_FieldTerminalPath) IsLeaf() bool { 1734 return fp.selector == ServiceErrorsError_FieldPathSelectorService || 1735 fp.selector == ServiceErrorsError_FieldPathSelectorMessage 1736 } 1737 1738 func (fp *ServiceErrorsError_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1739 return []gotenobject.FieldPath{fp} 1740 } 1741 1742 func (fp *ServiceErrorsError_FieldTerminalPath) WithIValue(value interface{}) ServiceErrorsError_FieldPathValue { 1743 switch fp.selector { 1744 case ServiceErrorsError_FieldPathSelectorService: 1745 return &ServiceErrorsError_FieldTerminalPathValue{ServiceErrorsError_FieldTerminalPath: *fp, value: value.(*meta_service.Name)} 1746 case ServiceErrorsError_FieldPathSelectorMessage: 1747 return &ServiceErrorsError_FieldTerminalPathValue{ServiceErrorsError_FieldTerminalPath: *fp, value: value.(string)} 1748 default: 1749 panic(fmt.Sprintf("Invalid selector for ServiceErrors_Error: %d", fp.selector)) 1750 } 1751 } 1752 1753 func (fp *ServiceErrorsError_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1754 return fp.WithIValue(value) 1755 } 1756 1757 func (fp *ServiceErrorsError_FieldTerminalPath) WithIArrayOfValues(values interface{}) ServiceErrorsError_FieldPathArrayOfValues { 1758 fpaov := &ServiceErrorsError_FieldTerminalPathArrayOfValues{ServiceErrorsError_FieldTerminalPath: *fp} 1759 switch fp.selector { 1760 case ServiceErrorsError_FieldPathSelectorService: 1761 return &ServiceErrorsError_FieldTerminalPathArrayOfValues{ServiceErrorsError_FieldTerminalPath: *fp, values: values.([]*meta_service.Name)} 1762 case ServiceErrorsError_FieldPathSelectorMessage: 1763 return &ServiceErrorsError_FieldTerminalPathArrayOfValues{ServiceErrorsError_FieldTerminalPath: *fp, values: values.([]string)} 1764 default: 1765 panic(fmt.Sprintf("Invalid selector for ServiceErrors_Error: %d", fp.selector)) 1766 } 1767 return fpaov 1768 } 1769 1770 func (fp *ServiceErrorsError_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1771 return fp.WithIArrayOfValues(values) 1772 } 1773 1774 func (fp *ServiceErrorsError_FieldTerminalPath) WithIArrayItemValue(value interface{}) ServiceErrorsError_FieldPathArrayItemValue { 1775 switch fp.selector { 1776 default: 1777 panic(fmt.Sprintf("Invalid selector for ServiceErrors_Error: %d", fp.selector)) 1778 } 1779 } 1780 1781 func (fp *ServiceErrorsError_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1782 return fp.WithIArrayItemValue(value) 1783 } 1784 1785 // ServiceErrorsError_FieldPathValue allows storing values for Error fields according to their type 1786 type ServiceErrorsError_FieldPathValue interface { 1787 ServiceErrorsError_FieldPath 1788 gotenobject.FieldPathValue 1789 SetTo(target **ServiceErrors_Error) 1790 CompareWith(*ServiceErrors_Error) (cmp int, comparable bool) 1791 } 1792 1793 func ParseServiceErrorsError_FieldPathValue(pathStr, valueStr string) (ServiceErrorsError_FieldPathValue, error) { 1794 fp, err := ParseServiceErrorsError_FieldPath(pathStr) 1795 if err != nil { 1796 return nil, err 1797 } 1798 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 1799 if err != nil { 1800 return nil, status.Errorf(codes.InvalidArgument, "error parsing Error field path value from %s: %v", valueStr, err) 1801 } 1802 return fpv.(ServiceErrorsError_FieldPathValue), nil 1803 } 1804 1805 func MustParseServiceErrorsError_FieldPathValue(pathStr, valueStr string) ServiceErrorsError_FieldPathValue { 1806 fpv, err := ParseServiceErrorsError_FieldPathValue(pathStr, valueStr) 1807 if err != nil { 1808 panic(err) 1809 } 1810 return fpv 1811 } 1812 1813 type ServiceErrorsError_FieldTerminalPathValue struct { 1814 ServiceErrorsError_FieldTerminalPath 1815 value interface{} 1816 } 1817 1818 var _ ServiceErrorsError_FieldPathValue = (*ServiceErrorsError_FieldTerminalPathValue)(nil) 1819 1820 // GetRawValue returns raw value stored under selected path for 'Error' as interface{} 1821 func (fpv *ServiceErrorsError_FieldTerminalPathValue) GetRawValue() interface{} { 1822 return fpv.value 1823 } 1824 func (fpv *ServiceErrorsError_FieldTerminalPathValue) AsServiceValue() (*meta_service.Name, bool) { 1825 res, ok := fpv.value.(*meta_service.Name) 1826 return res, ok 1827 } 1828 func (fpv *ServiceErrorsError_FieldTerminalPathValue) AsMessageValue() (string, bool) { 1829 res, ok := fpv.value.(string) 1830 return res, ok 1831 } 1832 1833 // SetTo stores value for selected field for object Error 1834 func (fpv *ServiceErrorsError_FieldTerminalPathValue) SetTo(target **ServiceErrors_Error) { 1835 if *target == nil { 1836 *target = new(ServiceErrors_Error) 1837 } 1838 switch fpv.selector { 1839 case ServiceErrorsError_FieldPathSelectorService: 1840 (*target).Service = fpv.value.(*meta_service.Name) 1841 case ServiceErrorsError_FieldPathSelectorMessage: 1842 (*target).Message = fpv.value.(string) 1843 default: 1844 panic(fmt.Sprintf("Invalid selector for ServiceErrors_Error: %d", fpv.selector)) 1845 } 1846 } 1847 1848 func (fpv *ServiceErrorsError_FieldTerminalPathValue) SetToRaw(target proto.Message) { 1849 typedObject := target.(*ServiceErrors_Error) 1850 fpv.SetTo(&typedObject) 1851 } 1852 1853 // CompareWith compares value in the 'ServiceErrorsError_FieldTerminalPathValue' with the value under path in 'ServiceErrors_Error'. 1854 func (fpv *ServiceErrorsError_FieldTerminalPathValue) CompareWith(source *ServiceErrors_Error) (int, bool) { 1855 switch fpv.selector { 1856 case ServiceErrorsError_FieldPathSelectorService: 1857 leftValue := fpv.value.(*meta_service.Name) 1858 rightValue := source.GetService() 1859 if leftValue == nil { 1860 if rightValue != nil { 1861 return -1, true 1862 } 1863 return 0, true 1864 } 1865 if rightValue == nil { 1866 return 1, true 1867 } 1868 if leftValue.String() == rightValue.String() { 1869 return 0, true 1870 } else if leftValue.String() < rightValue.String() { 1871 return -1, true 1872 } else { 1873 return 1, true 1874 } 1875 case ServiceErrorsError_FieldPathSelectorMessage: 1876 leftValue := fpv.value.(string) 1877 rightValue := source.GetMessage() 1878 if (leftValue) == (rightValue) { 1879 return 0, true 1880 } else if (leftValue) < (rightValue) { 1881 return -1, true 1882 } else { 1883 return 1, true 1884 } 1885 default: 1886 panic(fmt.Sprintf("Invalid selector for ServiceErrors_Error: %d", fpv.selector)) 1887 } 1888 } 1889 1890 func (fpv *ServiceErrorsError_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1891 return fpv.CompareWith(source.(*ServiceErrors_Error)) 1892 } 1893 1894 // ServiceErrorsError_FieldPathArrayItemValue allows storing single item in Path-specific values for Error according to their type 1895 // Present only for array (repeated) types. 1896 type ServiceErrorsError_FieldPathArrayItemValue interface { 1897 gotenobject.FieldPathArrayItemValue 1898 ServiceErrorsError_FieldPath 1899 ContainsValue(*ServiceErrors_Error) bool 1900 } 1901 1902 // ParseServiceErrorsError_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 1903 func ParseServiceErrorsError_FieldPathArrayItemValue(pathStr, valueStr string) (ServiceErrorsError_FieldPathArrayItemValue, error) { 1904 fp, err := ParseServiceErrorsError_FieldPath(pathStr) 1905 if err != nil { 1906 return nil, err 1907 } 1908 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 1909 if err != nil { 1910 return nil, status.Errorf(codes.InvalidArgument, "error parsing Error field path array item value from %s: %v", valueStr, err) 1911 } 1912 return fpaiv.(ServiceErrorsError_FieldPathArrayItemValue), nil 1913 } 1914 1915 func MustParseServiceErrorsError_FieldPathArrayItemValue(pathStr, valueStr string) ServiceErrorsError_FieldPathArrayItemValue { 1916 fpaiv, err := ParseServiceErrorsError_FieldPathArrayItemValue(pathStr, valueStr) 1917 if err != nil { 1918 panic(err) 1919 } 1920 return fpaiv 1921 } 1922 1923 type ServiceErrorsError_FieldTerminalPathArrayItemValue struct { 1924 ServiceErrorsError_FieldTerminalPath 1925 value interface{} 1926 } 1927 1928 var _ ServiceErrorsError_FieldPathArrayItemValue = (*ServiceErrorsError_FieldTerminalPathArrayItemValue)(nil) 1929 1930 // GetRawValue returns stored element value for array in object ServiceErrors_Error as interface{} 1931 func (fpaiv *ServiceErrorsError_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 1932 return fpaiv.value 1933 } 1934 1935 func (fpaiv *ServiceErrorsError_FieldTerminalPathArrayItemValue) GetSingle(source *ServiceErrors_Error) (interface{}, bool) { 1936 return nil, false 1937 } 1938 1939 func (fpaiv *ServiceErrorsError_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 1940 return fpaiv.GetSingle(source.(*ServiceErrors_Error)) 1941 } 1942 1943 // Contains returns a boolean indicating if value that is being held is present in given 'Error' 1944 func (fpaiv *ServiceErrorsError_FieldTerminalPathArrayItemValue) ContainsValue(source *ServiceErrors_Error) bool { 1945 slice := fpaiv.ServiceErrorsError_FieldTerminalPath.Get(source) 1946 for _, v := range slice { 1947 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 1948 if proto.Equal(asProtoMsg, v.(proto.Message)) { 1949 return true 1950 } 1951 } else if reflect.DeepEqual(v, fpaiv.value) { 1952 return true 1953 } 1954 } 1955 return false 1956 } 1957 1958 // ServiceErrorsError_FieldPathArrayOfValues allows storing slice of values for Error fields according to their type 1959 type ServiceErrorsError_FieldPathArrayOfValues interface { 1960 gotenobject.FieldPathArrayOfValues 1961 ServiceErrorsError_FieldPath 1962 } 1963 1964 func ParseServiceErrorsError_FieldPathArrayOfValues(pathStr, valuesStr string) (ServiceErrorsError_FieldPathArrayOfValues, error) { 1965 fp, err := ParseServiceErrorsError_FieldPath(pathStr) 1966 if err != nil { 1967 return nil, err 1968 } 1969 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 1970 if err != nil { 1971 return nil, status.Errorf(codes.InvalidArgument, "error parsing Error field path array of values from %s: %v", valuesStr, err) 1972 } 1973 return fpaov.(ServiceErrorsError_FieldPathArrayOfValues), nil 1974 } 1975 1976 func MustParseServiceErrorsError_FieldPathArrayOfValues(pathStr, valuesStr string) ServiceErrorsError_FieldPathArrayOfValues { 1977 fpaov, err := ParseServiceErrorsError_FieldPathArrayOfValues(pathStr, valuesStr) 1978 if err != nil { 1979 panic(err) 1980 } 1981 return fpaov 1982 } 1983 1984 type ServiceErrorsError_FieldTerminalPathArrayOfValues struct { 1985 ServiceErrorsError_FieldTerminalPath 1986 values interface{} 1987 } 1988 1989 var _ ServiceErrorsError_FieldPathArrayOfValues = (*ServiceErrorsError_FieldTerminalPathArrayOfValues)(nil) 1990 1991 func (fpaov *ServiceErrorsError_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 1992 switch fpaov.selector { 1993 case ServiceErrorsError_FieldPathSelectorService: 1994 for _, v := range fpaov.values.([]*meta_service.Name) { 1995 values = append(values, v) 1996 } 1997 case ServiceErrorsError_FieldPathSelectorMessage: 1998 for _, v := range fpaov.values.([]string) { 1999 values = append(values, v) 2000 } 2001 } 2002 return 2003 } 2004 func (fpaov *ServiceErrorsError_FieldTerminalPathArrayOfValues) AsServiceArrayOfValues() ([]*meta_service.Name, bool) { 2005 res, ok := fpaov.values.([]*meta_service.Name) 2006 return res, ok 2007 } 2008 func (fpaov *ServiceErrorsError_FieldTerminalPathArrayOfValues) AsMessageArrayOfValues() ([]string, bool) { 2009 res, ok := fpaov.values.([]string) 2010 return res, ok 2011 }