github.com/cloudwan/edgelq-sdk@v1.15.4/devices/resources/v1alpha2/os_version/os_version.pb.fieldpath.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/devices/proto/v1alpha2/os_version.proto 3 // DO NOT EDIT!!! 4 5 package os_version 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 device_type "github.com/cloudwan/edgelq-sdk/devices/resources/v1alpha2/device_type" 27 meta "github.com/cloudwan/goten-sdk/types/meta" 28 ) 29 30 // ensure the imports are used 31 var ( 32 _ = new(json.Marshaler) 33 _ = new(fmt.Stringer) 34 _ = reflect.DeepEqual 35 _ = strings.Builder{} 36 _ = time.Second 37 38 _ = strcase.ToLowerCamel 39 _ = codes.NotFound 40 _ = status.Status{} 41 _ = protojson.UnmarshalOptions{} 42 _ = new(proto.Message) 43 _ = protoregistry.GlobalTypes 44 45 _ = new(gotenobject.FieldPath) 46 ) 47 48 // make sure we're using proto imports 49 var ( 50 _ = &device_type.DeviceType{} 51 _ = &meta.Meta{} 52 ) 53 54 // FieldPath provides implementation to handle 55 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 56 type OsVersion_FieldPath interface { 57 gotenobject.FieldPath 58 Selector() OsVersion_FieldPathSelector 59 Get(source *OsVersion) []interface{} 60 GetSingle(source *OsVersion) (interface{}, bool) 61 ClearValue(item *OsVersion) 62 63 // Those methods build corresponding OsVersion_FieldPathValue 64 // (or array of values) and holds passed value. Panics if injected type is incorrect. 65 WithIValue(value interface{}) OsVersion_FieldPathValue 66 WithIArrayOfValues(values interface{}) OsVersion_FieldPathArrayOfValues 67 WithIArrayItemValue(value interface{}) OsVersion_FieldPathArrayItemValue 68 } 69 70 type OsVersion_FieldPathSelector int32 71 72 const ( 73 OsVersion_FieldPathSelectorName OsVersion_FieldPathSelector = 0 74 OsVersion_FieldPathSelectorMetadata OsVersion_FieldPathSelector = 1 75 OsVersion_FieldPathSelectorVersion OsVersion_FieldPathSelector = 2 76 OsVersion_FieldPathSelectorDeviceType OsVersion_FieldPathSelector = 3 77 OsVersion_FieldPathSelectorMinimumPreviousVersion OsVersion_FieldPathSelector = 4 78 OsVersion_FieldPathSelectorChannel OsVersion_FieldPathSelector = 5 79 ) 80 81 func (s OsVersion_FieldPathSelector) String() string { 82 switch s { 83 case OsVersion_FieldPathSelectorName: 84 return "name" 85 case OsVersion_FieldPathSelectorMetadata: 86 return "metadata" 87 case OsVersion_FieldPathSelectorVersion: 88 return "version" 89 case OsVersion_FieldPathSelectorDeviceType: 90 return "device_type" 91 case OsVersion_FieldPathSelectorMinimumPreviousVersion: 92 return "minimum_previous_version" 93 case OsVersion_FieldPathSelectorChannel: 94 return "channel" 95 default: 96 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", s)) 97 } 98 } 99 100 func BuildOsVersion_FieldPath(fp gotenobject.RawFieldPath) (OsVersion_FieldPath, error) { 101 if len(fp) == 0 { 102 return nil, status.Error(codes.InvalidArgument, "empty field path for object OsVersion") 103 } 104 if len(fp) == 1 { 105 switch fp[0] { 106 case "name": 107 return &OsVersion_FieldTerminalPath{selector: OsVersion_FieldPathSelectorName}, nil 108 case "metadata": 109 return &OsVersion_FieldTerminalPath{selector: OsVersion_FieldPathSelectorMetadata}, nil 110 case "version": 111 return &OsVersion_FieldTerminalPath{selector: OsVersion_FieldPathSelectorVersion}, nil 112 case "device_type", "deviceType", "device-type": 113 return &OsVersion_FieldTerminalPath{selector: OsVersion_FieldPathSelectorDeviceType}, nil 114 case "minimum_previous_version", "minimumPreviousVersion", "minimum-previous-version": 115 return &OsVersion_FieldTerminalPath{selector: OsVersion_FieldPathSelectorMinimumPreviousVersion}, nil 116 case "channel": 117 return &OsVersion_FieldTerminalPath{selector: OsVersion_FieldPathSelectorChannel}, nil 118 } 119 } else { 120 switch fp[0] { 121 case "metadata": 122 if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil { 123 return nil, err 124 } else { 125 return &OsVersion_FieldSubPath{selector: OsVersion_FieldPathSelectorMetadata, subPath: subpath}, nil 126 } 127 } 128 } 129 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object OsVersion", fp) 130 } 131 132 func ParseOsVersion_FieldPath(rawField string) (OsVersion_FieldPath, error) { 133 fp, err := gotenobject.ParseRawFieldPath(rawField) 134 if err != nil { 135 return nil, err 136 } 137 return BuildOsVersion_FieldPath(fp) 138 } 139 140 func MustParseOsVersion_FieldPath(rawField string) OsVersion_FieldPath { 141 fp, err := ParseOsVersion_FieldPath(rawField) 142 if err != nil { 143 panic(err) 144 } 145 return fp 146 } 147 148 type OsVersion_FieldTerminalPath struct { 149 selector OsVersion_FieldPathSelector 150 } 151 152 var _ OsVersion_FieldPath = (*OsVersion_FieldTerminalPath)(nil) 153 154 func (fp *OsVersion_FieldTerminalPath) Selector() OsVersion_FieldPathSelector { 155 return fp.selector 156 } 157 158 // String returns path representation in proto convention 159 func (fp *OsVersion_FieldTerminalPath) String() string { 160 return fp.selector.String() 161 } 162 163 // JSONString returns path representation is JSON convention 164 func (fp *OsVersion_FieldTerminalPath) JSONString() string { 165 return strcase.ToLowerCamel(fp.String()) 166 } 167 168 // Get returns all values pointed by specific field from source OsVersion 169 func (fp *OsVersion_FieldTerminalPath) Get(source *OsVersion) (values []interface{}) { 170 if source != nil { 171 switch fp.selector { 172 case OsVersion_FieldPathSelectorName: 173 if source.Name != nil { 174 values = append(values, source.Name) 175 } 176 case OsVersion_FieldPathSelectorMetadata: 177 if source.Metadata != nil { 178 values = append(values, source.Metadata) 179 } 180 case OsVersion_FieldPathSelectorVersion: 181 values = append(values, source.Version) 182 case OsVersion_FieldPathSelectorDeviceType: 183 if source.DeviceType != nil { 184 values = append(values, source.DeviceType) 185 } 186 case OsVersion_FieldPathSelectorMinimumPreviousVersion: 187 values = append(values, source.MinimumPreviousVersion) 188 case OsVersion_FieldPathSelectorChannel: 189 values = append(values, source.Channel) 190 default: 191 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fp.selector)) 192 } 193 } 194 return 195 } 196 197 func (fp *OsVersion_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 198 return fp.Get(source.(*OsVersion)) 199 } 200 201 // GetSingle returns value pointed by specific field of from source OsVersion 202 func (fp *OsVersion_FieldTerminalPath) GetSingle(source *OsVersion) (interface{}, bool) { 203 switch fp.selector { 204 case OsVersion_FieldPathSelectorName: 205 res := source.GetName() 206 return res, res != nil 207 case OsVersion_FieldPathSelectorMetadata: 208 res := source.GetMetadata() 209 return res, res != nil 210 case OsVersion_FieldPathSelectorVersion: 211 return source.GetVersion(), source != nil 212 case OsVersion_FieldPathSelectorDeviceType: 213 res := source.GetDeviceType() 214 return res, res != nil 215 case OsVersion_FieldPathSelectorMinimumPreviousVersion: 216 return source.GetMinimumPreviousVersion(), source != nil 217 case OsVersion_FieldPathSelectorChannel: 218 return source.GetChannel(), source != nil 219 default: 220 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fp.selector)) 221 } 222 } 223 224 func (fp *OsVersion_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 225 return fp.GetSingle(source.(*OsVersion)) 226 } 227 228 // GetDefault returns a default value of the field type 229 func (fp *OsVersion_FieldTerminalPath) GetDefault() interface{} { 230 switch fp.selector { 231 case OsVersion_FieldPathSelectorName: 232 return (*Name)(nil) 233 case OsVersion_FieldPathSelectorMetadata: 234 return (*meta.Meta)(nil) 235 case OsVersion_FieldPathSelectorVersion: 236 return "" 237 case OsVersion_FieldPathSelectorDeviceType: 238 return (*device_type.Reference)(nil) 239 case OsVersion_FieldPathSelectorMinimumPreviousVersion: 240 return "" 241 case OsVersion_FieldPathSelectorChannel: 242 return OsVersion_CHANNEL_UNSPECIFIED 243 default: 244 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fp.selector)) 245 } 246 } 247 248 func (fp *OsVersion_FieldTerminalPath) ClearValue(item *OsVersion) { 249 if item != nil { 250 switch fp.selector { 251 case OsVersion_FieldPathSelectorName: 252 item.Name = nil 253 case OsVersion_FieldPathSelectorMetadata: 254 item.Metadata = nil 255 case OsVersion_FieldPathSelectorVersion: 256 item.Version = "" 257 case OsVersion_FieldPathSelectorDeviceType: 258 item.DeviceType = nil 259 case OsVersion_FieldPathSelectorMinimumPreviousVersion: 260 item.MinimumPreviousVersion = "" 261 case OsVersion_FieldPathSelectorChannel: 262 item.Channel = OsVersion_CHANNEL_UNSPECIFIED 263 default: 264 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fp.selector)) 265 } 266 } 267 } 268 269 func (fp *OsVersion_FieldTerminalPath) ClearValueRaw(item proto.Message) { 270 fp.ClearValue(item.(*OsVersion)) 271 } 272 273 // IsLeaf - whether field path is holds simple value 274 func (fp *OsVersion_FieldTerminalPath) IsLeaf() bool { 275 return fp.selector == OsVersion_FieldPathSelectorName || 276 fp.selector == OsVersion_FieldPathSelectorVersion || 277 fp.selector == OsVersion_FieldPathSelectorDeviceType || 278 fp.selector == OsVersion_FieldPathSelectorMinimumPreviousVersion || 279 fp.selector == OsVersion_FieldPathSelectorChannel 280 } 281 282 func (fp *OsVersion_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 283 return []gotenobject.FieldPath{fp} 284 } 285 286 func (fp *OsVersion_FieldTerminalPath) WithIValue(value interface{}) OsVersion_FieldPathValue { 287 switch fp.selector { 288 case OsVersion_FieldPathSelectorName: 289 return &OsVersion_FieldTerminalPathValue{OsVersion_FieldTerminalPath: *fp, value: value.(*Name)} 290 case OsVersion_FieldPathSelectorMetadata: 291 return &OsVersion_FieldTerminalPathValue{OsVersion_FieldTerminalPath: *fp, value: value.(*meta.Meta)} 292 case OsVersion_FieldPathSelectorVersion: 293 return &OsVersion_FieldTerminalPathValue{OsVersion_FieldTerminalPath: *fp, value: value.(string)} 294 case OsVersion_FieldPathSelectorDeviceType: 295 return &OsVersion_FieldTerminalPathValue{OsVersion_FieldTerminalPath: *fp, value: value.(*device_type.Reference)} 296 case OsVersion_FieldPathSelectorMinimumPreviousVersion: 297 return &OsVersion_FieldTerminalPathValue{OsVersion_FieldTerminalPath: *fp, value: value.(string)} 298 case OsVersion_FieldPathSelectorChannel: 299 return &OsVersion_FieldTerminalPathValue{OsVersion_FieldTerminalPath: *fp, value: value.(OsVersion_Channel)} 300 default: 301 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fp.selector)) 302 } 303 } 304 305 func (fp *OsVersion_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 306 return fp.WithIValue(value) 307 } 308 309 func (fp *OsVersion_FieldTerminalPath) WithIArrayOfValues(values interface{}) OsVersion_FieldPathArrayOfValues { 310 fpaov := &OsVersion_FieldTerminalPathArrayOfValues{OsVersion_FieldTerminalPath: *fp} 311 switch fp.selector { 312 case OsVersion_FieldPathSelectorName: 313 return &OsVersion_FieldTerminalPathArrayOfValues{OsVersion_FieldTerminalPath: *fp, values: values.([]*Name)} 314 case OsVersion_FieldPathSelectorMetadata: 315 return &OsVersion_FieldTerminalPathArrayOfValues{OsVersion_FieldTerminalPath: *fp, values: values.([]*meta.Meta)} 316 case OsVersion_FieldPathSelectorVersion: 317 return &OsVersion_FieldTerminalPathArrayOfValues{OsVersion_FieldTerminalPath: *fp, values: values.([]string)} 318 case OsVersion_FieldPathSelectorDeviceType: 319 return &OsVersion_FieldTerminalPathArrayOfValues{OsVersion_FieldTerminalPath: *fp, values: values.([]*device_type.Reference)} 320 case OsVersion_FieldPathSelectorMinimumPreviousVersion: 321 return &OsVersion_FieldTerminalPathArrayOfValues{OsVersion_FieldTerminalPath: *fp, values: values.([]string)} 322 case OsVersion_FieldPathSelectorChannel: 323 return &OsVersion_FieldTerminalPathArrayOfValues{OsVersion_FieldTerminalPath: *fp, values: values.([]OsVersion_Channel)} 324 default: 325 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fp.selector)) 326 } 327 return fpaov 328 } 329 330 func (fp *OsVersion_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 331 return fp.WithIArrayOfValues(values) 332 } 333 334 func (fp *OsVersion_FieldTerminalPath) WithIArrayItemValue(value interface{}) OsVersion_FieldPathArrayItemValue { 335 switch fp.selector { 336 default: 337 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fp.selector)) 338 } 339 } 340 341 func (fp *OsVersion_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 342 return fp.WithIArrayItemValue(value) 343 } 344 345 type OsVersion_FieldSubPath struct { 346 selector OsVersion_FieldPathSelector 347 subPath gotenobject.FieldPath 348 } 349 350 var _ OsVersion_FieldPath = (*OsVersion_FieldSubPath)(nil) 351 352 func (fps *OsVersion_FieldSubPath) Selector() OsVersion_FieldPathSelector { 353 return fps.selector 354 } 355 func (fps *OsVersion_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) { 356 res, ok := fps.subPath.(meta.Meta_FieldPath) 357 return res, ok 358 } 359 360 // String returns path representation in proto convention 361 func (fps *OsVersion_FieldSubPath) String() string { 362 return fps.selector.String() + "." + fps.subPath.String() 363 } 364 365 // JSONString returns path representation is JSON convention 366 func (fps *OsVersion_FieldSubPath) JSONString() string { 367 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 368 } 369 370 // Get returns all values pointed by selected field from source OsVersion 371 func (fps *OsVersion_FieldSubPath) Get(source *OsVersion) (values []interface{}) { 372 switch fps.selector { 373 case OsVersion_FieldPathSelectorMetadata: 374 values = append(values, fps.subPath.GetRaw(source.GetMetadata())...) 375 default: 376 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fps.selector)) 377 } 378 return 379 } 380 381 func (fps *OsVersion_FieldSubPath) GetRaw(source proto.Message) []interface{} { 382 return fps.Get(source.(*OsVersion)) 383 } 384 385 // GetSingle returns value of selected field from source OsVersion 386 func (fps *OsVersion_FieldSubPath) GetSingle(source *OsVersion) (interface{}, bool) { 387 switch fps.selector { 388 case OsVersion_FieldPathSelectorMetadata: 389 if source.GetMetadata() == nil { 390 return nil, false 391 } 392 return fps.subPath.GetSingleRaw(source.GetMetadata()) 393 default: 394 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fps.selector)) 395 } 396 } 397 398 func (fps *OsVersion_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 399 return fps.GetSingle(source.(*OsVersion)) 400 } 401 402 // GetDefault returns a default value of the field type 403 func (fps *OsVersion_FieldSubPath) GetDefault() interface{} { 404 return fps.subPath.GetDefault() 405 } 406 407 func (fps *OsVersion_FieldSubPath) ClearValue(item *OsVersion) { 408 if item != nil { 409 switch fps.selector { 410 case OsVersion_FieldPathSelectorMetadata: 411 fps.subPath.ClearValueRaw(item.Metadata) 412 default: 413 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fps.selector)) 414 } 415 } 416 } 417 418 func (fps *OsVersion_FieldSubPath) ClearValueRaw(item proto.Message) { 419 fps.ClearValue(item.(*OsVersion)) 420 } 421 422 // IsLeaf - whether field path is holds simple value 423 func (fps *OsVersion_FieldSubPath) IsLeaf() bool { 424 return fps.subPath.IsLeaf() 425 } 426 427 func (fps *OsVersion_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 428 iPaths := []gotenobject.FieldPath{&OsVersion_FieldTerminalPath{selector: fps.selector}} 429 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 430 return iPaths 431 } 432 433 func (fps *OsVersion_FieldSubPath) WithIValue(value interface{}) OsVersion_FieldPathValue { 434 return &OsVersion_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 435 } 436 437 func (fps *OsVersion_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 438 return fps.WithIValue(value) 439 } 440 441 func (fps *OsVersion_FieldSubPath) WithIArrayOfValues(values interface{}) OsVersion_FieldPathArrayOfValues { 442 return &OsVersion_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 443 } 444 445 func (fps *OsVersion_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 446 return fps.WithIArrayOfValues(values) 447 } 448 449 func (fps *OsVersion_FieldSubPath) WithIArrayItemValue(value interface{}) OsVersion_FieldPathArrayItemValue { 450 return &OsVersion_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 451 } 452 453 func (fps *OsVersion_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 454 return fps.WithIArrayItemValue(value) 455 } 456 457 // OsVersion_FieldPathValue allows storing values for OsVersion fields according to their type 458 type OsVersion_FieldPathValue interface { 459 OsVersion_FieldPath 460 gotenobject.FieldPathValue 461 SetTo(target **OsVersion) 462 CompareWith(*OsVersion) (cmp int, comparable bool) 463 } 464 465 func ParseOsVersion_FieldPathValue(pathStr, valueStr string) (OsVersion_FieldPathValue, error) { 466 fp, err := ParseOsVersion_FieldPath(pathStr) 467 if err != nil { 468 return nil, err 469 } 470 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 471 if err != nil { 472 return nil, status.Errorf(codes.InvalidArgument, "error parsing OsVersion field path value from %s: %v", valueStr, err) 473 } 474 return fpv.(OsVersion_FieldPathValue), nil 475 } 476 477 func MustParseOsVersion_FieldPathValue(pathStr, valueStr string) OsVersion_FieldPathValue { 478 fpv, err := ParseOsVersion_FieldPathValue(pathStr, valueStr) 479 if err != nil { 480 panic(err) 481 } 482 return fpv 483 } 484 485 type OsVersion_FieldTerminalPathValue struct { 486 OsVersion_FieldTerminalPath 487 value interface{} 488 } 489 490 var _ OsVersion_FieldPathValue = (*OsVersion_FieldTerminalPathValue)(nil) 491 492 // GetRawValue returns raw value stored under selected path for 'OsVersion' as interface{} 493 func (fpv *OsVersion_FieldTerminalPathValue) GetRawValue() interface{} { 494 return fpv.value 495 } 496 func (fpv *OsVersion_FieldTerminalPathValue) AsNameValue() (*Name, bool) { 497 res, ok := fpv.value.(*Name) 498 return res, ok 499 } 500 func (fpv *OsVersion_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) { 501 res, ok := fpv.value.(*meta.Meta) 502 return res, ok 503 } 504 func (fpv *OsVersion_FieldTerminalPathValue) AsVersionValue() (string, bool) { 505 res, ok := fpv.value.(string) 506 return res, ok 507 } 508 func (fpv *OsVersion_FieldTerminalPathValue) AsDeviceTypeValue() (*device_type.Reference, bool) { 509 res, ok := fpv.value.(*device_type.Reference) 510 return res, ok 511 } 512 func (fpv *OsVersion_FieldTerminalPathValue) AsMinimumPreviousVersionValue() (string, bool) { 513 res, ok := fpv.value.(string) 514 return res, ok 515 } 516 func (fpv *OsVersion_FieldTerminalPathValue) AsChannelValue() (OsVersion_Channel, bool) { 517 res, ok := fpv.value.(OsVersion_Channel) 518 return res, ok 519 } 520 521 // SetTo stores value for selected field for object OsVersion 522 func (fpv *OsVersion_FieldTerminalPathValue) SetTo(target **OsVersion) { 523 if *target == nil { 524 *target = new(OsVersion) 525 } 526 switch fpv.selector { 527 case OsVersion_FieldPathSelectorName: 528 (*target).Name = fpv.value.(*Name) 529 case OsVersion_FieldPathSelectorMetadata: 530 (*target).Metadata = fpv.value.(*meta.Meta) 531 case OsVersion_FieldPathSelectorVersion: 532 (*target).Version = fpv.value.(string) 533 case OsVersion_FieldPathSelectorDeviceType: 534 (*target).DeviceType = fpv.value.(*device_type.Reference) 535 case OsVersion_FieldPathSelectorMinimumPreviousVersion: 536 (*target).MinimumPreviousVersion = fpv.value.(string) 537 case OsVersion_FieldPathSelectorChannel: 538 (*target).Channel = fpv.value.(OsVersion_Channel) 539 default: 540 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fpv.selector)) 541 } 542 } 543 544 func (fpv *OsVersion_FieldTerminalPathValue) SetToRaw(target proto.Message) { 545 typedObject := target.(*OsVersion) 546 fpv.SetTo(&typedObject) 547 } 548 549 // CompareWith compares value in the 'OsVersion_FieldTerminalPathValue' with the value under path in 'OsVersion'. 550 func (fpv *OsVersion_FieldTerminalPathValue) CompareWith(source *OsVersion) (int, bool) { 551 switch fpv.selector { 552 case OsVersion_FieldPathSelectorName: 553 leftValue := fpv.value.(*Name) 554 rightValue := source.GetName() 555 if leftValue == nil { 556 if rightValue != nil { 557 return -1, true 558 } 559 return 0, true 560 } 561 if rightValue == nil { 562 return 1, true 563 } 564 if leftValue.String() == rightValue.String() { 565 return 0, true 566 } else if leftValue.String() < rightValue.String() { 567 return -1, true 568 } else { 569 return 1, true 570 } 571 case OsVersion_FieldPathSelectorMetadata: 572 return 0, false 573 case OsVersion_FieldPathSelectorVersion: 574 leftValue := fpv.value.(string) 575 rightValue := source.GetVersion() 576 if (leftValue) == (rightValue) { 577 return 0, true 578 } else if (leftValue) < (rightValue) { 579 return -1, true 580 } else { 581 return 1, true 582 } 583 case OsVersion_FieldPathSelectorDeviceType: 584 leftValue := fpv.value.(*device_type.Reference) 585 rightValue := source.GetDeviceType() 586 if leftValue == nil { 587 if rightValue != nil { 588 return -1, true 589 } 590 return 0, true 591 } 592 if rightValue == nil { 593 return 1, true 594 } 595 if leftValue.String() == rightValue.String() { 596 return 0, true 597 } else if leftValue.String() < rightValue.String() { 598 return -1, true 599 } else { 600 return 1, true 601 } 602 case OsVersion_FieldPathSelectorMinimumPreviousVersion: 603 leftValue := fpv.value.(string) 604 rightValue := source.GetMinimumPreviousVersion() 605 if (leftValue) == (rightValue) { 606 return 0, true 607 } else if (leftValue) < (rightValue) { 608 return -1, true 609 } else { 610 return 1, true 611 } 612 case OsVersion_FieldPathSelectorChannel: 613 leftValue := fpv.value.(OsVersion_Channel) 614 rightValue := source.GetChannel() 615 if (leftValue) == (rightValue) { 616 return 0, true 617 } else if (leftValue) < (rightValue) { 618 return -1, true 619 } else { 620 return 1, true 621 } 622 default: 623 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fpv.selector)) 624 } 625 } 626 627 func (fpv *OsVersion_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 628 return fpv.CompareWith(source.(*OsVersion)) 629 } 630 631 type OsVersion_FieldSubPathValue struct { 632 OsVersion_FieldPath 633 subPathValue gotenobject.FieldPathValue 634 } 635 636 var _ OsVersion_FieldPathValue = (*OsVersion_FieldSubPathValue)(nil) 637 638 func (fpvs *OsVersion_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) { 639 res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue) 640 return res, ok 641 } 642 643 func (fpvs *OsVersion_FieldSubPathValue) SetTo(target **OsVersion) { 644 if *target == nil { 645 *target = new(OsVersion) 646 } 647 switch fpvs.Selector() { 648 case OsVersion_FieldPathSelectorMetadata: 649 fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata) 650 default: 651 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fpvs.Selector())) 652 } 653 } 654 655 func (fpvs *OsVersion_FieldSubPathValue) SetToRaw(target proto.Message) { 656 typedObject := target.(*OsVersion) 657 fpvs.SetTo(&typedObject) 658 } 659 660 func (fpvs *OsVersion_FieldSubPathValue) GetRawValue() interface{} { 661 return fpvs.subPathValue.GetRawValue() 662 } 663 664 func (fpvs *OsVersion_FieldSubPathValue) CompareWith(source *OsVersion) (int, bool) { 665 switch fpvs.Selector() { 666 case OsVersion_FieldPathSelectorMetadata: 667 return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata()) 668 default: 669 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fpvs.Selector())) 670 } 671 } 672 673 func (fpvs *OsVersion_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 674 return fpvs.CompareWith(source.(*OsVersion)) 675 } 676 677 // OsVersion_FieldPathArrayItemValue allows storing single item in Path-specific values for OsVersion according to their type 678 // Present only for array (repeated) types. 679 type OsVersion_FieldPathArrayItemValue interface { 680 gotenobject.FieldPathArrayItemValue 681 OsVersion_FieldPath 682 ContainsValue(*OsVersion) bool 683 } 684 685 // ParseOsVersion_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 686 func ParseOsVersion_FieldPathArrayItemValue(pathStr, valueStr string) (OsVersion_FieldPathArrayItemValue, error) { 687 fp, err := ParseOsVersion_FieldPath(pathStr) 688 if err != nil { 689 return nil, err 690 } 691 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 692 if err != nil { 693 return nil, status.Errorf(codes.InvalidArgument, "error parsing OsVersion field path array item value from %s: %v", valueStr, err) 694 } 695 return fpaiv.(OsVersion_FieldPathArrayItemValue), nil 696 } 697 698 func MustParseOsVersion_FieldPathArrayItemValue(pathStr, valueStr string) OsVersion_FieldPathArrayItemValue { 699 fpaiv, err := ParseOsVersion_FieldPathArrayItemValue(pathStr, valueStr) 700 if err != nil { 701 panic(err) 702 } 703 return fpaiv 704 } 705 706 type OsVersion_FieldTerminalPathArrayItemValue struct { 707 OsVersion_FieldTerminalPath 708 value interface{} 709 } 710 711 var _ OsVersion_FieldPathArrayItemValue = (*OsVersion_FieldTerminalPathArrayItemValue)(nil) 712 713 // GetRawValue returns stored element value for array in object OsVersion as interface{} 714 func (fpaiv *OsVersion_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 715 return fpaiv.value 716 } 717 718 func (fpaiv *OsVersion_FieldTerminalPathArrayItemValue) GetSingle(source *OsVersion) (interface{}, bool) { 719 return nil, false 720 } 721 722 func (fpaiv *OsVersion_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 723 return fpaiv.GetSingle(source.(*OsVersion)) 724 } 725 726 // Contains returns a boolean indicating if value that is being held is present in given 'OsVersion' 727 func (fpaiv *OsVersion_FieldTerminalPathArrayItemValue) ContainsValue(source *OsVersion) bool { 728 slice := fpaiv.OsVersion_FieldTerminalPath.Get(source) 729 for _, v := range slice { 730 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 731 if proto.Equal(asProtoMsg, v.(proto.Message)) { 732 return true 733 } 734 } else if reflect.DeepEqual(v, fpaiv.value) { 735 return true 736 } 737 } 738 return false 739 } 740 741 type OsVersion_FieldSubPathArrayItemValue struct { 742 OsVersion_FieldPath 743 subPathItemValue gotenobject.FieldPathArrayItemValue 744 } 745 746 // GetRawValue returns stored array item value 747 func (fpaivs *OsVersion_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 748 return fpaivs.subPathItemValue.GetRawItemValue() 749 } 750 func (fpaivs *OsVersion_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) { 751 res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue) 752 return res, ok 753 } 754 755 // Contains returns a boolean indicating if value that is being held is present in given 'OsVersion' 756 func (fpaivs *OsVersion_FieldSubPathArrayItemValue) ContainsValue(source *OsVersion) bool { 757 switch fpaivs.Selector() { 758 case OsVersion_FieldPathSelectorMetadata: 759 return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata()) 760 default: 761 panic(fmt.Sprintf("Invalid selector for OsVersion: %d", fpaivs.Selector())) 762 } 763 } 764 765 // OsVersion_FieldPathArrayOfValues allows storing slice of values for OsVersion fields according to their type 766 type OsVersion_FieldPathArrayOfValues interface { 767 gotenobject.FieldPathArrayOfValues 768 OsVersion_FieldPath 769 } 770 771 func ParseOsVersion_FieldPathArrayOfValues(pathStr, valuesStr string) (OsVersion_FieldPathArrayOfValues, error) { 772 fp, err := ParseOsVersion_FieldPath(pathStr) 773 if err != nil { 774 return nil, err 775 } 776 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 777 if err != nil { 778 return nil, status.Errorf(codes.InvalidArgument, "error parsing OsVersion field path array of values from %s: %v", valuesStr, err) 779 } 780 return fpaov.(OsVersion_FieldPathArrayOfValues), nil 781 } 782 783 func MustParseOsVersion_FieldPathArrayOfValues(pathStr, valuesStr string) OsVersion_FieldPathArrayOfValues { 784 fpaov, err := ParseOsVersion_FieldPathArrayOfValues(pathStr, valuesStr) 785 if err != nil { 786 panic(err) 787 } 788 return fpaov 789 } 790 791 type OsVersion_FieldTerminalPathArrayOfValues struct { 792 OsVersion_FieldTerminalPath 793 values interface{} 794 } 795 796 var _ OsVersion_FieldPathArrayOfValues = (*OsVersion_FieldTerminalPathArrayOfValues)(nil) 797 798 func (fpaov *OsVersion_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 799 switch fpaov.selector { 800 case OsVersion_FieldPathSelectorName: 801 for _, v := range fpaov.values.([]*Name) { 802 values = append(values, v) 803 } 804 case OsVersion_FieldPathSelectorMetadata: 805 for _, v := range fpaov.values.([]*meta.Meta) { 806 values = append(values, v) 807 } 808 case OsVersion_FieldPathSelectorVersion: 809 for _, v := range fpaov.values.([]string) { 810 values = append(values, v) 811 } 812 case OsVersion_FieldPathSelectorDeviceType: 813 for _, v := range fpaov.values.([]*device_type.Reference) { 814 values = append(values, v) 815 } 816 case OsVersion_FieldPathSelectorMinimumPreviousVersion: 817 for _, v := range fpaov.values.([]string) { 818 values = append(values, v) 819 } 820 case OsVersion_FieldPathSelectorChannel: 821 for _, v := range fpaov.values.([]OsVersion_Channel) { 822 values = append(values, v) 823 } 824 } 825 return 826 } 827 func (fpaov *OsVersion_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) { 828 res, ok := fpaov.values.([]*Name) 829 return res, ok 830 } 831 func (fpaov *OsVersion_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) { 832 res, ok := fpaov.values.([]*meta.Meta) 833 return res, ok 834 } 835 func (fpaov *OsVersion_FieldTerminalPathArrayOfValues) AsVersionArrayOfValues() ([]string, bool) { 836 res, ok := fpaov.values.([]string) 837 return res, ok 838 } 839 func (fpaov *OsVersion_FieldTerminalPathArrayOfValues) AsDeviceTypeArrayOfValues() ([]*device_type.Reference, bool) { 840 res, ok := fpaov.values.([]*device_type.Reference) 841 return res, ok 842 } 843 func (fpaov *OsVersion_FieldTerminalPathArrayOfValues) AsMinimumPreviousVersionArrayOfValues() ([]string, bool) { 844 res, ok := fpaov.values.([]string) 845 return res, ok 846 } 847 func (fpaov *OsVersion_FieldTerminalPathArrayOfValues) AsChannelArrayOfValues() ([]OsVersion_Channel, bool) { 848 res, ok := fpaov.values.([]OsVersion_Channel) 849 return res, ok 850 } 851 852 type OsVersion_FieldSubPathArrayOfValues struct { 853 OsVersion_FieldPath 854 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 855 } 856 857 var _ OsVersion_FieldPathArrayOfValues = (*OsVersion_FieldSubPathArrayOfValues)(nil) 858 859 func (fpsaov *OsVersion_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 860 return fpsaov.subPathArrayOfValues.GetRawValues() 861 } 862 func (fpsaov *OsVersion_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) { 863 res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues) 864 return res, ok 865 }