github.com/cloudwan/edgelq-sdk@v1.15.4/cellular-api/resources/v1/sim_card/sim_card.pb.fieldpath.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/cellular-api/proto/v1/sim_card.proto 3 // DO NOT EDIT!!! 4 5 package sim_card 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 carrier "github.com/cloudwan/edgelq-sdk/cellular-api/carrier" 27 contract "github.com/cloudwan/edgelq-sdk/cellular-api/resources/v1/contract" 28 iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1/project" 29 meta "github.com/cloudwan/goten-sdk/types/meta" 30 ) 31 32 // ensure the imports are used 33 var ( 34 _ = new(json.Marshaler) 35 _ = new(fmt.Stringer) 36 _ = reflect.DeepEqual 37 _ = strings.Builder{} 38 _ = time.Second 39 40 _ = strcase.ToLowerCamel 41 _ = codes.NotFound 42 _ = status.Status{} 43 _ = protojson.UnmarshalOptions{} 44 _ = new(proto.Message) 45 _ = protoregistry.GlobalTypes 46 47 _ = new(gotenobject.FieldPath) 48 ) 49 50 // make sure we're using proto imports 51 var ( 52 _ = &carrier.TransatelAccount{} 53 _ = &contract.Contract{} 54 _ = &iam_project.Project{} 55 _ = &meta.Meta{} 56 ) 57 58 // FieldPath provides implementation to handle 59 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 60 type SimCard_FieldPath interface { 61 gotenobject.FieldPath 62 Selector() SimCard_FieldPathSelector 63 Get(source *SimCard) []interface{} 64 GetSingle(source *SimCard) (interface{}, bool) 65 ClearValue(item *SimCard) 66 67 // Those methods build corresponding SimCard_FieldPathValue 68 // (or array of values) and holds passed value. Panics if injected type is incorrect. 69 WithIValue(value interface{}) SimCard_FieldPathValue 70 WithIArrayOfValues(values interface{}) SimCard_FieldPathArrayOfValues 71 WithIArrayItemValue(value interface{}) SimCard_FieldPathArrayItemValue 72 } 73 74 type SimCard_FieldPathSelector int32 75 76 const ( 77 SimCard_FieldPathSelectorName SimCard_FieldPathSelector = 0 78 SimCard_FieldPathSelectorMetadata SimCard_FieldPathSelector = 1 79 SimCard_FieldPathSelectorContract SimCard_FieldPathSelector = 2 80 SimCard_FieldPathSelectorImsi SimCard_FieldPathSelector = 3 81 SimCard_FieldPathSelectorRatePlan SimCard_FieldPathSelector = 4 82 SimCard_FieldPathSelectorStatus SimCard_FieldPathSelector = 5 83 ) 84 85 func (s SimCard_FieldPathSelector) String() string { 86 switch s { 87 case SimCard_FieldPathSelectorName: 88 return "name" 89 case SimCard_FieldPathSelectorMetadata: 90 return "metadata" 91 case SimCard_FieldPathSelectorContract: 92 return "contract" 93 case SimCard_FieldPathSelectorImsi: 94 return "imsi" 95 case SimCard_FieldPathSelectorRatePlan: 96 return "rate_plan" 97 case SimCard_FieldPathSelectorStatus: 98 return "status" 99 default: 100 panic(fmt.Sprintf("Invalid selector for SimCard: %d", s)) 101 } 102 } 103 104 func BuildSimCard_FieldPath(fp gotenobject.RawFieldPath) (SimCard_FieldPath, error) { 105 if len(fp) == 0 { 106 return nil, status.Error(codes.InvalidArgument, "empty field path for object SimCard") 107 } 108 if len(fp) == 1 { 109 switch fp[0] { 110 case "name": 111 return &SimCard_FieldTerminalPath{selector: SimCard_FieldPathSelectorName}, nil 112 case "metadata": 113 return &SimCard_FieldTerminalPath{selector: SimCard_FieldPathSelectorMetadata}, nil 114 case "contract": 115 return &SimCard_FieldTerminalPath{selector: SimCard_FieldPathSelectorContract}, nil 116 case "imsi": 117 return &SimCard_FieldTerminalPath{selector: SimCard_FieldPathSelectorImsi}, nil 118 case "rate_plan", "ratePlan", "rate-plan": 119 return &SimCard_FieldTerminalPath{selector: SimCard_FieldPathSelectorRatePlan}, nil 120 case "status": 121 return &SimCard_FieldTerminalPath{selector: SimCard_FieldPathSelectorStatus}, nil 122 } 123 } else { 124 switch fp[0] { 125 case "metadata": 126 if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil { 127 return nil, err 128 } else { 129 return &SimCard_FieldSubPath{selector: SimCard_FieldPathSelectorMetadata, subPath: subpath}, nil 130 } 131 case "status": 132 if subpath, err := BuildSimCardStatus_FieldPath(fp[1:]); err != nil { 133 return nil, err 134 } else { 135 return &SimCard_FieldSubPath{selector: SimCard_FieldPathSelectorStatus, subPath: subpath}, nil 136 } 137 } 138 } 139 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object SimCard", fp) 140 } 141 142 func ParseSimCard_FieldPath(rawField string) (SimCard_FieldPath, error) { 143 fp, err := gotenobject.ParseRawFieldPath(rawField) 144 if err != nil { 145 return nil, err 146 } 147 return BuildSimCard_FieldPath(fp) 148 } 149 150 func MustParseSimCard_FieldPath(rawField string) SimCard_FieldPath { 151 fp, err := ParseSimCard_FieldPath(rawField) 152 if err != nil { 153 panic(err) 154 } 155 return fp 156 } 157 158 type SimCard_FieldTerminalPath struct { 159 selector SimCard_FieldPathSelector 160 } 161 162 var _ SimCard_FieldPath = (*SimCard_FieldTerminalPath)(nil) 163 164 func (fp *SimCard_FieldTerminalPath) Selector() SimCard_FieldPathSelector { 165 return fp.selector 166 } 167 168 // String returns path representation in proto convention 169 func (fp *SimCard_FieldTerminalPath) String() string { 170 return fp.selector.String() 171 } 172 173 // JSONString returns path representation is JSON convention 174 func (fp *SimCard_FieldTerminalPath) JSONString() string { 175 return strcase.ToLowerCamel(fp.String()) 176 } 177 178 // Get returns all values pointed by specific field from source SimCard 179 func (fp *SimCard_FieldTerminalPath) Get(source *SimCard) (values []interface{}) { 180 if source != nil { 181 switch fp.selector { 182 case SimCard_FieldPathSelectorName: 183 if source.Name != nil { 184 values = append(values, source.Name) 185 } 186 case SimCard_FieldPathSelectorMetadata: 187 if source.Metadata != nil { 188 values = append(values, source.Metadata) 189 } 190 case SimCard_FieldPathSelectorContract: 191 if source.Contract != nil { 192 values = append(values, source.Contract) 193 } 194 case SimCard_FieldPathSelectorImsi: 195 values = append(values, source.Imsi) 196 case SimCard_FieldPathSelectorRatePlan: 197 values = append(values, source.RatePlan) 198 case SimCard_FieldPathSelectorStatus: 199 if source.Status != nil { 200 values = append(values, source.Status) 201 } 202 default: 203 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fp.selector)) 204 } 205 } 206 return 207 } 208 209 func (fp *SimCard_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 210 return fp.Get(source.(*SimCard)) 211 } 212 213 // GetSingle returns value pointed by specific field of from source SimCard 214 func (fp *SimCard_FieldTerminalPath) GetSingle(source *SimCard) (interface{}, bool) { 215 switch fp.selector { 216 case SimCard_FieldPathSelectorName: 217 res := source.GetName() 218 return res, res != nil 219 case SimCard_FieldPathSelectorMetadata: 220 res := source.GetMetadata() 221 return res, res != nil 222 case SimCard_FieldPathSelectorContract: 223 res := source.GetContract() 224 return res, res != nil 225 case SimCard_FieldPathSelectorImsi: 226 return source.GetImsi(), source != nil 227 case SimCard_FieldPathSelectorRatePlan: 228 return source.GetRatePlan(), source != nil 229 case SimCard_FieldPathSelectorStatus: 230 res := source.GetStatus() 231 return res, res != nil 232 default: 233 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fp.selector)) 234 } 235 } 236 237 func (fp *SimCard_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 238 return fp.GetSingle(source.(*SimCard)) 239 } 240 241 // GetDefault returns a default value of the field type 242 func (fp *SimCard_FieldTerminalPath) GetDefault() interface{} { 243 switch fp.selector { 244 case SimCard_FieldPathSelectorName: 245 return (*Name)(nil) 246 case SimCard_FieldPathSelectorMetadata: 247 return (*meta.Meta)(nil) 248 case SimCard_FieldPathSelectorContract: 249 return (*contract.Reference)(nil) 250 case SimCard_FieldPathSelectorImsi: 251 return "" 252 case SimCard_FieldPathSelectorRatePlan: 253 return "" 254 case SimCard_FieldPathSelectorStatus: 255 return (*SimCard_Status)(nil) 256 default: 257 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fp.selector)) 258 } 259 } 260 261 func (fp *SimCard_FieldTerminalPath) ClearValue(item *SimCard) { 262 if item != nil { 263 switch fp.selector { 264 case SimCard_FieldPathSelectorName: 265 item.Name = nil 266 case SimCard_FieldPathSelectorMetadata: 267 item.Metadata = nil 268 case SimCard_FieldPathSelectorContract: 269 item.Contract = nil 270 case SimCard_FieldPathSelectorImsi: 271 item.Imsi = "" 272 case SimCard_FieldPathSelectorRatePlan: 273 item.RatePlan = "" 274 case SimCard_FieldPathSelectorStatus: 275 item.Status = nil 276 default: 277 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fp.selector)) 278 } 279 } 280 } 281 282 func (fp *SimCard_FieldTerminalPath) ClearValueRaw(item proto.Message) { 283 fp.ClearValue(item.(*SimCard)) 284 } 285 286 // IsLeaf - whether field path is holds simple value 287 func (fp *SimCard_FieldTerminalPath) IsLeaf() bool { 288 return fp.selector == SimCard_FieldPathSelectorName || 289 fp.selector == SimCard_FieldPathSelectorContract || 290 fp.selector == SimCard_FieldPathSelectorImsi || 291 fp.selector == SimCard_FieldPathSelectorRatePlan 292 } 293 294 func (fp *SimCard_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 295 return []gotenobject.FieldPath{fp} 296 } 297 298 func (fp *SimCard_FieldTerminalPath) WithIValue(value interface{}) SimCard_FieldPathValue { 299 switch fp.selector { 300 case SimCard_FieldPathSelectorName: 301 return &SimCard_FieldTerminalPathValue{SimCard_FieldTerminalPath: *fp, value: value.(*Name)} 302 case SimCard_FieldPathSelectorMetadata: 303 return &SimCard_FieldTerminalPathValue{SimCard_FieldTerminalPath: *fp, value: value.(*meta.Meta)} 304 case SimCard_FieldPathSelectorContract: 305 return &SimCard_FieldTerminalPathValue{SimCard_FieldTerminalPath: *fp, value: value.(*contract.Reference)} 306 case SimCard_FieldPathSelectorImsi: 307 return &SimCard_FieldTerminalPathValue{SimCard_FieldTerminalPath: *fp, value: value.(string)} 308 case SimCard_FieldPathSelectorRatePlan: 309 return &SimCard_FieldTerminalPathValue{SimCard_FieldTerminalPath: *fp, value: value.(string)} 310 case SimCard_FieldPathSelectorStatus: 311 return &SimCard_FieldTerminalPathValue{SimCard_FieldTerminalPath: *fp, value: value.(*SimCard_Status)} 312 default: 313 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fp.selector)) 314 } 315 } 316 317 func (fp *SimCard_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 318 return fp.WithIValue(value) 319 } 320 321 func (fp *SimCard_FieldTerminalPath) WithIArrayOfValues(values interface{}) SimCard_FieldPathArrayOfValues { 322 fpaov := &SimCard_FieldTerminalPathArrayOfValues{SimCard_FieldTerminalPath: *fp} 323 switch fp.selector { 324 case SimCard_FieldPathSelectorName: 325 return &SimCard_FieldTerminalPathArrayOfValues{SimCard_FieldTerminalPath: *fp, values: values.([]*Name)} 326 case SimCard_FieldPathSelectorMetadata: 327 return &SimCard_FieldTerminalPathArrayOfValues{SimCard_FieldTerminalPath: *fp, values: values.([]*meta.Meta)} 328 case SimCard_FieldPathSelectorContract: 329 return &SimCard_FieldTerminalPathArrayOfValues{SimCard_FieldTerminalPath: *fp, values: values.([]*contract.Reference)} 330 case SimCard_FieldPathSelectorImsi: 331 return &SimCard_FieldTerminalPathArrayOfValues{SimCard_FieldTerminalPath: *fp, values: values.([]string)} 332 case SimCard_FieldPathSelectorRatePlan: 333 return &SimCard_FieldTerminalPathArrayOfValues{SimCard_FieldTerminalPath: *fp, values: values.([]string)} 334 case SimCard_FieldPathSelectorStatus: 335 return &SimCard_FieldTerminalPathArrayOfValues{SimCard_FieldTerminalPath: *fp, values: values.([]*SimCard_Status)} 336 default: 337 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fp.selector)) 338 } 339 return fpaov 340 } 341 342 func (fp *SimCard_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 343 return fp.WithIArrayOfValues(values) 344 } 345 346 func (fp *SimCard_FieldTerminalPath) WithIArrayItemValue(value interface{}) SimCard_FieldPathArrayItemValue { 347 switch fp.selector { 348 default: 349 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fp.selector)) 350 } 351 } 352 353 func (fp *SimCard_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 354 return fp.WithIArrayItemValue(value) 355 } 356 357 type SimCard_FieldSubPath struct { 358 selector SimCard_FieldPathSelector 359 subPath gotenobject.FieldPath 360 } 361 362 var _ SimCard_FieldPath = (*SimCard_FieldSubPath)(nil) 363 364 func (fps *SimCard_FieldSubPath) Selector() SimCard_FieldPathSelector { 365 return fps.selector 366 } 367 func (fps *SimCard_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) { 368 res, ok := fps.subPath.(meta.Meta_FieldPath) 369 return res, ok 370 } 371 func (fps *SimCard_FieldSubPath) AsStatusSubPath() (SimCardStatus_FieldPath, bool) { 372 res, ok := fps.subPath.(SimCardStatus_FieldPath) 373 return res, ok 374 } 375 376 // String returns path representation in proto convention 377 func (fps *SimCard_FieldSubPath) String() string { 378 return fps.selector.String() + "." + fps.subPath.String() 379 } 380 381 // JSONString returns path representation is JSON convention 382 func (fps *SimCard_FieldSubPath) JSONString() string { 383 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 384 } 385 386 // Get returns all values pointed by selected field from source SimCard 387 func (fps *SimCard_FieldSubPath) Get(source *SimCard) (values []interface{}) { 388 switch fps.selector { 389 case SimCard_FieldPathSelectorMetadata: 390 values = append(values, fps.subPath.GetRaw(source.GetMetadata())...) 391 case SimCard_FieldPathSelectorStatus: 392 values = append(values, fps.subPath.GetRaw(source.GetStatus())...) 393 default: 394 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fps.selector)) 395 } 396 return 397 } 398 399 func (fps *SimCard_FieldSubPath) GetRaw(source proto.Message) []interface{} { 400 return fps.Get(source.(*SimCard)) 401 } 402 403 // GetSingle returns value of selected field from source SimCard 404 func (fps *SimCard_FieldSubPath) GetSingle(source *SimCard) (interface{}, bool) { 405 switch fps.selector { 406 case SimCard_FieldPathSelectorMetadata: 407 if source.GetMetadata() == nil { 408 return nil, false 409 } 410 return fps.subPath.GetSingleRaw(source.GetMetadata()) 411 case SimCard_FieldPathSelectorStatus: 412 if source.GetStatus() == nil { 413 return nil, false 414 } 415 return fps.subPath.GetSingleRaw(source.GetStatus()) 416 default: 417 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fps.selector)) 418 } 419 } 420 421 func (fps *SimCard_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 422 return fps.GetSingle(source.(*SimCard)) 423 } 424 425 // GetDefault returns a default value of the field type 426 func (fps *SimCard_FieldSubPath) GetDefault() interface{} { 427 return fps.subPath.GetDefault() 428 } 429 430 func (fps *SimCard_FieldSubPath) ClearValue(item *SimCard) { 431 if item != nil { 432 switch fps.selector { 433 case SimCard_FieldPathSelectorMetadata: 434 fps.subPath.ClearValueRaw(item.Metadata) 435 case SimCard_FieldPathSelectorStatus: 436 fps.subPath.ClearValueRaw(item.Status) 437 default: 438 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fps.selector)) 439 } 440 } 441 } 442 443 func (fps *SimCard_FieldSubPath) ClearValueRaw(item proto.Message) { 444 fps.ClearValue(item.(*SimCard)) 445 } 446 447 // IsLeaf - whether field path is holds simple value 448 func (fps *SimCard_FieldSubPath) IsLeaf() bool { 449 return fps.subPath.IsLeaf() 450 } 451 452 func (fps *SimCard_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 453 iPaths := []gotenobject.FieldPath{&SimCard_FieldTerminalPath{selector: fps.selector}} 454 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 455 return iPaths 456 } 457 458 func (fps *SimCard_FieldSubPath) WithIValue(value interface{}) SimCard_FieldPathValue { 459 return &SimCard_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 460 } 461 462 func (fps *SimCard_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 463 return fps.WithIValue(value) 464 } 465 466 func (fps *SimCard_FieldSubPath) WithIArrayOfValues(values interface{}) SimCard_FieldPathArrayOfValues { 467 return &SimCard_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 468 } 469 470 func (fps *SimCard_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 471 return fps.WithIArrayOfValues(values) 472 } 473 474 func (fps *SimCard_FieldSubPath) WithIArrayItemValue(value interface{}) SimCard_FieldPathArrayItemValue { 475 return &SimCard_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 476 } 477 478 func (fps *SimCard_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 479 return fps.WithIArrayItemValue(value) 480 } 481 482 // SimCard_FieldPathValue allows storing values for SimCard fields according to their type 483 type SimCard_FieldPathValue interface { 484 SimCard_FieldPath 485 gotenobject.FieldPathValue 486 SetTo(target **SimCard) 487 CompareWith(*SimCard) (cmp int, comparable bool) 488 } 489 490 func ParseSimCard_FieldPathValue(pathStr, valueStr string) (SimCard_FieldPathValue, error) { 491 fp, err := ParseSimCard_FieldPath(pathStr) 492 if err != nil { 493 return nil, err 494 } 495 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 496 if err != nil { 497 return nil, status.Errorf(codes.InvalidArgument, "error parsing SimCard field path value from %s: %v", valueStr, err) 498 } 499 return fpv.(SimCard_FieldPathValue), nil 500 } 501 502 func MustParseSimCard_FieldPathValue(pathStr, valueStr string) SimCard_FieldPathValue { 503 fpv, err := ParseSimCard_FieldPathValue(pathStr, valueStr) 504 if err != nil { 505 panic(err) 506 } 507 return fpv 508 } 509 510 type SimCard_FieldTerminalPathValue struct { 511 SimCard_FieldTerminalPath 512 value interface{} 513 } 514 515 var _ SimCard_FieldPathValue = (*SimCard_FieldTerminalPathValue)(nil) 516 517 // GetRawValue returns raw value stored under selected path for 'SimCard' as interface{} 518 func (fpv *SimCard_FieldTerminalPathValue) GetRawValue() interface{} { 519 return fpv.value 520 } 521 func (fpv *SimCard_FieldTerminalPathValue) AsNameValue() (*Name, bool) { 522 res, ok := fpv.value.(*Name) 523 return res, ok 524 } 525 func (fpv *SimCard_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) { 526 res, ok := fpv.value.(*meta.Meta) 527 return res, ok 528 } 529 func (fpv *SimCard_FieldTerminalPathValue) AsContractValue() (*contract.Reference, bool) { 530 res, ok := fpv.value.(*contract.Reference) 531 return res, ok 532 } 533 func (fpv *SimCard_FieldTerminalPathValue) AsImsiValue() (string, bool) { 534 res, ok := fpv.value.(string) 535 return res, ok 536 } 537 func (fpv *SimCard_FieldTerminalPathValue) AsRatePlanValue() (string, bool) { 538 res, ok := fpv.value.(string) 539 return res, ok 540 } 541 func (fpv *SimCard_FieldTerminalPathValue) AsStatusValue() (*SimCard_Status, bool) { 542 res, ok := fpv.value.(*SimCard_Status) 543 return res, ok 544 } 545 546 // SetTo stores value for selected field for object SimCard 547 func (fpv *SimCard_FieldTerminalPathValue) SetTo(target **SimCard) { 548 if *target == nil { 549 *target = new(SimCard) 550 } 551 switch fpv.selector { 552 case SimCard_FieldPathSelectorName: 553 (*target).Name = fpv.value.(*Name) 554 case SimCard_FieldPathSelectorMetadata: 555 (*target).Metadata = fpv.value.(*meta.Meta) 556 case SimCard_FieldPathSelectorContract: 557 (*target).Contract = fpv.value.(*contract.Reference) 558 case SimCard_FieldPathSelectorImsi: 559 (*target).Imsi = fpv.value.(string) 560 case SimCard_FieldPathSelectorRatePlan: 561 (*target).RatePlan = fpv.value.(string) 562 case SimCard_FieldPathSelectorStatus: 563 (*target).Status = fpv.value.(*SimCard_Status) 564 default: 565 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fpv.selector)) 566 } 567 } 568 569 func (fpv *SimCard_FieldTerminalPathValue) SetToRaw(target proto.Message) { 570 typedObject := target.(*SimCard) 571 fpv.SetTo(&typedObject) 572 } 573 574 // CompareWith compares value in the 'SimCard_FieldTerminalPathValue' with the value under path in 'SimCard'. 575 func (fpv *SimCard_FieldTerminalPathValue) CompareWith(source *SimCard) (int, bool) { 576 switch fpv.selector { 577 case SimCard_FieldPathSelectorName: 578 leftValue := fpv.value.(*Name) 579 rightValue := source.GetName() 580 if leftValue == nil { 581 if rightValue != nil { 582 return -1, true 583 } 584 return 0, true 585 } 586 if rightValue == nil { 587 return 1, true 588 } 589 if leftValue.String() == rightValue.String() { 590 return 0, true 591 } else if leftValue.String() < rightValue.String() { 592 return -1, true 593 } else { 594 return 1, true 595 } 596 case SimCard_FieldPathSelectorMetadata: 597 return 0, false 598 case SimCard_FieldPathSelectorContract: 599 leftValue := fpv.value.(*contract.Reference) 600 rightValue := source.GetContract() 601 if leftValue == nil { 602 if rightValue != nil { 603 return -1, true 604 } 605 return 0, true 606 } 607 if rightValue == nil { 608 return 1, true 609 } 610 if leftValue.String() == rightValue.String() { 611 return 0, true 612 } else if leftValue.String() < rightValue.String() { 613 return -1, true 614 } else { 615 return 1, true 616 } 617 case SimCard_FieldPathSelectorImsi: 618 leftValue := fpv.value.(string) 619 rightValue := source.GetImsi() 620 if (leftValue) == (rightValue) { 621 return 0, true 622 } else if (leftValue) < (rightValue) { 623 return -1, true 624 } else { 625 return 1, true 626 } 627 case SimCard_FieldPathSelectorRatePlan: 628 leftValue := fpv.value.(string) 629 rightValue := source.GetRatePlan() 630 if (leftValue) == (rightValue) { 631 return 0, true 632 } else if (leftValue) < (rightValue) { 633 return -1, true 634 } else { 635 return 1, true 636 } 637 case SimCard_FieldPathSelectorStatus: 638 return 0, false 639 default: 640 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fpv.selector)) 641 } 642 } 643 644 func (fpv *SimCard_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 645 return fpv.CompareWith(source.(*SimCard)) 646 } 647 648 type SimCard_FieldSubPathValue struct { 649 SimCard_FieldPath 650 subPathValue gotenobject.FieldPathValue 651 } 652 653 var _ SimCard_FieldPathValue = (*SimCard_FieldSubPathValue)(nil) 654 655 func (fpvs *SimCard_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) { 656 res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue) 657 return res, ok 658 } 659 func (fpvs *SimCard_FieldSubPathValue) AsStatusPathValue() (SimCardStatus_FieldPathValue, bool) { 660 res, ok := fpvs.subPathValue.(SimCardStatus_FieldPathValue) 661 return res, ok 662 } 663 664 func (fpvs *SimCard_FieldSubPathValue) SetTo(target **SimCard) { 665 if *target == nil { 666 *target = new(SimCard) 667 } 668 switch fpvs.Selector() { 669 case SimCard_FieldPathSelectorMetadata: 670 fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata) 671 case SimCard_FieldPathSelectorStatus: 672 fpvs.subPathValue.(SimCardStatus_FieldPathValue).SetTo(&(*target).Status) 673 default: 674 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fpvs.Selector())) 675 } 676 } 677 678 func (fpvs *SimCard_FieldSubPathValue) SetToRaw(target proto.Message) { 679 typedObject := target.(*SimCard) 680 fpvs.SetTo(&typedObject) 681 } 682 683 func (fpvs *SimCard_FieldSubPathValue) GetRawValue() interface{} { 684 return fpvs.subPathValue.GetRawValue() 685 } 686 687 func (fpvs *SimCard_FieldSubPathValue) CompareWith(source *SimCard) (int, bool) { 688 switch fpvs.Selector() { 689 case SimCard_FieldPathSelectorMetadata: 690 return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata()) 691 case SimCard_FieldPathSelectorStatus: 692 return fpvs.subPathValue.(SimCardStatus_FieldPathValue).CompareWith(source.GetStatus()) 693 default: 694 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fpvs.Selector())) 695 } 696 } 697 698 func (fpvs *SimCard_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 699 return fpvs.CompareWith(source.(*SimCard)) 700 } 701 702 // SimCard_FieldPathArrayItemValue allows storing single item in Path-specific values for SimCard according to their type 703 // Present only for array (repeated) types. 704 type SimCard_FieldPathArrayItemValue interface { 705 gotenobject.FieldPathArrayItemValue 706 SimCard_FieldPath 707 ContainsValue(*SimCard) bool 708 } 709 710 // ParseSimCard_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 711 func ParseSimCard_FieldPathArrayItemValue(pathStr, valueStr string) (SimCard_FieldPathArrayItemValue, error) { 712 fp, err := ParseSimCard_FieldPath(pathStr) 713 if err != nil { 714 return nil, err 715 } 716 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 717 if err != nil { 718 return nil, status.Errorf(codes.InvalidArgument, "error parsing SimCard field path array item value from %s: %v", valueStr, err) 719 } 720 return fpaiv.(SimCard_FieldPathArrayItemValue), nil 721 } 722 723 func MustParseSimCard_FieldPathArrayItemValue(pathStr, valueStr string) SimCard_FieldPathArrayItemValue { 724 fpaiv, err := ParseSimCard_FieldPathArrayItemValue(pathStr, valueStr) 725 if err != nil { 726 panic(err) 727 } 728 return fpaiv 729 } 730 731 type SimCard_FieldTerminalPathArrayItemValue struct { 732 SimCard_FieldTerminalPath 733 value interface{} 734 } 735 736 var _ SimCard_FieldPathArrayItemValue = (*SimCard_FieldTerminalPathArrayItemValue)(nil) 737 738 // GetRawValue returns stored element value for array in object SimCard as interface{} 739 func (fpaiv *SimCard_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 740 return fpaiv.value 741 } 742 743 func (fpaiv *SimCard_FieldTerminalPathArrayItemValue) GetSingle(source *SimCard) (interface{}, bool) { 744 return nil, false 745 } 746 747 func (fpaiv *SimCard_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 748 return fpaiv.GetSingle(source.(*SimCard)) 749 } 750 751 // Contains returns a boolean indicating if value that is being held is present in given 'SimCard' 752 func (fpaiv *SimCard_FieldTerminalPathArrayItemValue) ContainsValue(source *SimCard) bool { 753 slice := fpaiv.SimCard_FieldTerminalPath.Get(source) 754 for _, v := range slice { 755 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 756 if proto.Equal(asProtoMsg, v.(proto.Message)) { 757 return true 758 } 759 } else if reflect.DeepEqual(v, fpaiv.value) { 760 return true 761 } 762 } 763 return false 764 } 765 766 type SimCard_FieldSubPathArrayItemValue struct { 767 SimCard_FieldPath 768 subPathItemValue gotenobject.FieldPathArrayItemValue 769 } 770 771 // GetRawValue returns stored array item value 772 func (fpaivs *SimCard_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 773 return fpaivs.subPathItemValue.GetRawItemValue() 774 } 775 func (fpaivs *SimCard_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) { 776 res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue) 777 return res, ok 778 } 779 func (fpaivs *SimCard_FieldSubPathArrayItemValue) AsStatusPathItemValue() (SimCardStatus_FieldPathArrayItemValue, bool) { 780 res, ok := fpaivs.subPathItemValue.(SimCardStatus_FieldPathArrayItemValue) 781 return res, ok 782 } 783 784 // Contains returns a boolean indicating if value that is being held is present in given 'SimCard' 785 func (fpaivs *SimCard_FieldSubPathArrayItemValue) ContainsValue(source *SimCard) bool { 786 switch fpaivs.Selector() { 787 case SimCard_FieldPathSelectorMetadata: 788 return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata()) 789 case SimCard_FieldPathSelectorStatus: 790 return fpaivs.subPathItemValue.(SimCardStatus_FieldPathArrayItemValue).ContainsValue(source.GetStatus()) 791 default: 792 panic(fmt.Sprintf("Invalid selector for SimCard: %d", fpaivs.Selector())) 793 } 794 } 795 796 // SimCard_FieldPathArrayOfValues allows storing slice of values for SimCard fields according to their type 797 type SimCard_FieldPathArrayOfValues interface { 798 gotenobject.FieldPathArrayOfValues 799 SimCard_FieldPath 800 } 801 802 func ParseSimCard_FieldPathArrayOfValues(pathStr, valuesStr string) (SimCard_FieldPathArrayOfValues, error) { 803 fp, err := ParseSimCard_FieldPath(pathStr) 804 if err != nil { 805 return nil, err 806 } 807 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 808 if err != nil { 809 return nil, status.Errorf(codes.InvalidArgument, "error parsing SimCard field path array of values from %s: %v", valuesStr, err) 810 } 811 return fpaov.(SimCard_FieldPathArrayOfValues), nil 812 } 813 814 func MustParseSimCard_FieldPathArrayOfValues(pathStr, valuesStr string) SimCard_FieldPathArrayOfValues { 815 fpaov, err := ParseSimCard_FieldPathArrayOfValues(pathStr, valuesStr) 816 if err != nil { 817 panic(err) 818 } 819 return fpaov 820 } 821 822 type SimCard_FieldTerminalPathArrayOfValues struct { 823 SimCard_FieldTerminalPath 824 values interface{} 825 } 826 827 var _ SimCard_FieldPathArrayOfValues = (*SimCard_FieldTerminalPathArrayOfValues)(nil) 828 829 func (fpaov *SimCard_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 830 switch fpaov.selector { 831 case SimCard_FieldPathSelectorName: 832 for _, v := range fpaov.values.([]*Name) { 833 values = append(values, v) 834 } 835 case SimCard_FieldPathSelectorMetadata: 836 for _, v := range fpaov.values.([]*meta.Meta) { 837 values = append(values, v) 838 } 839 case SimCard_FieldPathSelectorContract: 840 for _, v := range fpaov.values.([]*contract.Reference) { 841 values = append(values, v) 842 } 843 case SimCard_FieldPathSelectorImsi: 844 for _, v := range fpaov.values.([]string) { 845 values = append(values, v) 846 } 847 case SimCard_FieldPathSelectorRatePlan: 848 for _, v := range fpaov.values.([]string) { 849 values = append(values, v) 850 } 851 case SimCard_FieldPathSelectorStatus: 852 for _, v := range fpaov.values.([]*SimCard_Status) { 853 values = append(values, v) 854 } 855 } 856 return 857 } 858 func (fpaov *SimCard_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) { 859 res, ok := fpaov.values.([]*Name) 860 return res, ok 861 } 862 func (fpaov *SimCard_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) { 863 res, ok := fpaov.values.([]*meta.Meta) 864 return res, ok 865 } 866 func (fpaov *SimCard_FieldTerminalPathArrayOfValues) AsContractArrayOfValues() ([]*contract.Reference, bool) { 867 res, ok := fpaov.values.([]*contract.Reference) 868 return res, ok 869 } 870 func (fpaov *SimCard_FieldTerminalPathArrayOfValues) AsImsiArrayOfValues() ([]string, bool) { 871 res, ok := fpaov.values.([]string) 872 return res, ok 873 } 874 func (fpaov *SimCard_FieldTerminalPathArrayOfValues) AsRatePlanArrayOfValues() ([]string, bool) { 875 res, ok := fpaov.values.([]string) 876 return res, ok 877 } 878 func (fpaov *SimCard_FieldTerminalPathArrayOfValues) AsStatusArrayOfValues() ([]*SimCard_Status, bool) { 879 res, ok := fpaov.values.([]*SimCard_Status) 880 return res, ok 881 } 882 883 type SimCard_FieldSubPathArrayOfValues struct { 884 SimCard_FieldPath 885 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 886 } 887 888 var _ SimCard_FieldPathArrayOfValues = (*SimCard_FieldSubPathArrayOfValues)(nil) 889 890 func (fpsaov *SimCard_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 891 return fpsaov.subPathArrayOfValues.GetRawValues() 892 } 893 func (fpsaov *SimCard_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) { 894 res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues) 895 return res, ok 896 } 897 func (fpsaov *SimCard_FieldSubPathArrayOfValues) AsStatusPathArrayOfValues() (SimCardStatus_FieldPathArrayOfValues, bool) { 898 res, ok := fpsaov.subPathArrayOfValues.(SimCardStatus_FieldPathArrayOfValues) 899 return res, ok 900 } 901 902 // FieldPath provides implementation to handle 903 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 904 type SimCardStatus_FieldPath interface { 905 gotenobject.FieldPath 906 Selector() SimCardStatus_FieldPathSelector 907 Get(source *SimCard_Status) []interface{} 908 GetSingle(source *SimCard_Status) (interface{}, bool) 909 ClearValue(item *SimCard_Status) 910 911 // Those methods build corresponding SimCardStatus_FieldPathValue 912 // (or array of values) and holds passed value. Panics if injected type is incorrect. 913 WithIValue(value interface{}) SimCardStatus_FieldPathValue 914 WithIArrayOfValues(values interface{}) SimCardStatus_FieldPathArrayOfValues 915 WithIArrayItemValue(value interface{}) SimCardStatus_FieldPathArrayItemValue 916 } 917 918 type SimCardStatus_FieldPathSelector int32 919 920 const ( 921 SimCardStatus_FieldPathSelectorState SimCardStatus_FieldPathSelector = 0 922 SimCardStatus_FieldPathSelectorError SimCardStatus_FieldPathSelector = 1 923 ) 924 925 func (s SimCardStatus_FieldPathSelector) String() string { 926 switch s { 927 case SimCardStatus_FieldPathSelectorState: 928 return "state" 929 case SimCardStatus_FieldPathSelectorError: 930 return "error" 931 default: 932 panic(fmt.Sprintf("Invalid selector for SimCard_Status: %d", s)) 933 } 934 } 935 936 func BuildSimCardStatus_FieldPath(fp gotenobject.RawFieldPath) (SimCardStatus_FieldPath, error) { 937 if len(fp) == 0 { 938 return nil, status.Error(codes.InvalidArgument, "empty field path for object SimCard_Status") 939 } 940 if len(fp) == 1 { 941 switch fp[0] { 942 case "state": 943 return &SimCardStatus_FieldTerminalPath{selector: SimCardStatus_FieldPathSelectorState}, nil 944 case "error": 945 return &SimCardStatus_FieldTerminalPath{selector: SimCardStatus_FieldPathSelectorError}, nil 946 } 947 } 948 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object SimCard_Status", fp) 949 } 950 951 func ParseSimCardStatus_FieldPath(rawField string) (SimCardStatus_FieldPath, error) { 952 fp, err := gotenobject.ParseRawFieldPath(rawField) 953 if err != nil { 954 return nil, err 955 } 956 return BuildSimCardStatus_FieldPath(fp) 957 } 958 959 func MustParseSimCardStatus_FieldPath(rawField string) SimCardStatus_FieldPath { 960 fp, err := ParseSimCardStatus_FieldPath(rawField) 961 if err != nil { 962 panic(err) 963 } 964 return fp 965 } 966 967 type SimCardStatus_FieldTerminalPath struct { 968 selector SimCardStatus_FieldPathSelector 969 } 970 971 var _ SimCardStatus_FieldPath = (*SimCardStatus_FieldTerminalPath)(nil) 972 973 func (fp *SimCardStatus_FieldTerminalPath) Selector() SimCardStatus_FieldPathSelector { 974 return fp.selector 975 } 976 977 // String returns path representation in proto convention 978 func (fp *SimCardStatus_FieldTerminalPath) String() string { 979 return fp.selector.String() 980 } 981 982 // JSONString returns path representation is JSON convention 983 func (fp *SimCardStatus_FieldTerminalPath) JSONString() string { 984 return strcase.ToLowerCamel(fp.String()) 985 } 986 987 // Get returns all values pointed by specific field from source SimCard_Status 988 func (fp *SimCardStatus_FieldTerminalPath) Get(source *SimCard_Status) (values []interface{}) { 989 if source != nil { 990 switch fp.selector { 991 case SimCardStatus_FieldPathSelectorState: 992 values = append(values, source.State) 993 case SimCardStatus_FieldPathSelectorError: 994 values = append(values, source.Error) 995 default: 996 panic(fmt.Sprintf("Invalid selector for SimCard_Status: %d", fp.selector)) 997 } 998 } 999 return 1000 } 1001 1002 func (fp *SimCardStatus_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 1003 return fp.Get(source.(*SimCard_Status)) 1004 } 1005 1006 // GetSingle returns value pointed by specific field of from source SimCard_Status 1007 func (fp *SimCardStatus_FieldTerminalPath) GetSingle(source *SimCard_Status) (interface{}, bool) { 1008 switch fp.selector { 1009 case SimCardStatus_FieldPathSelectorState: 1010 return source.GetState(), source != nil 1011 case SimCardStatus_FieldPathSelectorError: 1012 return source.GetError(), source != nil 1013 default: 1014 panic(fmt.Sprintf("Invalid selector for SimCard_Status: %d", fp.selector)) 1015 } 1016 } 1017 1018 func (fp *SimCardStatus_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1019 return fp.GetSingle(source.(*SimCard_Status)) 1020 } 1021 1022 // GetDefault returns a default value of the field type 1023 func (fp *SimCardStatus_FieldTerminalPath) GetDefault() interface{} { 1024 switch fp.selector { 1025 case SimCardStatus_FieldPathSelectorState: 1026 return carrier.SimState_SIM_STATE_UNSPECIFIED 1027 case SimCardStatus_FieldPathSelectorError: 1028 return "" 1029 default: 1030 panic(fmt.Sprintf("Invalid selector for SimCard_Status: %d", fp.selector)) 1031 } 1032 } 1033 1034 func (fp *SimCardStatus_FieldTerminalPath) ClearValue(item *SimCard_Status) { 1035 if item != nil { 1036 switch fp.selector { 1037 case SimCardStatus_FieldPathSelectorState: 1038 item.State = carrier.SimState_SIM_STATE_UNSPECIFIED 1039 case SimCardStatus_FieldPathSelectorError: 1040 item.Error = "" 1041 default: 1042 panic(fmt.Sprintf("Invalid selector for SimCard_Status: %d", fp.selector)) 1043 } 1044 } 1045 } 1046 1047 func (fp *SimCardStatus_FieldTerminalPath) ClearValueRaw(item proto.Message) { 1048 fp.ClearValue(item.(*SimCard_Status)) 1049 } 1050 1051 // IsLeaf - whether field path is holds simple value 1052 func (fp *SimCardStatus_FieldTerminalPath) IsLeaf() bool { 1053 return fp.selector == SimCardStatus_FieldPathSelectorState || 1054 fp.selector == SimCardStatus_FieldPathSelectorError 1055 } 1056 1057 func (fp *SimCardStatus_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1058 return []gotenobject.FieldPath{fp} 1059 } 1060 1061 func (fp *SimCardStatus_FieldTerminalPath) WithIValue(value interface{}) SimCardStatus_FieldPathValue { 1062 switch fp.selector { 1063 case SimCardStatus_FieldPathSelectorState: 1064 return &SimCardStatus_FieldTerminalPathValue{SimCardStatus_FieldTerminalPath: *fp, value: value.(carrier.SimState)} 1065 case SimCardStatus_FieldPathSelectorError: 1066 return &SimCardStatus_FieldTerminalPathValue{SimCardStatus_FieldTerminalPath: *fp, value: value.(string)} 1067 default: 1068 panic(fmt.Sprintf("Invalid selector for SimCard_Status: %d", fp.selector)) 1069 } 1070 } 1071 1072 func (fp *SimCardStatus_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1073 return fp.WithIValue(value) 1074 } 1075 1076 func (fp *SimCardStatus_FieldTerminalPath) WithIArrayOfValues(values interface{}) SimCardStatus_FieldPathArrayOfValues { 1077 fpaov := &SimCardStatus_FieldTerminalPathArrayOfValues{SimCardStatus_FieldTerminalPath: *fp} 1078 switch fp.selector { 1079 case SimCardStatus_FieldPathSelectorState: 1080 return &SimCardStatus_FieldTerminalPathArrayOfValues{SimCardStatus_FieldTerminalPath: *fp, values: values.([]carrier.SimState)} 1081 case SimCardStatus_FieldPathSelectorError: 1082 return &SimCardStatus_FieldTerminalPathArrayOfValues{SimCardStatus_FieldTerminalPath: *fp, values: values.([]string)} 1083 default: 1084 panic(fmt.Sprintf("Invalid selector for SimCard_Status: %d", fp.selector)) 1085 } 1086 return fpaov 1087 } 1088 1089 func (fp *SimCardStatus_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1090 return fp.WithIArrayOfValues(values) 1091 } 1092 1093 func (fp *SimCardStatus_FieldTerminalPath) WithIArrayItemValue(value interface{}) SimCardStatus_FieldPathArrayItemValue { 1094 switch fp.selector { 1095 default: 1096 panic(fmt.Sprintf("Invalid selector for SimCard_Status: %d", fp.selector)) 1097 } 1098 } 1099 1100 func (fp *SimCardStatus_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1101 return fp.WithIArrayItemValue(value) 1102 } 1103 1104 // SimCardStatus_FieldPathValue allows storing values for Status fields according to their type 1105 type SimCardStatus_FieldPathValue interface { 1106 SimCardStatus_FieldPath 1107 gotenobject.FieldPathValue 1108 SetTo(target **SimCard_Status) 1109 CompareWith(*SimCard_Status) (cmp int, comparable bool) 1110 } 1111 1112 func ParseSimCardStatus_FieldPathValue(pathStr, valueStr string) (SimCardStatus_FieldPathValue, error) { 1113 fp, err := ParseSimCardStatus_FieldPath(pathStr) 1114 if err != nil { 1115 return nil, err 1116 } 1117 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 1118 if err != nil { 1119 return nil, status.Errorf(codes.InvalidArgument, "error parsing Status field path value from %s: %v", valueStr, err) 1120 } 1121 return fpv.(SimCardStatus_FieldPathValue), nil 1122 } 1123 1124 func MustParseSimCardStatus_FieldPathValue(pathStr, valueStr string) SimCardStatus_FieldPathValue { 1125 fpv, err := ParseSimCardStatus_FieldPathValue(pathStr, valueStr) 1126 if err != nil { 1127 panic(err) 1128 } 1129 return fpv 1130 } 1131 1132 type SimCardStatus_FieldTerminalPathValue struct { 1133 SimCardStatus_FieldTerminalPath 1134 value interface{} 1135 } 1136 1137 var _ SimCardStatus_FieldPathValue = (*SimCardStatus_FieldTerminalPathValue)(nil) 1138 1139 // GetRawValue returns raw value stored under selected path for 'Status' as interface{} 1140 func (fpv *SimCardStatus_FieldTerminalPathValue) GetRawValue() interface{} { 1141 return fpv.value 1142 } 1143 func (fpv *SimCardStatus_FieldTerminalPathValue) AsStateValue() (carrier.SimState, bool) { 1144 res, ok := fpv.value.(carrier.SimState) 1145 return res, ok 1146 } 1147 func (fpv *SimCardStatus_FieldTerminalPathValue) AsErrorValue() (string, bool) { 1148 res, ok := fpv.value.(string) 1149 return res, ok 1150 } 1151 1152 // SetTo stores value for selected field for object Status 1153 func (fpv *SimCardStatus_FieldTerminalPathValue) SetTo(target **SimCard_Status) { 1154 if *target == nil { 1155 *target = new(SimCard_Status) 1156 } 1157 switch fpv.selector { 1158 case SimCardStatus_FieldPathSelectorState: 1159 (*target).State = fpv.value.(carrier.SimState) 1160 case SimCardStatus_FieldPathSelectorError: 1161 (*target).Error = fpv.value.(string) 1162 default: 1163 panic(fmt.Sprintf("Invalid selector for SimCard_Status: %d", fpv.selector)) 1164 } 1165 } 1166 1167 func (fpv *SimCardStatus_FieldTerminalPathValue) SetToRaw(target proto.Message) { 1168 typedObject := target.(*SimCard_Status) 1169 fpv.SetTo(&typedObject) 1170 } 1171 1172 // CompareWith compares value in the 'SimCardStatus_FieldTerminalPathValue' with the value under path in 'SimCard_Status'. 1173 func (fpv *SimCardStatus_FieldTerminalPathValue) CompareWith(source *SimCard_Status) (int, bool) { 1174 switch fpv.selector { 1175 case SimCardStatus_FieldPathSelectorState: 1176 leftValue := fpv.value.(carrier.SimState) 1177 rightValue := source.GetState() 1178 if (leftValue) == (rightValue) { 1179 return 0, true 1180 } else if (leftValue) < (rightValue) { 1181 return -1, true 1182 } else { 1183 return 1, true 1184 } 1185 case SimCardStatus_FieldPathSelectorError: 1186 leftValue := fpv.value.(string) 1187 rightValue := source.GetError() 1188 if (leftValue) == (rightValue) { 1189 return 0, true 1190 } else if (leftValue) < (rightValue) { 1191 return -1, true 1192 } else { 1193 return 1, true 1194 } 1195 default: 1196 panic(fmt.Sprintf("Invalid selector for SimCard_Status: %d", fpv.selector)) 1197 } 1198 } 1199 1200 func (fpv *SimCardStatus_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1201 return fpv.CompareWith(source.(*SimCard_Status)) 1202 } 1203 1204 // SimCardStatus_FieldPathArrayItemValue allows storing single item in Path-specific values for Status according to their type 1205 // Present only for array (repeated) types. 1206 type SimCardStatus_FieldPathArrayItemValue interface { 1207 gotenobject.FieldPathArrayItemValue 1208 SimCardStatus_FieldPath 1209 ContainsValue(*SimCard_Status) bool 1210 } 1211 1212 // ParseSimCardStatus_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 1213 func ParseSimCardStatus_FieldPathArrayItemValue(pathStr, valueStr string) (SimCardStatus_FieldPathArrayItemValue, error) { 1214 fp, err := ParseSimCardStatus_FieldPath(pathStr) 1215 if err != nil { 1216 return nil, err 1217 } 1218 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 1219 if err != nil { 1220 return nil, status.Errorf(codes.InvalidArgument, "error parsing Status field path array item value from %s: %v", valueStr, err) 1221 } 1222 return fpaiv.(SimCardStatus_FieldPathArrayItemValue), nil 1223 } 1224 1225 func MustParseSimCardStatus_FieldPathArrayItemValue(pathStr, valueStr string) SimCardStatus_FieldPathArrayItemValue { 1226 fpaiv, err := ParseSimCardStatus_FieldPathArrayItemValue(pathStr, valueStr) 1227 if err != nil { 1228 panic(err) 1229 } 1230 return fpaiv 1231 } 1232 1233 type SimCardStatus_FieldTerminalPathArrayItemValue struct { 1234 SimCardStatus_FieldTerminalPath 1235 value interface{} 1236 } 1237 1238 var _ SimCardStatus_FieldPathArrayItemValue = (*SimCardStatus_FieldTerminalPathArrayItemValue)(nil) 1239 1240 // GetRawValue returns stored element value for array in object SimCard_Status as interface{} 1241 func (fpaiv *SimCardStatus_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 1242 return fpaiv.value 1243 } 1244 1245 func (fpaiv *SimCardStatus_FieldTerminalPathArrayItemValue) GetSingle(source *SimCard_Status) (interface{}, bool) { 1246 return nil, false 1247 } 1248 1249 func (fpaiv *SimCardStatus_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 1250 return fpaiv.GetSingle(source.(*SimCard_Status)) 1251 } 1252 1253 // Contains returns a boolean indicating if value that is being held is present in given 'Status' 1254 func (fpaiv *SimCardStatus_FieldTerminalPathArrayItemValue) ContainsValue(source *SimCard_Status) bool { 1255 slice := fpaiv.SimCardStatus_FieldTerminalPath.Get(source) 1256 for _, v := range slice { 1257 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 1258 if proto.Equal(asProtoMsg, v.(proto.Message)) { 1259 return true 1260 } 1261 } else if reflect.DeepEqual(v, fpaiv.value) { 1262 return true 1263 } 1264 } 1265 return false 1266 } 1267 1268 // SimCardStatus_FieldPathArrayOfValues allows storing slice of values for Status fields according to their type 1269 type SimCardStatus_FieldPathArrayOfValues interface { 1270 gotenobject.FieldPathArrayOfValues 1271 SimCardStatus_FieldPath 1272 } 1273 1274 func ParseSimCardStatus_FieldPathArrayOfValues(pathStr, valuesStr string) (SimCardStatus_FieldPathArrayOfValues, error) { 1275 fp, err := ParseSimCardStatus_FieldPath(pathStr) 1276 if err != nil { 1277 return nil, err 1278 } 1279 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 1280 if err != nil { 1281 return nil, status.Errorf(codes.InvalidArgument, "error parsing Status field path array of values from %s: %v", valuesStr, err) 1282 } 1283 return fpaov.(SimCardStatus_FieldPathArrayOfValues), nil 1284 } 1285 1286 func MustParseSimCardStatus_FieldPathArrayOfValues(pathStr, valuesStr string) SimCardStatus_FieldPathArrayOfValues { 1287 fpaov, err := ParseSimCardStatus_FieldPathArrayOfValues(pathStr, valuesStr) 1288 if err != nil { 1289 panic(err) 1290 } 1291 return fpaov 1292 } 1293 1294 type SimCardStatus_FieldTerminalPathArrayOfValues struct { 1295 SimCardStatus_FieldTerminalPath 1296 values interface{} 1297 } 1298 1299 var _ SimCardStatus_FieldPathArrayOfValues = (*SimCardStatus_FieldTerminalPathArrayOfValues)(nil) 1300 1301 func (fpaov *SimCardStatus_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 1302 switch fpaov.selector { 1303 case SimCardStatus_FieldPathSelectorState: 1304 for _, v := range fpaov.values.([]carrier.SimState) { 1305 values = append(values, v) 1306 } 1307 case SimCardStatus_FieldPathSelectorError: 1308 for _, v := range fpaov.values.([]string) { 1309 values = append(values, v) 1310 } 1311 } 1312 return 1313 } 1314 func (fpaov *SimCardStatus_FieldTerminalPathArrayOfValues) AsStateArrayOfValues() ([]carrier.SimState, bool) { 1315 res, ok := fpaov.values.([]carrier.SimState) 1316 return res, ok 1317 } 1318 func (fpaov *SimCardStatus_FieldTerminalPathArrayOfValues) AsErrorArrayOfValues() ([]string, bool) { 1319 res, ok := fpaov.values.([]string) 1320 return res, ok 1321 }