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