github.com/cloudwan/edgelq-sdk@v1.15.4/monitoring/resources/v4/bucket/bucket.pb.fieldpath.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/monitoring/proto/v4/bucket.proto 3 // DO NOT EDIT!!! 4 5 package bucket 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 project "github.com/cloudwan/edgelq-sdk/monitoring/resources/v4/project" 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 _ = &project.Project{} 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 Bucket_FieldPath interface { 57 gotenobject.FieldPath 58 Selector() Bucket_FieldPathSelector 59 Get(source *Bucket) []interface{} 60 GetSingle(source *Bucket) (interface{}, bool) 61 ClearValue(item *Bucket) 62 63 // Those methods build corresponding Bucket_FieldPathValue 64 // (or array of values) and holds passed value. Panics if injected type is incorrect. 65 WithIValue(value interface{}) Bucket_FieldPathValue 66 WithIArrayOfValues(values interface{}) Bucket_FieldPathArrayOfValues 67 WithIArrayItemValue(value interface{}) Bucket_FieldPathArrayItemValue 68 } 69 70 type Bucket_FieldPathSelector int32 71 72 const ( 73 Bucket_FieldPathSelectorName Bucket_FieldPathSelector = 0 74 Bucket_FieldPathSelectorMetadata Bucket_FieldPathSelector = 1 75 Bucket_FieldPathSelectorMetrics Bucket_FieldPathSelector = 2 76 Bucket_FieldPathSelectorResources Bucket_FieldPathSelector = 3 77 Bucket_FieldPathSelectorRequiredAltKvs Bucket_FieldPathSelector = 4 78 ) 79 80 func (s Bucket_FieldPathSelector) String() string { 81 switch s { 82 case Bucket_FieldPathSelectorName: 83 return "name" 84 case Bucket_FieldPathSelectorMetadata: 85 return "metadata" 86 case Bucket_FieldPathSelectorMetrics: 87 return "metrics" 88 case Bucket_FieldPathSelectorResources: 89 return "resources" 90 case Bucket_FieldPathSelectorRequiredAltKvs: 91 return "required_alt_kvs" 92 default: 93 panic(fmt.Sprintf("Invalid selector for Bucket: %d", s)) 94 } 95 } 96 97 func BuildBucket_FieldPath(fp gotenobject.RawFieldPath) (Bucket_FieldPath, error) { 98 if len(fp) == 0 { 99 return nil, status.Error(codes.InvalidArgument, "empty field path for object Bucket") 100 } 101 if len(fp) == 1 { 102 switch fp[0] { 103 case "name": 104 return &Bucket_FieldTerminalPath{selector: Bucket_FieldPathSelectorName}, nil 105 case "metadata": 106 return &Bucket_FieldTerminalPath{selector: Bucket_FieldPathSelectorMetadata}, nil 107 case "metrics": 108 return &Bucket_FieldTerminalPath{selector: Bucket_FieldPathSelectorMetrics}, nil 109 case "resources": 110 return &Bucket_FieldTerminalPath{selector: Bucket_FieldPathSelectorResources}, nil 111 case "required_alt_kvs", "requiredAltKvs", "required-alt-kvs": 112 return &Bucket_FieldTerminalPath{selector: Bucket_FieldPathSelectorRequiredAltKvs}, nil 113 } 114 } else { 115 switch fp[0] { 116 case "metadata": 117 if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil { 118 return nil, err 119 } else { 120 return &Bucket_FieldSubPath{selector: Bucket_FieldPathSelectorMetadata, subPath: subpath}, nil 121 } 122 case "metrics": 123 if subpath, err := BuildBucketRequiredTypedLabels_FieldPath(fp[1:]); err != nil { 124 return nil, err 125 } else { 126 return &Bucket_FieldSubPath{selector: Bucket_FieldPathSelectorMetrics, subPath: subpath}, nil 127 } 128 case "resources": 129 if subpath, err := BuildBucketRequiredTypedLabels_FieldPath(fp[1:]); err != nil { 130 return nil, err 131 } else { 132 return &Bucket_FieldSubPath{selector: Bucket_FieldPathSelectorResources, subPath: subpath}, nil 133 } 134 case "required_alt_kvs", "requiredAltKvs", "required-alt-kvs": 135 if subpath, err := BuildBucketResolvedKeysWithValues_FieldPath(fp[1:]); err != nil { 136 return nil, err 137 } else { 138 return &Bucket_FieldSubPath{selector: Bucket_FieldPathSelectorRequiredAltKvs, subPath: subpath}, nil 139 } 140 } 141 } 142 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Bucket", fp) 143 } 144 145 func ParseBucket_FieldPath(rawField string) (Bucket_FieldPath, error) { 146 fp, err := gotenobject.ParseRawFieldPath(rawField) 147 if err != nil { 148 return nil, err 149 } 150 return BuildBucket_FieldPath(fp) 151 } 152 153 func MustParseBucket_FieldPath(rawField string) Bucket_FieldPath { 154 fp, err := ParseBucket_FieldPath(rawField) 155 if err != nil { 156 panic(err) 157 } 158 return fp 159 } 160 161 type Bucket_FieldTerminalPath struct { 162 selector Bucket_FieldPathSelector 163 } 164 165 var _ Bucket_FieldPath = (*Bucket_FieldTerminalPath)(nil) 166 167 func (fp *Bucket_FieldTerminalPath) Selector() Bucket_FieldPathSelector { 168 return fp.selector 169 } 170 171 // String returns path representation in proto convention 172 func (fp *Bucket_FieldTerminalPath) String() string { 173 return fp.selector.String() 174 } 175 176 // JSONString returns path representation is JSON convention 177 func (fp *Bucket_FieldTerminalPath) JSONString() string { 178 return strcase.ToLowerCamel(fp.String()) 179 } 180 181 // Get returns all values pointed by specific field from source Bucket 182 func (fp *Bucket_FieldTerminalPath) Get(source *Bucket) (values []interface{}) { 183 if source != nil { 184 switch fp.selector { 185 case Bucket_FieldPathSelectorName: 186 if source.Name != nil { 187 values = append(values, source.Name) 188 } 189 case Bucket_FieldPathSelectorMetadata: 190 if source.Metadata != nil { 191 values = append(values, source.Metadata) 192 } 193 case Bucket_FieldPathSelectorMetrics: 194 for _, value := range source.GetMetrics() { 195 values = append(values, value) 196 } 197 case Bucket_FieldPathSelectorResources: 198 for _, value := range source.GetResources() { 199 values = append(values, value) 200 } 201 case Bucket_FieldPathSelectorRequiredAltKvs: 202 for _, value := range source.GetRequiredAltKvs() { 203 values = append(values, value) 204 } 205 default: 206 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fp.selector)) 207 } 208 } 209 return 210 } 211 212 func (fp *Bucket_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 213 return fp.Get(source.(*Bucket)) 214 } 215 216 // GetSingle returns value pointed by specific field of from source Bucket 217 func (fp *Bucket_FieldTerminalPath) GetSingle(source *Bucket) (interface{}, bool) { 218 switch fp.selector { 219 case Bucket_FieldPathSelectorName: 220 res := source.GetName() 221 return res, res != nil 222 case Bucket_FieldPathSelectorMetadata: 223 res := source.GetMetadata() 224 return res, res != nil 225 case Bucket_FieldPathSelectorMetrics: 226 res := source.GetMetrics() 227 return res, res != nil 228 case Bucket_FieldPathSelectorResources: 229 res := source.GetResources() 230 return res, res != nil 231 case Bucket_FieldPathSelectorRequiredAltKvs: 232 res := source.GetRequiredAltKvs() 233 return res, res != nil 234 default: 235 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fp.selector)) 236 } 237 } 238 239 func (fp *Bucket_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 240 return fp.GetSingle(source.(*Bucket)) 241 } 242 243 // GetDefault returns a default value of the field type 244 func (fp *Bucket_FieldTerminalPath) GetDefault() interface{} { 245 switch fp.selector { 246 case Bucket_FieldPathSelectorName: 247 return (*Name)(nil) 248 case Bucket_FieldPathSelectorMetadata: 249 return (*meta.Meta)(nil) 250 case Bucket_FieldPathSelectorMetrics: 251 return ([]*Bucket_RequiredTypedLabels)(nil) 252 case Bucket_FieldPathSelectorResources: 253 return ([]*Bucket_RequiredTypedLabels)(nil) 254 case Bucket_FieldPathSelectorRequiredAltKvs: 255 return ([]*Bucket_ResolvedKeysWithValues)(nil) 256 default: 257 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fp.selector)) 258 } 259 } 260 261 func (fp *Bucket_FieldTerminalPath) ClearValue(item *Bucket) { 262 if item != nil { 263 switch fp.selector { 264 case Bucket_FieldPathSelectorName: 265 item.Name = nil 266 case Bucket_FieldPathSelectorMetadata: 267 item.Metadata = nil 268 case Bucket_FieldPathSelectorMetrics: 269 item.Metrics = nil 270 case Bucket_FieldPathSelectorResources: 271 item.Resources = nil 272 case Bucket_FieldPathSelectorRequiredAltKvs: 273 item.RequiredAltKvs = nil 274 default: 275 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fp.selector)) 276 } 277 } 278 } 279 280 func (fp *Bucket_FieldTerminalPath) ClearValueRaw(item proto.Message) { 281 fp.ClearValue(item.(*Bucket)) 282 } 283 284 // IsLeaf - whether field path is holds simple value 285 func (fp *Bucket_FieldTerminalPath) IsLeaf() bool { 286 return fp.selector == Bucket_FieldPathSelectorName 287 } 288 289 func (fp *Bucket_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 290 return []gotenobject.FieldPath{fp} 291 } 292 293 func (fp *Bucket_FieldTerminalPath) WithIValue(value interface{}) Bucket_FieldPathValue { 294 switch fp.selector { 295 case Bucket_FieldPathSelectorName: 296 return &Bucket_FieldTerminalPathValue{Bucket_FieldTerminalPath: *fp, value: value.(*Name)} 297 case Bucket_FieldPathSelectorMetadata: 298 return &Bucket_FieldTerminalPathValue{Bucket_FieldTerminalPath: *fp, value: value.(*meta.Meta)} 299 case Bucket_FieldPathSelectorMetrics: 300 return &Bucket_FieldTerminalPathValue{Bucket_FieldTerminalPath: *fp, value: value.([]*Bucket_RequiredTypedLabels)} 301 case Bucket_FieldPathSelectorResources: 302 return &Bucket_FieldTerminalPathValue{Bucket_FieldTerminalPath: *fp, value: value.([]*Bucket_RequiredTypedLabels)} 303 case Bucket_FieldPathSelectorRequiredAltKvs: 304 return &Bucket_FieldTerminalPathValue{Bucket_FieldTerminalPath: *fp, value: value.([]*Bucket_ResolvedKeysWithValues)} 305 default: 306 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fp.selector)) 307 } 308 } 309 310 func (fp *Bucket_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 311 return fp.WithIValue(value) 312 } 313 314 func (fp *Bucket_FieldTerminalPath) WithIArrayOfValues(values interface{}) Bucket_FieldPathArrayOfValues { 315 fpaov := &Bucket_FieldTerminalPathArrayOfValues{Bucket_FieldTerminalPath: *fp} 316 switch fp.selector { 317 case Bucket_FieldPathSelectorName: 318 return &Bucket_FieldTerminalPathArrayOfValues{Bucket_FieldTerminalPath: *fp, values: values.([]*Name)} 319 case Bucket_FieldPathSelectorMetadata: 320 return &Bucket_FieldTerminalPathArrayOfValues{Bucket_FieldTerminalPath: *fp, values: values.([]*meta.Meta)} 321 case Bucket_FieldPathSelectorMetrics: 322 return &Bucket_FieldTerminalPathArrayOfValues{Bucket_FieldTerminalPath: *fp, values: values.([][]*Bucket_RequiredTypedLabels)} 323 case Bucket_FieldPathSelectorResources: 324 return &Bucket_FieldTerminalPathArrayOfValues{Bucket_FieldTerminalPath: *fp, values: values.([][]*Bucket_RequiredTypedLabels)} 325 case Bucket_FieldPathSelectorRequiredAltKvs: 326 return &Bucket_FieldTerminalPathArrayOfValues{Bucket_FieldTerminalPath: *fp, values: values.([][]*Bucket_ResolvedKeysWithValues)} 327 default: 328 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fp.selector)) 329 } 330 return fpaov 331 } 332 333 func (fp *Bucket_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 334 return fp.WithIArrayOfValues(values) 335 } 336 337 func (fp *Bucket_FieldTerminalPath) WithIArrayItemValue(value interface{}) Bucket_FieldPathArrayItemValue { 338 switch fp.selector { 339 case Bucket_FieldPathSelectorMetrics: 340 return &Bucket_FieldTerminalPathArrayItemValue{Bucket_FieldTerminalPath: *fp, value: value.(*Bucket_RequiredTypedLabels)} 341 case Bucket_FieldPathSelectorResources: 342 return &Bucket_FieldTerminalPathArrayItemValue{Bucket_FieldTerminalPath: *fp, value: value.(*Bucket_RequiredTypedLabels)} 343 case Bucket_FieldPathSelectorRequiredAltKvs: 344 return &Bucket_FieldTerminalPathArrayItemValue{Bucket_FieldTerminalPath: *fp, value: value.(*Bucket_ResolvedKeysWithValues)} 345 default: 346 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fp.selector)) 347 } 348 } 349 350 func (fp *Bucket_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 351 return fp.WithIArrayItemValue(value) 352 } 353 354 type Bucket_FieldSubPath struct { 355 selector Bucket_FieldPathSelector 356 subPath gotenobject.FieldPath 357 } 358 359 var _ Bucket_FieldPath = (*Bucket_FieldSubPath)(nil) 360 361 func (fps *Bucket_FieldSubPath) Selector() Bucket_FieldPathSelector { 362 return fps.selector 363 } 364 func (fps *Bucket_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) { 365 res, ok := fps.subPath.(meta.Meta_FieldPath) 366 return res, ok 367 } 368 func (fps *Bucket_FieldSubPath) AsMetricsSubPath() (BucketRequiredTypedLabels_FieldPath, bool) { 369 res, ok := fps.subPath.(BucketRequiredTypedLabels_FieldPath) 370 return res, ok 371 } 372 func (fps *Bucket_FieldSubPath) AsResourcesSubPath() (BucketRequiredTypedLabels_FieldPath, bool) { 373 res, ok := fps.subPath.(BucketRequiredTypedLabels_FieldPath) 374 return res, ok 375 } 376 func (fps *Bucket_FieldSubPath) AsRequiredAltKvsSubPath() (BucketResolvedKeysWithValues_FieldPath, bool) { 377 res, ok := fps.subPath.(BucketResolvedKeysWithValues_FieldPath) 378 return res, ok 379 } 380 381 // String returns path representation in proto convention 382 func (fps *Bucket_FieldSubPath) String() string { 383 return fps.selector.String() + "." + fps.subPath.String() 384 } 385 386 // JSONString returns path representation is JSON convention 387 func (fps *Bucket_FieldSubPath) JSONString() string { 388 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 389 } 390 391 // Get returns all values pointed by selected field from source Bucket 392 func (fps *Bucket_FieldSubPath) Get(source *Bucket) (values []interface{}) { 393 switch fps.selector { 394 case Bucket_FieldPathSelectorMetadata: 395 values = append(values, fps.subPath.GetRaw(source.GetMetadata())...) 396 case Bucket_FieldPathSelectorMetrics: 397 for _, item := range source.GetMetrics() { 398 values = append(values, fps.subPath.GetRaw(item)...) 399 } 400 case Bucket_FieldPathSelectorResources: 401 for _, item := range source.GetResources() { 402 values = append(values, fps.subPath.GetRaw(item)...) 403 } 404 case Bucket_FieldPathSelectorRequiredAltKvs: 405 for _, item := range source.GetRequiredAltKvs() { 406 values = append(values, fps.subPath.GetRaw(item)...) 407 } 408 default: 409 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fps.selector)) 410 } 411 return 412 } 413 414 func (fps *Bucket_FieldSubPath) GetRaw(source proto.Message) []interface{} { 415 return fps.Get(source.(*Bucket)) 416 } 417 418 // GetSingle returns value of selected field from source Bucket 419 func (fps *Bucket_FieldSubPath) GetSingle(source *Bucket) (interface{}, bool) { 420 switch fps.selector { 421 case Bucket_FieldPathSelectorMetadata: 422 if source.GetMetadata() == nil { 423 return nil, false 424 } 425 return fps.subPath.GetSingleRaw(source.GetMetadata()) 426 case Bucket_FieldPathSelectorMetrics: 427 if len(source.GetMetrics()) == 0 { 428 return nil, false 429 } 430 return fps.subPath.GetSingleRaw(source.GetMetrics()[0]) 431 case Bucket_FieldPathSelectorResources: 432 if len(source.GetResources()) == 0 { 433 return nil, false 434 } 435 return fps.subPath.GetSingleRaw(source.GetResources()[0]) 436 case Bucket_FieldPathSelectorRequiredAltKvs: 437 if len(source.GetRequiredAltKvs()) == 0 { 438 return nil, false 439 } 440 return fps.subPath.GetSingleRaw(source.GetRequiredAltKvs()[0]) 441 default: 442 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fps.selector)) 443 } 444 } 445 446 func (fps *Bucket_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 447 return fps.GetSingle(source.(*Bucket)) 448 } 449 450 // GetDefault returns a default value of the field type 451 func (fps *Bucket_FieldSubPath) GetDefault() interface{} { 452 return fps.subPath.GetDefault() 453 } 454 455 func (fps *Bucket_FieldSubPath) ClearValue(item *Bucket) { 456 if item != nil { 457 switch fps.selector { 458 case Bucket_FieldPathSelectorMetadata: 459 fps.subPath.ClearValueRaw(item.Metadata) 460 case Bucket_FieldPathSelectorMetrics: 461 for _, subItem := range item.Metrics { 462 fps.subPath.ClearValueRaw(subItem) 463 } 464 case Bucket_FieldPathSelectorResources: 465 for _, subItem := range item.Resources { 466 fps.subPath.ClearValueRaw(subItem) 467 } 468 case Bucket_FieldPathSelectorRequiredAltKvs: 469 for _, subItem := range item.RequiredAltKvs { 470 fps.subPath.ClearValueRaw(subItem) 471 } 472 default: 473 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fps.selector)) 474 } 475 } 476 } 477 478 func (fps *Bucket_FieldSubPath) ClearValueRaw(item proto.Message) { 479 fps.ClearValue(item.(*Bucket)) 480 } 481 482 // IsLeaf - whether field path is holds simple value 483 func (fps *Bucket_FieldSubPath) IsLeaf() bool { 484 return fps.subPath.IsLeaf() 485 } 486 487 func (fps *Bucket_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 488 iPaths := []gotenobject.FieldPath{&Bucket_FieldTerminalPath{selector: fps.selector}} 489 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 490 return iPaths 491 } 492 493 func (fps *Bucket_FieldSubPath) WithIValue(value interface{}) Bucket_FieldPathValue { 494 return &Bucket_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 495 } 496 497 func (fps *Bucket_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 498 return fps.WithIValue(value) 499 } 500 501 func (fps *Bucket_FieldSubPath) WithIArrayOfValues(values interface{}) Bucket_FieldPathArrayOfValues { 502 return &Bucket_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 503 } 504 505 func (fps *Bucket_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 506 return fps.WithIArrayOfValues(values) 507 } 508 509 func (fps *Bucket_FieldSubPath) WithIArrayItemValue(value interface{}) Bucket_FieldPathArrayItemValue { 510 return &Bucket_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 511 } 512 513 func (fps *Bucket_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 514 return fps.WithIArrayItemValue(value) 515 } 516 517 // Bucket_FieldPathValue allows storing values for Bucket fields according to their type 518 type Bucket_FieldPathValue interface { 519 Bucket_FieldPath 520 gotenobject.FieldPathValue 521 SetTo(target **Bucket) 522 CompareWith(*Bucket) (cmp int, comparable bool) 523 } 524 525 func ParseBucket_FieldPathValue(pathStr, valueStr string) (Bucket_FieldPathValue, error) { 526 fp, err := ParseBucket_FieldPath(pathStr) 527 if err != nil { 528 return nil, err 529 } 530 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 531 if err != nil { 532 return nil, status.Errorf(codes.InvalidArgument, "error parsing Bucket field path value from %s: %v", valueStr, err) 533 } 534 return fpv.(Bucket_FieldPathValue), nil 535 } 536 537 func MustParseBucket_FieldPathValue(pathStr, valueStr string) Bucket_FieldPathValue { 538 fpv, err := ParseBucket_FieldPathValue(pathStr, valueStr) 539 if err != nil { 540 panic(err) 541 } 542 return fpv 543 } 544 545 type Bucket_FieldTerminalPathValue struct { 546 Bucket_FieldTerminalPath 547 value interface{} 548 } 549 550 var _ Bucket_FieldPathValue = (*Bucket_FieldTerminalPathValue)(nil) 551 552 // GetRawValue returns raw value stored under selected path for 'Bucket' as interface{} 553 func (fpv *Bucket_FieldTerminalPathValue) GetRawValue() interface{} { 554 return fpv.value 555 } 556 func (fpv *Bucket_FieldTerminalPathValue) AsNameValue() (*Name, bool) { 557 res, ok := fpv.value.(*Name) 558 return res, ok 559 } 560 func (fpv *Bucket_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) { 561 res, ok := fpv.value.(*meta.Meta) 562 return res, ok 563 } 564 func (fpv *Bucket_FieldTerminalPathValue) AsMetricsValue() ([]*Bucket_RequiredTypedLabels, bool) { 565 res, ok := fpv.value.([]*Bucket_RequiredTypedLabels) 566 return res, ok 567 } 568 func (fpv *Bucket_FieldTerminalPathValue) AsResourcesValue() ([]*Bucket_RequiredTypedLabels, bool) { 569 res, ok := fpv.value.([]*Bucket_RequiredTypedLabels) 570 return res, ok 571 } 572 func (fpv *Bucket_FieldTerminalPathValue) AsRequiredAltKvsValue() ([]*Bucket_ResolvedKeysWithValues, bool) { 573 res, ok := fpv.value.([]*Bucket_ResolvedKeysWithValues) 574 return res, ok 575 } 576 577 // SetTo stores value for selected field for object Bucket 578 func (fpv *Bucket_FieldTerminalPathValue) SetTo(target **Bucket) { 579 if *target == nil { 580 *target = new(Bucket) 581 } 582 switch fpv.selector { 583 case Bucket_FieldPathSelectorName: 584 (*target).Name = fpv.value.(*Name) 585 case Bucket_FieldPathSelectorMetadata: 586 (*target).Metadata = fpv.value.(*meta.Meta) 587 case Bucket_FieldPathSelectorMetrics: 588 (*target).Metrics = fpv.value.([]*Bucket_RequiredTypedLabels) 589 case Bucket_FieldPathSelectorResources: 590 (*target).Resources = fpv.value.([]*Bucket_RequiredTypedLabels) 591 case Bucket_FieldPathSelectorRequiredAltKvs: 592 (*target).RequiredAltKvs = fpv.value.([]*Bucket_ResolvedKeysWithValues) 593 default: 594 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fpv.selector)) 595 } 596 } 597 598 func (fpv *Bucket_FieldTerminalPathValue) SetToRaw(target proto.Message) { 599 typedObject := target.(*Bucket) 600 fpv.SetTo(&typedObject) 601 } 602 603 // CompareWith compares value in the 'Bucket_FieldTerminalPathValue' with the value under path in 'Bucket'. 604 func (fpv *Bucket_FieldTerminalPathValue) CompareWith(source *Bucket) (int, bool) { 605 switch fpv.selector { 606 case Bucket_FieldPathSelectorName: 607 leftValue := fpv.value.(*Name) 608 rightValue := source.GetName() 609 if leftValue == nil { 610 if rightValue != nil { 611 return -1, true 612 } 613 return 0, true 614 } 615 if rightValue == nil { 616 return 1, true 617 } 618 if leftValue.String() == rightValue.String() { 619 return 0, true 620 } else if leftValue.String() < rightValue.String() { 621 return -1, true 622 } else { 623 return 1, true 624 } 625 case Bucket_FieldPathSelectorMetadata: 626 return 0, false 627 case Bucket_FieldPathSelectorMetrics: 628 return 0, false 629 case Bucket_FieldPathSelectorResources: 630 return 0, false 631 case Bucket_FieldPathSelectorRequiredAltKvs: 632 return 0, false 633 default: 634 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fpv.selector)) 635 } 636 } 637 638 func (fpv *Bucket_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 639 return fpv.CompareWith(source.(*Bucket)) 640 } 641 642 type Bucket_FieldSubPathValue struct { 643 Bucket_FieldPath 644 subPathValue gotenobject.FieldPathValue 645 } 646 647 var _ Bucket_FieldPathValue = (*Bucket_FieldSubPathValue)(nil) 648 649 func (fpvs *Bucket_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) { 650 res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue) 651 return res, ok 652 } 653 func (fpvs *Bucket_FieldSubPathValue) AsMetricsPathValue() (BucketRequiredTypedLabels_FieldPathValue, bool) { 654 res, ok := fpvs.subPathValue.(BucketRequiredTypedLabels_FieldPathValue) 655 return res, ok 656 } 657 func (fpvs *Bucket_FieldSubPathValue) AsResourcesPathValue() (BucketRequiredTypedLabels_FieldPathValue, bool) { 658 res, ok := fpvs.subPathValue.(BucketRequiredTypedLabels_FieldPathValue) 659 return res, ok 660 } 661 func (fpvs *Bucket_FieldSubPathValue) AsRequiredAltKvsPathValue() (BucketResolvedKeysWithValues_FieldPathValue, bool) { 662 res, ok := fpvs.subPathValue.(BucketResolvedKeysWithValues_FieldPathValue) 663 return res, ok 664 } 665 666 func (fpvs *Bucket_FieldSubPathValue) SetTo(target **Bucket) { 667 if *target == nil { 668 *target = new(Bucket) 669 } 670 switch fpvs.Selector() { 671 case Bucket_FieldPathSelectorMetadata: 672 fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata) 673 case Bucket_FieldPathSelectorMetrics: 674 panic("FieldPath setter is unsupported for array subpaths") 675 case Bucket_FieldPathSelectorResources: 676 panic("FieldPath setter is unsupported for array subpaths") 677 case Bucket_FieldPathSelectorRequiredAltKvs: 678 panic("FieldPath setter is unsupported for array subpaths") 679 default: 680 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fpvs.Selector())) 681 } 682 } 683 684 func (fpvs *Bucket_FieldSubPathValue) SetToRaw(target proto.Message) { 685 typedObject := target.(*Bucket) 686 fpvs.SetTo(&typedObject) 687 } 688 689 func (fpvs *Bucket_FieldSubPathValue) GetRawValue() interface{} { 690 return fpvs.subPathValue.GetRawValue() 691 } 692 693 func (fpvs *Bucket_FieldSubPathValue) CompareWith(source *Bucket) (int, bool) { 694 switch fpvs.Selector() { 695 case Bucket_FieldPathSelectorMetadata: 696 return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata()) 697 case Bucket_FieldPathSelectorMetrics: 698 return 0, false // repeated field 699 case Bucket_FieldPathSelectorResources: 700 return 0, false // repeated field 701 case Bucket_FieldPathSelectorRequiredAltKvs: 702 return 0, false // repeated field 703 default: 704 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fpvs.Selector())) 705 } 706 } 707 708 func (fpvs *Bucket_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 709 return fpvs.CompareWith(source.(*Bucket)) 710 } 711 712 // Bucket_FieldPathArrayItemValue allows storing single item in Path-specific values for Bucket according to their type 713 // Present only for array (repeated) types. 714 type Bucket_FieldPathArrayItemValue interface { 715 gotenobject.FieldPathArrayItemValue 716 Bucket_FieldPath 717 ContainsValue(*Bucket) bool 718 } 719 720 // ParseBucket_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 721 func ParseBucket_FieldPathArrayItemValue(pathStr, valueStr string) (Bucket_FieldPathArrayItemValue, error) { 722 fp, err := ParseBucket_FieldPath(pathStr) 723 if err != nil { 724 return nil, err 725 } 726 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 727 if err != nil { 728 return nil, status.Errorf(codes.InvalidArgument, "error parsing Bucket field path array item value from %s: %v", valueStr, err) 729 } 730 return fpaiv.(Bucket_FieldPathArrayItemValue), nil 731 } 732 733 func MustParseBucket_FieldPathArrayItemValue(pathStr, valueStr string) Bucket_FieldPathArrayItemValue { 734 fpaiv, err := ParseBucket_FieldPathArrayItemValue(pathStr, valueStr) 735 if err != nil { 736 panic(err) 737 } 738 return fpaiv 739 } 740 741 type Bucket_FieldTerminalPathArrayItemValue struct { 742 Bucket_FieldTerminalPath 743 value interface{} 744 } 745 746 var _ Bucket_FieldPathArrayItemValue = (*Bucket_FieldTerminalPathArrayItemValue)(nil) 747 748 // GetRawValue returns stored element value for array in object Bucket as interface{} 749 func (fpaiv *Bucket_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 750 return fpaiv.value 751 } 752 func (fpaiv *Bucket_FieldTerminalPathArrayItemValue) AsMetricsItemValue() (*Bucket_RequiredTypedLabels, bool) { 753 res, ok := fpaiv.value.(*Bucket_RequiredTypedLabels) 754 return res, ok 755 } 756 func (fpaiv *Bucket_FieldTerminalPathArrayItemValue) AsResourcesItemValue() (*Bucket_RequiredTypedLabels, bool) { 757 res, ok := fpaiv.value.(*Bucket_RequiredTypedLabels) 758 return res, ok 759 } 760 func (fpaiv *Bucket_FieldTerminalPathArrayItemValue) AsRequiredAltKvsItemValue() (*Bucket_ResolvedKeysWithValues, bool) { 761 res, ok := fpaiv.value.(*Bucket_ResolvedKeysWithValues) 762 return res, ok 763 } 764 765 func (fpaiv *Bucket_FieldTerminalPathArrayItemValue) GetSingle(source *Bucket) (interface{}, bool) { 766 return nil, false 767 } 768 769 func (fpaiv *Bucket_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 770 return fpaiv.GetSingle(source.(*Bucket)) 771 } 772 773 // Contains returns a boolean indicating if value that is being held is present in given 'Bucket' 774 func (fpaiv *Bucket_FieldTerminalPathArrayItemValue) ContainsValue(source *Bucket) bool { 775 slice := fpaiv.Bucket_FieldTerminalPath.Get(source) 776 for _, v := range slice { 777 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 778 if proto.Equal(asProtoMsg, v.(proto.Message)) { 779 return true 780 } 781 } else if reflect.DeepEqual(v, fpaiv.value) { 782 return true 783 } 784 } 785 return false 786 } 787 788 type Bucket_FieldSubPathArrayItemValue struct { 789 Bucket_FieldPath 790 subPathItemValue gotenobject.FieldPathArrayItemValue 791 } 792 793 // GetRawValue returns stored array item value 794 func (fpaivs *Bucket_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 795 return fpaivs.subPathItemValue.GetRawItemValue() 796 } 797 func (fpaivs *Bucket_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) { 798 res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue) 799 return res, ok 800 } 801 func (fpaivs *Bucket_FieldSubPathArrayItemValue) AsMetricsPathItemValue() (BucketRequiredTypedLabels_FieldPathArrayItemValue, bool) { 802 res, ok := fpaivs.subPathItemValue.(BucketRequiredTypedLabels_FieldPathArrayItemValue) 803 return res, ok 804 } 805 func (fpaivs *Bucket_FieldSubPathArrayItemValue) AsResourcesPathItemValue() (BucketRequiredTypedLabels_FieldPathArrayItemValue, bool) { 806 res, ok := fpaivs.subPathItemValue.(BucketRequiredTypedLabels_FieldPathArrayItemValue) 807 return res, ok 808 } 809 func (fpaivs *Bucket_FieldSubPathArrayItemValue) AsRequiredAltKvsPathItemValue() (BucketResolvedKeysWithValues_FieldPathArrayItemValue, bool) { 810 res, ok := fpaivs.subPathItemValue.(BucketResolvedKeysWithValues_FieldPathArrayItemValue) 811 return res, ok 812 } 813 814 // Contains returns a boolean indicating if value that is being held is present in given 'Bucket' 815 func (fpaivs *Bucket_FieldSubPathArrayItemValue) ContainsValue(source *Bucket) bool { 816 switch fpaivs.Selector() { 817 case Bucket_FieldPathSelectorMetadata: 818 return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata()) 819 case Bucket_FieldPathSelectorMetrics: 820 return false // repeated/map field 821 case Bucket_FieldPathSelectorResources: 822 return false // repeated/map field 823 case Bucket_FieldPathSelectorRequiredAltKvs: 824 return false // repeated/map field 825 default: 826 panic(fmt.Sprintf("Invalid selector for Bucket: %d", fpaivs.Selector())) 827 } 828 } 829 830 // Bucket_FieldPathArrayOfValues allows storing slice of values for Bucket fields according to their type 831 type Bucket_FieldPathArrayOfValues interface { 832 gotenobject.FieldPathArrayOfValues 833 Bucket_FieldPath 834 } 835 836 func ParseBucket_FieldPathArrayOfValues(pathStr, valuesStr string) (Bucket_FieldPathArrayOfValues, error) { 837 fp, err := ParseBucket_FieldPath(pathStr) 838 if err != nil { 839 return nil, err 840 } 841 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 842 if err != nil { 843 return nil, status.Errorf(codes.InvalidArgument, "error parsing Bucket field path array of values from %s: %v", valuesStr, err) 844 } 845 return fpaov.(Bucket_FieldPathArrayOfValues), nil 846 } 847 848 func MustParseBucket_FieldPathArrayOfValues(pathStr, valuesStr string) Bucket_FieldPathArrayOfValues { 849 fpaov, err := ParseBucket_FieldPathArrayOfValues(pathStr, valuesStr) 850 if err != nil { 851 panic(err) 852 } 853 return fpaov 854 } 855 856 type Bucket_FieldTerminalPathArrayOfValues struct { 857 Bucket_FieldTerminalPath 858 values interface{} 859 } 860 861 var _ Bucket_FieldPathArrayOfValues = (*Bucket_FieldTerminalPathArrayOfValues)(nil) 862 863 func (fpaov *Bucket_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 864 switch fpaov.selector { 865 case Bucket_FieldPathSelectorName: 866 for _, v := range fpaov.values.([]*Name) { 867 values = append(values, v) 868 } 869 case Bucket_FieldPathSelectorMetadata: 870 for _, v := range fpaov.values.([]*meta.Meta) { 871 values = append(values, v) 872 } 873 case Bucket_FieldPathSelectorMetrics: 874 for _, v := range fpaov.values.([][]*Bucket_RequiredTypedLabels) { 875 values = append(values, v) 876 } 877 case Bucket_FieldPathSelectorResources: 878 for _, v := range fpaov.values.([][]*Bucket_RequiredTypedLabels) { 879 values = append(values, v) 880 } 881 case Bucket_FieldPathSelectorRequiredAltKvs: 882 for _, v := range fpaov.values.([][]*Bucket_ResolvedKeysWithValues) { 883 values = append(values, v) 884 } 885 } 886 return 887 } 888 func (fpaov *Bucket_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) { 889 res, ok := fpaov.values.([]*Name) 890 return res, ok 891 } 892 func (fpaov *Bucket_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) { 893 res, ok := fpaov.values.([]*meta.Meta) 894 return res, ok 895 } 896 func (fpaov *Bucket_FieldTerminalPathArrayOfValues) AsMetricsArrayOfValues() ([][]*Bucket_RequiredTypedLabels, bool) { 897 res, ok := fpaov.values.([][]*Bucket_RequiredTypedLabels) 898 return res, ok 899 } 900 func (fpaov *Bucket_FieldTerminalPathArrayOfValues) AsResourcesArrayOfValues() ([][]*Bucket_RequiredTypedLabels, bool) { 901 res, ok := fpaov.values.([][]*Bucket_RequiredTypedLabels) 902 return res, ok 903 } 904 func (fpaov *Bucket_FieldTerminalPathArrayOfValues) AsRequiredAltKvsArrayOfValues() ([][]*Bucket_ResolvedKeysWithValues, bool) { 905 res, ok := fpaov.values.([][]*Bucket_ResolvedKeysWithValues) 906 return res, ok 907 } 908 909 type Bucket_FieldSubPathArrayOfValues struct { 910 Bucket_FieldPath 911 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 912 } 913 914 var _ Bucket_FieldPathArrayOfValues = (*Bucket_FieldSubPathArrayOfValues)(nil) 915 916 func (fpsaov *Bucket_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 917 return fpsaov.subPathArrayOfValues.GetRawValues() 918 } 919 func (fpsaov *Bucket_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) { 920 res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues) 921 return res, ok 922 } 923 func (fpsaov *Bucket_FieldSubPathArrayOfValues) AsMetricsPathArrayOfValues() (BucketRequiredTypedLabels_FieldPathArrayOfValues, bool) { 924 res, ok := fpsaov.subPathArrayOfValues.(BucketRequiredTypedLabels_FieldPathArrayOfValues) 925 return res, ok 926 } 927 func (fpsaov *Bucket_FieldSubPathArrayOfValues) AsResourcesPathArrayOfValues() (BucketRequiredTypedLabels_FieldPathArrayOfValues, bool) { 928 res, ok := fpsaov.subPathArrayOfValues.(BucketRequiredTypedLabels_FieldPathArrayOfValues) 929 return res, ok 930 } 931 func (fpsaov *Bucket_FieldSubPathArrayOfValues) AsRequiredAltKvsPathArrayOfValues() (BucketResolvedKeysWithValues_FieldPathArrayOfValues, bool) { 932 res, ok := fpsaov.subPathArrayOfValues.(BucketResolvedKeysWithValues_FieldPathArrayOfValues) 933 return res, ok 934 } 935 936 // FieldPath provides implementation to handle 937 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 938 type BucketResolvedValues_FieldPath interface { 939 gotenobject.FieldPath 940 Selector() BucketResolvedValues_FieldPathSelector 941 Get(source *Bucket_ResolvedValues) []interface{} 942 GetSingle(source *Bucket_ResolvedValues) (interface{}, bool) 943 ClearValue(item *Bucket_ResolvedValues) 944 945 // Those methods build corresponding BucketResolvedValues_FieldPathValue 946 // (or array of values) and holds passed value. Panics if injected type is incorrect. 947 WithIValue(value interface{}) BucketResolvedValues_FieldPathValue 948 WithIArrayOfValues(values interface{}) BucketResolvedValues_FieldPathArrayOfValues 949 WithIArrayItemValue(value interface{}) BucketResolvedValues_FieldPathArrayItemValue 950 } 951 952 type BucketResolvedValues_FieldPathSelector int32 953 954 const ( 955 BucketResolvedValues_FieldPathSelectorKey BucketResolvedValues_FieldPathSelector = 0 956 BucketResolvedValues_FieldPathSelectorValues BucketResolvedValues_FieldPathSelector = 1 957 ) 958 959 func (s BucketResolvedValues_FieldPathSelector) String() string { 960 switch s { 961 case BucketResolvedValues_FieldPathSelectorKey: 962 return "key" 963 case BucketResolvedValues_FieldPathSelectorValues: 964 return "values" 965 default: 966 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedValues: %d", s)) 967 } 968 } 969 970 func BuildBucketResolvedValues_FieldPath(fp gotenobject.RawFieldPath) (BucketResolvedValues_FieldPath, error) { 971 if len(fp) == 0 { 972 return nil, status.Error(codes.InvalidArgument, "empty field path for object Bucket_ResolvedValues") 973 } 974 if len(fp) == 1 { 975 switch fp[0] { 976 case "key": 977 return &BucketResolvedValues_FieldTerminalPath{selector: BucketResolvedValues_FieldPathSelectorKey}, nil 978 case "values": 979 return &BucketResolvedValues_FieldTerminalPath{selector: BucketResolvedValues_FieldPathSelectorValues}, nil 980 } 981 } 982 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Bucket_ResolvedValues", fp) 983 } 984 985 func ParseBucketResolvedValues_FieldPath(rawField string) (BucketResolvedValues_FieldPath, error) { 986 fp, err := gotenobject.ParseRawFieldPath(rawField) 987 if err != nil { 988 return nil, err 989 } 990 return BuildBucketResolvedValues_FieldPath(fp) 991 } 992 993 func MustParseBucketResolvedValues_FieldPath(rawField string) BucketResolvedValues_FieldPath { 994 fp, err := ParseBucketResolvedValues_FieldPath(rawField) 995 if err != nil { 996 panic(err) 997 } 998 return fp 999 } 1000 1001 type BucketResolvedValues_FieldTerminalPath struct { 1002 selector BucketResolvedValues_FieldPathSelector 1003 } 1004 1005 var _ BucketResolvedValues_FieldPath = (*BucketResolvedValues_FieldTerminalPath)(nil) 1006 1007 func (fp *BucketResolvedValues_FieldTerminalPath) Selector() BucketResolvedValues_FieldPathSelector { 1008 return fp.selector 1009 } 1010 1011 // String returns path representation in proto convention 1012 func (fp *BucketResolvedValues_FieldTerminalPath) String() string { 1013 return fp.selector.String() 1014 } 1015 1016 // JSONString returns path representation is JSON convention 1017 func (fp *BucketResolvedValues_FieldTerminalPath) JSONString() string { 1018 return strcase.ToLowerCamel(fp.String()) 1019 } 1020 1021 // Get returns all values pointed by specific field from source Bucket_ResolvedValues 1022 func (fp *BucketResolvedValues_FieldTerminalPath) Get(source *Bucket_ResolvedValues) (values []interface{}) { 1023 if source != nil { 1024 switch fp.selector { 1025 case BucketResolvedValues_FieldPathSelectorKey: 1026 values = append(values, source.Key) 1027 case BucketResolvedValues_FieldPathSelectorValues: 1028 for _, value := range source.GetValues() { 1029 values = append(values, value) 1030 } 1031 default: 1032 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedValues: %d", fp.selector)) 1033 } 1034 } 1035 return 1036 } 1037 1038 func (fp *BucketResolvedValues_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 1039 return fp.Get(source.(*Bucket_ResolvedValues)) 1040 } 1041 1042 // GetSingle returns value pointed by specific field of from source Bucket_ResolvedValues 1043 func (fp *BucketResolvedValues_FieldTerminalPath) GetSingle(source *Bucket_ResolvedValues) (interface{}, bool) { 1044 switch fp.selector { 1045 case BucketResolvedValues_FieldPathSelectorKey: 1046 return source.GetKey(), source != nil 1047 case BucketResolvedValues_FieldPathSelectorValues: 1048 res := source.GetValues() 1049 return res, res != nil 1050 default: 1051 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedValues: %d", fp.selector)) 1052 } 1053 } 1054 1055 func (fp *BucketResolvedValues_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1056 return fp.GetSingle(source.(*Bucket_ResolvedValues)) 1057 } 1058 1059 // GetDefault returns a default value of the field type 1060 func (fp *BucketResolvedValues_FieldTerminalPath) GetDefault() interface{} { 1061 switch fp.selector { 1062 case BucketResolvedValues_FieldPathSelectorKey: 1063 return int64(0) 1064 case BucketResolvedValues_FieldPathSelectorValues: 1065 return ([]int64)(nil) 1066 default: 1067 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedValues: %d", fp.selector)) 1068 } 1069 } 1070 1071 func (fp *BucketResolvedValues_FieldTerminalPath) ClearValue(item *Bucket_ResolvedValues) { 1072 if item != nil { 1073 switch fp.selector { 1074 case BucketResolvedValues_FieldPathSelectorKey: 1075 item.Key = int64(0) 1076 case BucketResolvedValues_FieldPathSelectorValues: 1077 item.Values = nil 1078 default: 1079 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedValues: %d", fp.selector)) 1080 } 1081 } 1082 } 1083 1084 func (fp *BucketResolvedValues_FieldTerminalPath) ClearValueRaw(item proto.Message) { 1085 fp.ClearValue(item.(*Bucket_ResolvedValues)) 1086 } 1087 1088 // IsLeaf - whether field path is holds simple value 1089 func (fp *BucketResolvedValues_FieldTerminalPath) IsLeaf() bool { 1090 return fp.selector == BucketResolvedValues_FieldPathSelectorKey || 1091 fp.selector == BucketResolvedValues_FieldPathSelectorValues 1092 } 1093 1094 func (fp *BucketResolvedValues_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1095 return []gotenobject.FieldPath{fp} 1096 } 1097 1098 func (fp *BucketResolvedValues_FieldTerminalPath) WithIValue(value interface{}) BucketResolvedValues_FieldPathValue { 1099 switch fp.selector { 1100 case BucketResolvedValues_FieldPathSelectorKey: 1101 return &BucketResolvedValues_FieldTerminalPathValue{BucketResolvedValues_FieldTerminalPath: *fp, value: value.(int64)} 1102 case BucketResolvedValues_FieldPathSelectorValues: 1103 return &BucketResolvedValues_FieldTerminalPathValue{BucketResolvedValues_FieldTerminalPath: *fp, value: value.([]int64)} 1104 default: 1105 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedValues: %d", fp.selector)) 1106 } 1107 } 1108 1109 func (fp *BucketResolvedValues_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1110 return fp.WithIValue(value) 1111 } 1112 1113 func (fp *BucketResolvedValues_FieldTerminalPath) WithIArrayOfValues(values interface{}) BucketResolvedValues_FieldPathArrayOfValues { 1114 fpaov := &BucketResolvedValues_FieldTerminalPathArrayOfValues{BucketResolvedValues_FieldTerminalPath: *fp} 1115 switch fp.selector { 1116 case BucketResolvedValues_FieldPathSelectorKey: 1117 return &BucketResolvedValues_FieldTerminalPathArrayOfValues{BucketResolvedValues_FieldTerminalPath: *fp, values: values.([]int64)} 1118 case BucketResolvedValues_FieldPathSelectorValues: 1119 return &BucketResolvedValues_FieldTerminalPathArrayOfValues{BucketResolvedValues_FieldTerminalPath: *fp, values: values.([][]int64)} 1120 default: 1121 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedValues: %d", fp.selector)) 1122 } 1123 return fpaov 1124 } 1125 1126 func (fp *BucketResolvedValues_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1127 return fp.WithIArrayOfValues(values) 1128 } 1129 1130 func (fp *BucketResolvedValues_FieldTerminalPath) WithIArrayItemValue(value interface{}) BucketResolvedValues_FieldPathArrayItemValue { 1131 switch fp.selector { 1132 case BucketResolvedValues_FieldPathSelectorValues: 1133 return &BucketResolvedValues_FieldTerminalPathArrayItemValue{BucketResolvedValues_FieldTerminalPath: *fp, value: value.(int64)} 1134 default: 1135 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedValues: %d", fp.selector)) 1136 } 1137 } 1138 1139 func (fp *BucketResolvedValues_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1140 return fp.WithIArrayItemValue(value) 1141 } 1142 1143 // BucketResolvedValues_FieldPathValue allows storing values for ResolvedValues fields according to their type 1144 type BucketResolvedValues_FieldPathValue interface { 1145 BucketResolvedValues_FieldPath 1146 gotenobject.FieldPathValue 1147 SetTo(target **Bucket_ResolvedValues) 1148 CompareWith(*Bucket_ResolvedValues) (cmp int, comparable bool) 1149 } 1150 1151 func ParseBucketResolvedValues_FieldPathValue(pathStr, valueStr string) (BucketResolvedValues_FieldPathValue, error) { 1152 fp, err := ParseBucketResolvedValues_FieldPath(pathStr) 1153 if err != nil { 1154 return nil, err 1155 } 1156 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 1157 if err != nil { 1158 return nil, status.Errorf(codes.InvalidArgument, "error parsing ResolvedValues field path value from %s: %v", valueStr, err) 1159 } 1160 return fpv.(BucketResolvedValues_FieldPathValue), nil 1161 } 1162 1163 func MustParseBucketResolvedValues_FieldPathValue(pathStr, valueStr string) BucketResolvedValues_FieldPathValue { 1164 fpv, err := ParseBucketResolvedValues_FieldPathValue(pathStr, valueStr) 1165 if err != nil { 1166 panic(err) 1167 } 1168 return fpv 1169 } 1170 1171 type BucketResolvedValues_FieldTerminalPathValue struct { 1172 BucketResolvedValues_FieldTerminalPath 1173 value interface{} 1174 } 1175 1176 var _ BucketResolvedValues_FieldPathValue = (*BucketResolvedValues_FieldTerminalPathValue)(nil) 1177 1178 // GetRawValue returns raw value stored under selected path for 'ResolvedValues' as interface{} 1179 func (fpv *BucketResolvedValues_FieldTerminalPathValue) GetRawValue() interface{} { 1180 return fpv.value 1181 } 1182 func (fpv *BucketResolvedValues_FieldTerminalPathValue) AsKeyValue() (int64, bool) { 1183 res, ok := fpv.value.(int64) 1184 return res, ok 1185 } 1186 func (fpv *BucketResolvedValues_FieldTerminalPathValue) AsValuesValue() ([]int64, bool) { 1187 res, ok := fpv.value.([]int64) 1188 return res, ok 1189 } 1190 1191 // SetTo stores value for selected field for object ResolvedValues 1192 func (fpv *BucketResolvedValues_FieldTerminalPathValue) SetTo(target **Bucket_ResolvedValues) { 1193 if *target == nil { 1194 *target = new(Bucket_ResolvedValues) 1195 } 1196 switch fpv.selector { 1197 case BucketResolvedValues_FieldPathSelectorKey: 1198 (*target).Key = fpv.value.(int64) 1199 case BucketResolvedValues_FieldPathSelectorValues: 1200 (*target).Values = fpv.value.([]int64) 1201 default: 1202 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedValues: %d", fpv.selector)) 1203 } 1204 } 1205 1206 func (fpv *BucketResolvedValues_FieldTerminalPathValue) SetToRaw(target proto.Message) { 1207 typedObject := target.(*Bucket_ResolvedValues) 1208 fpv.SetTo(&typedObject) 1209 } 1210 1211 // CompareWith compares value in the 'BucketResolvedValues_FieldTerminalPathValue' with the value under path in 'Bucket_ResolvedValues'. 1212 func (fpv *BucketResolvedValues_FieldTerminalPathValue) CompareWith(source *Bucket_ResolvedValues) (int, bool) { 1213 switch fpv.selector { 1214 case BucketResolvedValues_FieldPathSelectorKey: 1215 leftValue := fpv.value.(int64) 1216 rightValue := source.GetKey() 1217 if (leftValue) == (rightValue) { 1218 return 0, true 1219 } else if (leftValue) < (rightValue) { 1220 return -1, true 1221 } else { 1222 return 1, true 1223 } 1224 case BucketResolvedValues_FieldPathSelectorValues: 1225 return 0, false 1226 default: 1227 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedValues: %d", fpv.selector)) 1228 } 1229 } 1230 1231 func (fpv *BucketResolvedValues_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1232 return fpv.CompareWith(source.(*Bucket_ResolvedValues)) 1233 } 1234 1235 // BucketResolvedValues_FieldPathArrayItemValue allows storing single item in Path-specific values for ResolvedValues according to their type 1236 // Present only for array (repeated) types. 1237 type BucketResolvedValues_FieldPathArrayItemValue interface { 1238 gotenobject.FieldPathArrayItemValue 1239 BucketResolvedValues_FieldPath 1240 ContainsValue(*Bucket_ResolvedValues) bool 1241 } 1242 1243 // ParseBucketResolvedValues_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 1244 func ParseBucketResolvedValues_FieldPathArrayItemValue(pathStr, valueStr string) (BucketResolvedValues_FieldPathArrayItemValue, error) { 1245 fp, err := ParseBucketResolvedValues_FieldPath(pathStr) 1246 if err != nil { 1247 return nil, err 1248 } 1249 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 1250 if err != nil { 1251 return nil, status.Errorf(codes.InvalidArgument, "error parsing ResolvedValues field path array item value from %s: %v", valueStr, err) 1252 } 1253 return fpaiv.(BucketResolvedValues_FieldPathArrayItemValue), nil 1254 } 1255 1256 func MustParseBucketResolvedValues_FieldPathArrayItemValue(pathStr, valueStr string) BucketResolvedValues_FieldPathArrayItemValue { 1257 fpaiv, err := ParseBucketResolvedValues_FieldPathArrayItemValue(pathStr, valueStr) 1258 if err != nil { 1259 panic(err) 1260 } 1261 return fpaiv 1262 } 1263 1264 type BucketResolvedValues_FieldTerminalPathArrayItemValue struct { 1265 BucketResolvedValues_FieldTerminalPath 1266 value interface{} 1267 } 1268 1269 var _ BucketResolvedValues_FieldPathArrayItemValue = (*BucketResolvedValues_FieldTerminalPathArrayItemValue)(nil) 1270 1271 // GetRawValue returns stored element value for array in object Bucket_ResolvedValues as interface{} 1272 func (fpaiv *BucketResolvedValues_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 1273 return fpaiv.value 1274 } 1275 func (fpaiv *BucketResolvedValues_FieldTerminalPathArrayItemValue) AsValuesItemValue() (int64, bool) { 1276 res, ok := fpaiv.value.(int64) 1277 return res, ok 1278 } 1279 1280 func (fpaiv *BucketResolvedValues_FieldTerminalPathArrayItemValue) GetSingle(source *Bucket_ResolvedValues) (interface{}, bool) { 1281 return nil, false 1282 } 1283 1284 func (fpaiv *BucketResolvedValues_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 1285 return fpaiv.GetSingle(source.(*Bucket_ResolvedValues)) 1286 } 1287 1288 // Contains returns a boolean indicating if value that is being held is present in given 'ResolvedValues' 1289 func (fpaiv *BucketResolvedValues_FieldTerminalPathArrayItemValue) ContainsValue(source *Bucket_ResolvedValues) bool { 1290 slice := fpaiv.BucketResolvedValues_FieldTerminalPath.Get(source) 1291 for _, v := range slice { 1292 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 1293 if proto.Equal(asProtoMsg, v.(proto.Message)) { 1294 return true 1295 } 1296 } else if reflect.DeepEqual(v, fpaiv.value) { 1297 return true 1298 } 1299 } 1300 return false 1301 } 1302 1303 // BucketResolvedValues_FieldPathArrayOfValues allows storing slice of values for ResolvedValues fields according to their type 1304 type BucketResolvedValues_FieldPathArrayOfValues interface { 1305 gotenobject.FieldPathArrayOfValues 1306 BucketResolvedValues_FieldPath 1307 } 1308 1309 func ParseBucketResolvedValues_FieldPathArrayOfValues(pathStr, valuesStr string) (BucketResolvedValues_FieldPathArrayOfValues, error) { 1310 fp, err := ParseBucketResolvedValues_FieldPath(pathStr) 1311 if err != nil { 1312 return nil, err 1313 } 1314 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 1315 if err != nil { 1316 return nil, status.Errorf(codes.InvalidArgument, "error parsing ResolvedValues field path array of values from %s: %v", valuesStr, err) 1317 } 1318 return fpaov.(BucketResolvedValues_FieldPathArrayOfValues), nil 1319 } 1320 1321 func MustParseBucketResolvedValues_FieldPathArrayOfValues(pathStr, valuesStr string) BucketResolvedValues_FieldPathArrayOfValues { 1322 fpaov, err := ParseBucketResolvedValues_FieldPathArrayOfValues(pathStr, valuesStr) 1323 if err != nil { 1324 panic(err) 1325 } 1326 return fpaov 1327 } 1328 1329 type BucketResolvedValues_FieldTerminalPathArrayOfValues struct { 1330 BucketResolvedValues_FieldTerminalPath 1331 values interface{} 1332 } 1333 1334 var _ BucketResolvedValues_FieldPathArrayOfValues = (*BucketResolvedValues_FieldTerminalPathArrayOfValues)(nil) 1335 1336 func (fpaov *BucketResolvedValues_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 1337 switch fpaov.selector { 1338 case BucketResolvedValues_FieldPathSelectorKey: 1339 for _, v := range fpaov.values.([]int64) { 1340 values = append(values, v) 1341 } 1342 case BucketResolvedValues_FieldPathSelectorValues: 1343 for _, v := range fpaov.values.([][]int64) { 1344 values = append(values, v) 1345 } 1346 } 1347 return 1348 } 1349 func (fpaov *BucketResolvedValues_FieldTerminalPathArrayOfValues) AsKeyArrayOfValues() ([]int64, bool) { 1350 res, ok := fpaov.values.([]int64) 1351 return res, ok 1352 } 1353 func (fpaov *BucketResolvedValues_FieldTerminalPathArrayOfValues) AsValuesArrayOfValues() ([][]int64, bool) { 1354 res, ok := fpaov.values.([][]int64) 1355 return res, ok 1356 } 1357 1358 // FieldPath provides implementation to handle 1359 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 1360 type BucketResolvedKeysWithValues_FieldPath interface { 1361 gotenobject.FieldPath 1362 Selector() BucketResolvedKeysWithValues_FieldPathSelector 1363 Get(source *Bucket_ResolvedKeysWithValues) []interface{} 1364 GetSingle(source *Bucket_ResolvedKeysWithValues) (interface{}, bool) 1365 ClearValue(item *Bucket_ResolvedKeysWithValues) 1366 1367 // Those methods build corresponding BucketResolvedKeysWithValues_FieldPathValue 1368 // (or array of values) and holds passed value. Panics if injected type is incorrect. 1369 WithIValue(value interface{}) BucketResolvedKeysWithValues_FieldPathValue 1370 WithIArrayOfValues(values interface{}) BucketResolvedKeysWithValues_FieldPathArrayOfValues 1371 WithIArrayItemValue(value interface{}) BucketResolvedKeysWithValues_FieldPathArrayItemValue 1372 } 1373 1374 type BucketResolvedKeysWithValues_FieldPathSelector int32 1375 1376 const ( 1377 BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs BucketResolvedKeysWithValues_FieldPathSelector = 0 1378 ) 1379 1380 func (s BucketResolvedKeysWithValues_FieldPathSelector) String() string { 1381 switch s { 1382 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1383 return "resolved_kvs" 1384 default: 1385 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", s)) 1386 } 1387 } 1388 1389 func BuildBucketResolvedKeysWithValues_FieldPath(fp gotenobject.RawFieldPath) (BucketResolvedKeysWithValues_FieldPath, error) { 1390 if len(fp) == 0 { 1391 return nil, status.Error(codes.InvalidArgument, "empty field path for object Bucket_ResolvedKeysWithValues") 1392 } 1393 if len(fp) == 1 { 1394 switch fp[0] { 1395 case "resolved_kvs", "resolvedKvs", "resolved-kvs": 1396 return &BucketResolvedKeysWithValues_FieldTerminalPath{selector: BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs}, nil 1397 } 1398 } else { 1399 switch fp[0] { 1400 case "resolved_kvs", "resolvedKvs", "resolved-kvs": 1401 if subpath, err := BuildBucketResolvedValues_FieldPath(fp[1:]); err != nil { 1402 return nil, err 1403 } else { 1404 return &BucketResolvedKeysWithValues_FieldSubPath{selector: BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs, subPath: subpath}, nil 1405 } 1406 } 1407 } 1408 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Bucket_ResolvedKeysWithValues", fp) 1409 } 1410 1411 func ParseBucketResolvedKeysWithValues_FieldPath(rawField string) (BucketResolvedKeysWithValues_FieldPath, error) { 1412 fp, err := gotenobject.ParseRawFieldPath(rawField) 1413 if err != nil { 1414 return nil, err 1415 } 1416 return BuildBucketResolvedKeysWithValues_FieldPath(fp) 1417 } 1418 1419 func MustParseBucketResolvedKeysWithValues_FieldPath(rawField string) BucketResolvedKeysWithValues_FieldPath { 1420 fp, err := ParseBucketResolvedKeysWithValues_FieldPath(rawField) 1421 if err != nil { 1422 panic(err) 1423 } 1424 return fp 1425 } 1426 1427 type BucketResolvedKeysWithValues_FieldTerminalPath struct { 1428 selector BucketResolvedKeysWithValues_FieldPathSelector 1429 } 1430 1431 var _ BucketResolvedKeysWithValues_FieldPath = (*BucketResolvedKeysWithValues_FieldTerminalPath)(nil) 1432 1433 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) Selector() BucketResolvedKeysWithValues_FieldPathSelector { 1434 return fp.selector 1435 } 1436 1437 // String returns path representation in proto convention 1438 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) String() string { 1439 return fp.selector.String() 1440 } 1441 1442 // JSONString returns path representation is JSON convention 1443 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) JSONString() string { 1444 return strcase.ToLowerCamel(fp.String()) 1445 } 1446 1447 // Get returns all values pointed by specific field from source Bucket_ResolvedKeysWithValues 1448 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) Get(source *Bucket_ResolvedKeysWithValues) (values []interface{}) { 1449 if source != nil { 1450 switch fp.selector { 1451 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1452 for _, value := range source.GetResolvedKvs() { 1453 values = append(values, value) 1454 } 1455 default: 1456 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fp.selector)) 1457 } 1458 } 1459 return 1460 } 1461 1462 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 1463 return fp.Get(source.(*Bucket_ResolvedKeysWithValues)) 1464 } 1465 1466 // GetSingle returns value pointed by specific field of from source Bucket_ResolvedKeysWithValues 1467 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) GetSingle(source *Bucket_ResolvedKeysWithValues) (interface{}, bool) { 1468 switch fp.selector { 1469 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1470 res := source.GetResolvedKvs() 1471 return res, res != nil 1472 default: 1473 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fp.selector)) 1474 } 1475 } 1476 1477 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1478 return fp.GetSingle(source.(*Bucket_ResolvedKeysWithValues)) 1479 } 1480 1481 // GetDefault returns a default value of the field type 1482 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) GetDefault() interface{} { 1483 switch fp.selector { 1484 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1485 return ([]*Bucket_ResolvedValues)(nil) 1486 default: 1487 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fp.selector)) 1488 } 1489 } 1490 1491 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) ClearValue(item *Bucket_ResolvedKeysWithValues) { 1492 if item != nil { 1493 switch fp.selector { 1494 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1495 item.ResolvedKvs = nil 1496 default: 1497 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fp.selector)) 1498 } 1499 } 1500 } 1501 1502 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) ClearValueRaw(item proto.Message) { 1503 fp.ClearValue(item.(*Bucket_ResolvedKeysWithValues)) 1504 } 1505 1506 // IsLeaf - whether field path is holds simple value 1507 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) IsLeaf() bool { 1508 return false 1509 } 1510 1511 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1512 return []gotenobject.FieldPath{fp} 1513 } 1514 1515 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) WithIValue(value interface{}) BucketResolvedKeysWithValues_FieldPathValue { 1516 switch fp.selector { 1517 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1518 return &BucketResolvedKeysWithValues_FieldTerminalPathValue{BucketResolvedKeysWithValues_FieldTerminalPath: *fp, value: value.([]*Bucket_ResolvedValues)} 1519 default: 1520 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fp.selector)) 1521 } 1522 } 1523 1524 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1525 return fp.WithIValue(value) 1526 } 1527 1528 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) WithIArrayOfValues(values interface{}) BucketResolvedKeysWithValues_FieldPathArrayOfValues { 1529 fpaov := &BucketResolvedKeysWithValues_FieldTerminalPathArrayOfValues{BucketResolvedKeysWithValues_FieldTerminalPath: *fp} 1530 switch fp.selector { 1531 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1532 return &BucketResolvedKeysWithValues_FieldTerminalPathArrayOfValues{BucketResolvedKeysWithValues_FieldTerminalPath: *fp, values: values.([][]*Bucket_ResolvedValues)} 1533 default: 1534 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fp.selector)) 1535 } 1536 return fpaov 1537 } 1538 1539 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1540 return fp.WithIArrayOfValues(values) 1541 } 1542 1543 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) WithIArrayItemValue(value interface{}) BucketResolvedKeysWithValues_FieldPathArrayItemValue { 1544 switch fp.selector { 1545 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1546 return &BucketResolvedKeysWithValues_FieldTerminalPathArrayItemValue{BucketResolvedKeysWithValues_FieldTerminalPath: *fp, value: value.(*Bucket_ResolvedValues)} 1547 default: 1548 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fp.selector)) 1549 } 1550 } 1551 1552 func (fp *BucketResolvedKeysWithValues_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1553 return fp.WithIArrayItemValue(value) 1554 } 1555 1556 type BucketResolvedKeysWithValues_FieldSubPath struct { 1557 selector BucketResolvedKeysWithValues_FieldPathSelector 1558 subPath gotenobject.FieldPath 1559 } 1560 1561 var _ BucketResolvedKeysWithValues_FieldPath = (*BucketResolvedKeysWithValues_FieldSubPath)(nil) 1562 1563 func (fps *BucketResolvedKeysWithValues_FieldSubPath) Selector() BucketResolvedKeysWithValues_FieldPathSelector { 1564 return fps.selector 1565 } 1566 func (fps *BucketResolvedKeysWithValues_FieldSubPath) AsResolvedKvsSubPath() (BucketResolvedValues_FieldPath, bool) { 1567 res, ok := fps.subPath.(BucketResolvedValues_FieldPath) 1568 return res, ok 1569 } 1570 1571 // String returns path representation in proto convention 1572 func (fps *BucketResolvedKeysWithValues_FieldSubPath) String() string { 1573 return fps.selector.String() + "." + fps.subPath.String() 1574 } 1575 1576 // JSONString returns path representation is JSON convention 1577 func (fps *BucketResolvedKeysWithValues_FieldSubPath) JSONString() string { 1578 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 1579 } 1580 1581 // Get returns all values pointed by selected field from source Bucket_ResolvedKeysWithValues 1582 func (fps *BucketResolvedKeysWithValues_FieldSubPath) Get(source *Bucket_ResolvedKeysWithValues) (values []interface{}) { 1583 switch fps.selector { 1584 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1585 for _, item := range source.GetResolvedKvs() { 1586 values = append(values, fps.subPath.GetRaw(item)...) 1587 } 1588 default: 1589 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fps.selector)) 1590 } 1591 return 1592 } 1593 1594 func (fps *BucketResolvedKeysWithValues_FieldSubPath) GetRaw(source proto.Message) []interface{} { 1595 return fps.Get(source.(*Bucket_ResolvedKeysWithValues)) 1596 } 1597 1598 // GetSingle returns value of selected field from source Bucket_ResolvedKeysWithValues 1599 func (fps *BucketResolvedKeysWithValues_FieldSubPath) GetSingle(source *Bucket_ResolvedKeysWithValues) (interface{}, bool) { 1600 switch fps.selector { 1601 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1602 if len(source.GetResolvedKvs()) == 0 { 1603 return nil, false 1604 } 1605 return fps.subPath.GetSingleRaw(source.GetResolvedKvs()[0]) 1606 default: 1607 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fps.selector)) 1608 } 1609 } 1610 1611 func (fps *BucketResolvedKeysWithValues_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1612 return fps.GetSingle(source.(*Bucket_ResolvedKeysWithValues)) 1613 } 1614 1615 // GetDefault returns a default value of the field type 1616 func (fps *BucketResolvedKeysWithValues_FieldSubPath) GetDefault() interface{} { 1617 return fps.subPath.GetDefault() 1618 } 1619 1620 func (fps *BucketResolvedKeysWithValues_FieldSubPath) ClearValue(item *Bucket_ResolvedKeysWithValues) { 1621 if item != nil { 1622 switch fps.selector { 1623 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1624 for _, subItem := range item.ResolvedKvs { 1625 fps.subPath.ClearValueRaw(subItem) 1626 } 1627 default: 1628 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fps.selector)) 1629 } 1630 } 1631 } 1632 1633 func (fps *BucketResolvedKeysWithValues_FieldSubPath) ClearValueRaw(item proto.Message) { 1634 fps.ClearValue(item.(*Bucket_ResolvedKeysWithValues)) 1635 } 1636 1637 // IsLeaf - whether field path is holds simple value 1638 func (fps *BucketResolvedKeysWithValues_FieldSubPath) IsLeaf() bool { 1639 return fps.subPath.IsLeaf() 1640 } 1641 1642 func (fps *BucketResolvedKeysWithValues_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1643 iPaths := []gotenobject.FieldPath{&BucketResolvedKeysWithValues_FieldTerminalPath{selector: fps.selector}} 1644 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 1645 return iPaths 1646 } 1647 1648 func (fps *BucketResolvedKeysWithValues_FieldSubPath) WithIValue(value interface{}) BucketResolvedKeysWithValues_FieldPathValue { 1649 return &BucketResolvedKeysWithValues_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 1650 } 1651 1652 func (fps *BucketResolvedKeysWithValues_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1653 return fps.WithIValue(value) 1654 } 1655 1656 func (fps *BucketResolvedKeysWithValues_FieldSubPath) WithIArrayOfValues(values interface{}) BucketResolvedKeysWithValues_FieldPathArrayOfValues { 1657 return &BucketResolvedKeysWithValues_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 1658 } 1659 1660 func (fps *BucketResolvedKeysWithValues_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1661 return fps.WithIArrayOfValues(values) 1662 } 1663 1664 func (fps *BucketResolvedKeysWithValues_FieldSubPath) WithIArrayItemValue(value interface{}) BucketResolvedKeysWithValues_FieldPathArrayItemValue { 1665 return &BucketResolvedKeysWithValues_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 1666 } 1667 1668 func (fps *BucketResolvedKeysWithValues_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1669 return fps.WithIArrayItemValue(value) 1670 } 1671 1672 // BucketResolvedKeysWithValues_FieldPathValue allows storing values for ResolvedKeysWithValues fields according to their type 1673 type BucketResolvedKeysWithValues_FieldPathValue interface { 1674 BucketResolvedKeysWithValues_FieldPath 1675 gotenobject.FieldPathValue 1676 SetTo(target **Bucket_ResolvedKeysWithValues) 1677 CompareWith(*Bucket_ResolvedKeysWithValues) (cmp int, comparable bool) 1678 } 1679 1680 func ParseBucketResolvedKeysWithValues_FieldPathValue(pathStr, valueStr string) (BucketResolvedKeysWithValues_FieldPathValue, error) { 1681 fp, err := ParseBucketResolvedKeysWithValues_FieldPath(pathStr) 1682 if err != nil { 1683 return nil, err 1684 } 1685 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 1686 if err != nil { 1687 return nil, status.Errorf(codes.InvalidArgument, "error parsing ResolvedKeysWithValues field path value from %s: %v", valueStr, err) 1688 } 1689 return fpv.(BucketResolvedKeysWithValues_FieldPathValue), nil 1690 } 1691 1692 func MustParseBucketResolvedKeysWithValues_FieldPathValue(pathStr, valueStr string) BucketResolvedKeysWithValues_FieldPathValue { 1693 fpv, err := ParseBucketResolvedKeysWithValues_FieldPathValue(pathStr, valueStr) 1694 if err != nil { 1695 panic(err) 1696 } 1697 return fpv 1698 } 1699 1700 type BucketResolvedKeysWithValues_FieldTerminalPathValue struct { 1701 BucketResolvedKeysWithValues_FieldTerminalPath 1702 value interface{} 1703 } 1704 1705 var _ BucketResolvedKeysWithValues_FieldPathValue = (*BucketResolvedKeysWithValues_FieldTerminalPathValue)(nil) 1706 1707 // GetRawValue returns raw value stored under selected path for 'ResolvedKeysWithValues' as interface{} 1708 func (fpv *BucketResolvedKeysWithValues_FieldTerminalPathValue) GetRawValue() interface{} { 1709 return fpv.value 1710 } 1711 func (fpv *BucketResolvedKeysWithValues_FieldTerminalPathValue) AsResolvedKvsValue() ([]*Bucket_ResolvedValues, bool) { 1712 res, ok := fpv.value.([]*Bucket_ResolvedValues) 1713 return res, ok 1714 } 1715 1716 // SetTo stores value for selected field for object ResolvedKeysWithValues 1717 func (fpv *BucketResolvedKeysWithValues_FieldTerminalPathValue) SetTo(target **Bucket_ResolvedKeysWithValues) { 1718 if *target == nil { 1719 *target = new(Bucket_ResolvedKeysWithValues) 1720 } 1721 switch fpv.selector { 1722 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1723 (*target).ResolvedKvs = fpv.value.([]*Bucket_ResolvedValues) 1724 default: 1725 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fpv.selector)) 1726 } 1727 } 1728 1729 func (fpv *BucketResolvedKeysWithValues_FieldTerminalPathValue) SetToRaw(target proto.Message) { 1730 typedObject := target.(*Bucket_ResolvedKeysWithValues) 1731 fpv.SetTo(&typedObject) 1732 } 1733 1734 // CompareWith compares value in the 'BucketResolvedKeysWithValues_FieldTerminalPathValue' with the value under path in 'Bucket_ResolvedKeysWithValues'. 1735 func (fpv *BucketResolvedKeysWithValues_FieldTerminalPathValue) CompareWith(source *Bucket_ResolvedKeysWithValues) (int, bool) { 1736 switch fpv.selector { 1737 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1738 return 0, false 1739 default: 1740 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fpv.selector)) 1741 } 1742 } 1743 1744 func (fpv *BucketResolvedKeysWithValues_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1745 return fpv.CompareWith(source.(*Bucket_ResolvedKeysWithValues)) 1746 } 1747 1748 type BucketResolvedKeysWithValues_FieldSubPathValue struct { 1749 BucketResolvedKeysWithValues_FieldPath 1750 subPathValue gotenobject.FieldPathValue 1751 } 1752 1753 var _ BucketResolvedKeysWithValues_FieldPathValue = (*BucketResolvedKeysWithValues_FieldSubPathValue)(nil) 1754 1755 func (fpvs *BucketResolvedKeysWithValues_FieldSubPathValue) AsResolvedKvsPathValue() (BucketResolvedValues_FieldPathValue, bool) { 1756 res, ok := fpvs.subPathValue.(BucketResolvedValues_FieldPathValue) 1757 return res, ok 1758 } 1759 1760 func (fpvs *BucketResolvedKeysWithValues_FieldSubPathValue) SetTo(target **Bucket_ResolvedKeysWithValues) { 1761 if *target == nil { 1762 *target = new(Bucket_ResolvedKeysWithValues) 1763 } 1764 switch fpvs.Selector() { 1765 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1766 panic("FieldPath setter is unsupported for array subpaths") 1767 default: 1768 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fpvs.Selector())) 1769 } 1770 } 1771 1772 func (fpvs *BucketResolvedKeysWithValues_FieldSubPathValue) SetToRaw(target proto.Message) { 1773 typedObject := target.(*Bucket_ResolvedKeysWithValues) 1774 fpvs.SetTo(&typedObject) 1775 } 1776 1777 func (fpvs *BucketResolvedKeysWithValues_FieldSubPathValue) GetRawValue() interface{} { 1778 return fpvs.subPathValue.GetRawValue() 1779 } 1780 1781 func (fpvs *BucketResolvedKeysWithValues_FieldSubPathValue) CompareWith(source *Bucket_ResolvedKeysWithValues) (int, bool) { 1782 switch fpvs.Selector() { 1783 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1784 return 0, false // repeated field 1785 default: 1786 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fpvs.Selector())) 1787 } 1788 } 1789 1790 func (fpvs *BucketResolvedKeysWithValues_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1791 return fpvs.CompareWith(source.(*Bucket_ResolvedKeysWithValues)) 1792 } 1793 1794 // BucketResolvedKeysWithValues_FieldPathArrayItemValue allows storing single item in Path-specific values for ResolvedKeysWithValues according to their type 1795 // Present only for array (repeated) types. 1796 type BucketResolvedKeysWithValues_FieldPathArrayItemValue interface { 1797 gotenobject.FieldPathArrayItemValue 1798 BucketResolvedKeysWithValues_FieldPath 1799 ContainsValue(*Bucket_ResolvedKeysWithValues) bool 1800 } 1801 1802 // ParseBucketResolvedKeysWithValues_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 1803 func ParseBucketResolvedKeysWithValues_FieldPathArrayItemValue(pathStr, valueStr string) (BucketResolvedKeysWithValues_FieldPathArrayItemValue, error) { 1804 fp, err := ParseBucketResolvedKeysWithValues_FieldPath(pathStr) 1805 if err != nil { 1806 return nil, err 1807 } 1808 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 1809 if err != nil { 1810 return nil, status.Errorf(codes.InvalidArgument, "error parsing ResolvedKeysWithValues field path array item value from %s: %v", valueStr, err) 1811 } 1812 return fpaiv.(BucketResolvedKeysWithValues_FieldPathArrayItemValue), nil 1813 } 1814 1815 func MustParseBucketResolvedKeysWithValues_FieldPathArrayItemValue(pathStr, valueStr string) BucketResolvedKeysWithValues_FieldPathArrayItemValue { 1816 fpaiv, err := ParseBucketResolvedKeysWithValues_FieldPathArrayItemValue(pathStr, valueStr) 1817 if err != nil { 1818 panic(err) 1819 } 1820 return fpaiv 1821 } 1822 1823 type BucketResolvedKeysWithValues_FieldTerminalPathArrayItemValue struct { 1824 BucketResolvedKeysWithValues_FieldTerminalPath 1825 value interface{} 1826 } 1827 1828 var _ BucketResolvedKeysWithValues_FieldPathArrayItemValue = (*BucketResolvedKeysWithValues_FieldTerminalPathArrayItemValue)(nil) 1829 1830 // GetRawValue returns stored element value for array in object Bucket_ResolvedKeysWithValues as interface{} 1831 func (fpaiv *BucketResolvedKeysWithValues_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 1832 return fpaiv.value 1833 } 1834 func (fpaiv *BucketResolvedKeysWithValues_FieldTerminalPathArrayItemValue) AsResolvedKvsItemValue() (*Bucket_ResolvedValues, bool) { 1835 res, ok := fpaiv.value.(*Bucket_ResolvedValues) 1836 return res, ok 1837 } 1838 1839 func (fpaiv *BucketResolvedKeysWithValues_FieldTerminalPathArrayItemValue) GetSingle(source *Bucket_ResolvedKeysWithValues) (interface{}, bool) { 1840 return nil, false 1841 } 1842 1843 func (fpaiv *BucketResolvedKeysWithValues_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 1844 return fpaiv.GetSingle(source.(*Bucket_ResolvedKeysWithValues)) 1845 } 1846 1847 // Contains returns a boolean indicating if value that is being held is present in given 'ResolvedKeysWithValues' 1848 func (fpaiv *BucketResolvedKeysWithValues_FieldTerminalPathArrayItemValue) ContainsValue(source *Bucket_ResolvedKeysWithValues) bool { 1849 slice := fpaiv.BucketResolvedKeysWithValues_FieldTerminalPath.Get(source) 1850 for _, v := range slice { 1851 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 1852 if proto.Equal(asProtoMsg, v.(proto.Message)) { 1853 return true 1854 } 1855 } else if reflect.DeepEqual(v, fpaiv.value) { 1856 return true 1857 } 1858 } 1859 return false 1860 } 1861 1862 type BucketResolvedKeysWithValues_FieldSubPathArrayItemValue struct { 1863 BucketResolvedKeysWithValues_FieldPath 1864 subPathItemValue gotenobject.FieldPathArrayItemValue 1865 } 1866 1867 // GetRawValue returns stored array item value 1868 func (fpaivs *BucketResolvedKeysWithValues_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 1869 return fpaivs.subPathItemValue.GetRawItemValue() 1870 } 1871 func (fpaivs *BucketResolvedKeysWithValues_FieldSubPathArrayItemValue) AsResolvedKvsPathItemValue() (BucketResolvedValues_FieldPathArrayItemValue, bool) { 1872 res, ok := fpaivs.subPathItemValue.(BucketResolvedValues_FieldPathArrayItemValue) 1873 return res, ok 1874 } 1875 1876 // Contains returns a boolean indicating if value that is being held is present in given 'ResolvedKeysWithValues' 1877 func (fpaivs *BucketResolvedKeysWithValues_FieldSubPathArrayItemValue) ContainsValue(source *Bucket_ResolvedKeysWithValues) bool { 1878 switch fpaivs.Selector() { 1879 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1880 return false // repeated/map field 1881 default: 1882 panic(fmt.Sprintf("Invalid selector for Bucket_ResolvedKeysWithValues: %d", fpaivs.Selector())) 1883 } 1884 } 1885 1886 // BucketResolvedKeysWithValues_FieldPathArrayOfValues allows storing slice of values for ResolvedKeysWithValues fields according to their type 1887 type BucketResolvedKeysWithValues_FieldPathArrayOfValues interface { 1888 gotenobject.FieldPathArrayOfValues 1889 BucketResolvedKeysWithValues_FieldPath 1890 } 1891 1892 func ParseBucketResolvedKeysWithValues_FieldPathArrayOfValues(pathStr, valuesStr string) (BucketResolvedKeysWithValues_FieldPathArrayOfValues, error) { 1893 fp, err := ParseBucketResolvedKeysWithValues_FieldPath(pathStr) 1894 if err != nil { 1895 return nil, err 1896 } 1897 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 1898 if err != nil { 1899 return nil, status.Errorf(codes.InvalidArgument, "error parsing ResolvedKeysWithValues field path array of values from %s: %v", valuesStr, err) 1900 } 1901 return fpaov.(BucketResolvedKeysWithValues_FieldPathArrayOfValues), nil 1902 } 1903 1904 func MustParseBucketResolvedKeysWithValues_FieldPathArrayOfValues(pathStr, valuesStr string) BucketResolvedKeysWithValues_FieldPathArrayOfValues { 1905 fpaov, err := ParseBucketResolvedKeysWithValues_FieldPathArrayOfValues(pathStr, valuesStr) 1906 if err != nil { 1907 panic(err) 1908 } 1909 return fpaov 1910 } 1911 1912 type BucketResolvedKeysWithValues_FieldTerminalPathArrayOfValues struct { 1913 BucketResolvedKeysWithValues_FieldTerminalPath 1914 values interface{} 1915 } 1916 1917 var _ BucketResolvedKeysWithValues_FieldPathArrayOfValues = (*BucketResolvedKeysWithValues_FieldTerminalPathArrayOfValues)(nil) 1918 1919 func (fpaov *BucketResolvedKeysWithValues_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 1920 switch fpaov.selector { 1921 case BucketResolvedKeysWithValues_FieldPathSelectorResolvedKvs: 1922 for _, v := range fpaov.values.([][]*Bucket_ResolvedValues) { 1923 values = append(values, v) 1924 } 1925 } 1926 return 1927 } 1928 func (fpaov *BucketResolvedKeysWithValues_FieldTerminalPathArrayOfValues) AsResolvedKvsArrayOfValues() ([][]*Bucket_ResolvedValues, bool) { 1929 res, ok := fpaov.values.([][]*Bucket_ResolvedValues) 1930 return res, ok 1931 } 1932 1933 type BucketResolvedKeysWithValues_FieldSubPathArrayOfValues struct { 1934 BucketResolvedKeysWithValues_FieldPath 1935 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 1936 } 1937 1938 var _ BucketResolvedKeysWithValues_FieldPathArrayOfValues = (*BucketResolvedKeysWithValues_FieldSubPathArrayOfValues)(nil) 1939 1940 func (fpsaov *BucketResolvedKeysWithValues_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 1941 return fpsaov.subPathArrayOfValues.GetRawValues() 1942 } 1943 func (fpsaov *BucketResolvedKeysWithValues_FieldSubPathArrayOfValues) AsResolvedKvsPathArrayOfValues() (BucketResolvedValues_FieldPathArrayOfValues, bool) { 1944 res, ok := fpsaov.subPathArrayOfValues.(BucketResolvedValues_FieldPathArrayOfValues) 1945 return res, ok 1946 } 1947 1948 // FieldPath provides implementation to handle 1949 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 1950 type BucketRequiredTypedLabels_FieldPath interface { 1951 gotenobject.FieldPath 1952 Selector() BucketRequiredTypedLabels_FieldPathSelector 1953 Get(source *Bucket_RequiredTypedLabels) []interface{} 1954 GetSingle(source *Bucket_RequiredTypedLabels) (interface{}, bool) 1955 ClearValue(item *Bucket_RequiredTypedLabels) 1956 1957 // Those methods build corresponding BucketRequiredTypedLabels_FieldPathValue 1958 // (or array of values) and holds passed value. Panics if injected type is incorrect. 1959 WithIValue(value interface{}) BucketRequiredTypedLabels_FieldPathValue 1960 WithIArrayOfValues(values interface{}) BucketRequiredTypedLabels_FieldPathArrayOfValues 1961 WithIArrayItemValue(value interface{}) BucketRequiredTypedLabels_FieldPathArrayItemValue 1962 } 1963 1964 type BucketRequiredTypedLabels_FieldPathSelector int32 1965 1966 const ( 1967 BucketRequiredTypedLabels_FieldPathSelectorTypes BucketRequiredTypedLabels_FieldPathSelector = 0 1968 BucketRequiredTypedLabels_FieldPathSelectorLabels BucketRequiredTypedLabels_FieldPathSelector = 1 1969 ) 1970 1971 func (s BucketRequiredTypedLabels_FieldPathSelector) String() string { 1972 switch s { 1973 case BucketRequiredTypedLabels_FieldPathSelectorTypes: 1974 return "types" 1975 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 1976 return "labels" 1977 default: 1978 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", s)) 1979 } 1980 } 1981 1982 func BuildBucketRequiredTypedLabels_FieldPath(fp gotenobject.RawFieldPath) (BucketRequiredTypedLabels_FieldPath, error) { 1983 if len(fp) == 0 { 1984 return nil, status.Error(codes.InvalidArgument, "empty field path for object Bucket_RequiredTypedLabels") 1985 } 1986 if len(fp) == 1 { 1987 switch fp[0] { 1988 case "types": 1989 return &BucketRequiredTypedLabels_FieldTerminalPath{selector: BucketRequiredTypedLabels_FieldPathSelectorTypes}, nil 1990 case "labels": 1991 return &BucketRequiredTypedLabels_FieldTerminalPath{selector: BucketRequiredTypedLabels_FieldPathSelectorLabels}, nil 1992 } 1993 } else { 1994 switch fp[0] { 1995 case "labels": 1996 if len(fp) > 2 { 1997 return nil, status.Errorf(codes.InvalidArgument, "sub path for maps ('%s') are not supported (object Bucket_RequiredTypedLabels)", fp) 1998 } 1999 return &BucketRequiredTypedLabels_FieldPathMap{selector: BucketRequiredTypedLabels_FieldPathSelectorLabels, key: fp[1]}, nil 2000 } 2001 } 2002 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Bucket_RequiredTypedLabels", fp) 2003 } 2004 2005 func ParseBucketRequiredTypedLabels_FieldPath(rawField string) (BucketRequiredTypedLabels_FieldPath, error) { 2006 fp, err := gotenobject.ParseRawFieldPath(rawField) 2007 if err != nil { 2008 return nil, err 2009 } 2010 return BuildBucketRequiredTypedLabels_FieldPath(fp) 2011 } 2012 2013 func MustParseBucketRequiredTypedLabels_FieldPath(rawField string) BucketRequiredTypedLabels_FieldPath { 2014 fp, err := ParseBucketRequiredTypedLabels_FieldPath(rawField) 2015 if err != nil { 2016 panic(err) 2017 } 2018 return fp 2019 } 2020 2021 type BucketRequiredTypedLabels_FieldTerminalPath struct { 2022 selector BucketRequiredTypedLabels_FieldPathSelector 2023 } 2024 2025 var _ BucketRequiredTypedLabels_FieldPath = (*BucketRequiredTypedLabels_FieldTerminalPath)(nil) 2026 2027 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) Selector() BucketRequiredTypedLabels_FieldPathSelector { 2028 return fp.selector 2029 } 2030 2031 // String returns path representation in proto convention 2032 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) String() string { 2033 return fp.selector.String() 2034 } 2035 2036 // JSONString returns path representation is JSON convention 2037 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) JSONString() string { 2038 return strcase.ToLowerCamel(fp.String()) 2039 } 2040 2041 // Get returns all values pointed by specific field from source Bucket_RequiredTypedLabels 2042 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) Get(source *Bucket_RequiredTypedLabels) (values []interface{}) { 2043 if source != nil { 2044 switch fp.selector { 2045 case BucketRequiredTypedLabels_FieldPathSelectorTypes: 2046 for _, value := range source.GetTypes() { 2047 values = append(values, value) 2048 } 2049 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2050 if source.Labels != nil { 2051 values = append(values, source.Labels) 2052 } 2053 default: 2054 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fp.selector)) 2055 } 2056 } 2057 return 2058 } 2059 2060 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 2061 return fp.Get(source.(*Bucket_RequiredTypedLabels)) 2062 } 2063 2064 // GetSingle returns value pointed by specific field of from source Bucket_RequiredTypedLabels 2065 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) GetSingle(source *Bucket_RequiredTypedLabels) (interface{}, bool) { 2066 switch fp.selector { 2067 case BucketRequiredTypedLabels_FieldPathSelectorTypes: 2068 res := source.GetTypes() 2069 return res, res != nil 2070 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2071 res := source.GetLabels() 2072 return res, res != nil 2073 default: 2074 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fp.selector)) 2075 } 2076 } 2077 2078 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 2079 return fp.GetSingle(source.(*Bucket_RequiredTypedLabels)) 2080 } 2081 2082 // GetDefault returns a default value of the field type 2083 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) GetDefault() interface{} { 2084 switch fp.selector { 2085 case BucketRequiredTypedLabels_FieldPathSelectorTypes: 2086 return ([]string)(nil) 2087 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2088 return (map[string]*Bucket_RequiredTypedLabels_Strings)(nil) 2089 default: 2090 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fp.selector)) 2091 } 2092 } 2093 2094 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) ClearValue(item *Bucket_RequiredTypedLabels) { 2095 if item != nil { 2096 switch fp.selector { 2097 case BucketRequiredTypedLabels_FieldPathSelectorTypes: 2098 item.Types = nil 2099 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2100 item.Labels = nil 2101 default: 2102 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fp.selector)) 2103 } 2104 } 2105 } 2106 2107 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) ClearValueRaw(item proto.Message) { 2108 fp.ClearValue(item.(*Bucket_RequiredTypedLabels)) 2109 } 2110 2111 // IsLeaf - whether field path is holds simple value 2112 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) IsLeaf() bool { 2113 return fp.selector == BucketRequiredTypedLabels_FieldPathSelectorTypes 2114 } 2115 2116 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 2117 return []gotenobject.FieldPath{fp} 2118 } 2119 2120 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) WithIValue(value interface{}) BucketRequiredTypedLabels_FieldPathValue { 2121 switch fp.selector { 2122 case BucketRequiredTypedLabels_FieldPathSelectorTypes: 2123 return &BucketRequiredTypedLabels_FieldTerminalPathValue{BucketRequiredTypedLabels_FieldTerminalPath: *fp, value: value.([]string)} 2124 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2125 return &BucketRequiredTypedLabels_FieldTerminalPathValue{BucketRequiredTypedLabels_FieldTerminalPath: *fp, value: value.(map[string]*Bucket_RequiredTypedLabels_Strings)} 2126 default: 2127 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fp.selector)) 2128 } 2129 } 2130 2131 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 2132 return fp.WithIValue(value) 2133 } 2134 2135 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) WithIArrayOfValues(values interface{}) BucketRequiredTypedLabels_FieldPathArrayOfValues { 2136 fpaov := &BucketRequiredTypedLabels_FieldTerminalPathArrayOfValues{BucketRequiredTypedLabels_FieldTerminalPath: *fp} 2137 switch fp.selector { 2138 case BucketRequiredTypedLabels_FieldPathSelectorTypes: 2139 return &BucketRequiredTypedLabels_FieldTerminalPathArrayOfValues{BucketRequiredTypedLabels_FieldTerminalPath: *fp, values: values.([][]string)} 2140 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2141 return &BucketRequiredTypedLabels_FieldTerminalPathArrayOfValues{BucketRequiredTypedLabels_FieldTerminalPath: *fp, values: values.([]map[string]*Bucket_RequiredTypedLabels_Strings)} 2142 default: 2143 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fp.selector)) 2144 } 2145 return fpaov 2146 } 2147 2148 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 2149 return fp.WithIArrayOfValues(values) 2150 } 2151 2152 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) WithIArrayItemValue(value interface{}) BucketRequiredTypedLabels_FieldPathArrayItemValue { 2153 switch fp.selector { 2154 case BucketRequiredTypedLabels_FieldPathSelectorTypes: 2155 return &BucketRequiredTypedLabels_FieldTerminalPathArrayItemValue{BucketRequiredTypedLabels_FieldTerminalPath: *fp, value: value.(string)} 2156 default: 2157 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fp.selector)) 2158 } 2159 } 2160 2161 func (fp *BucketRequiredTypedLabels_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 2162 return fp.WithIArrayItemValue(value) 2163 } 2164 2165 // FieldPath for map type with additional Key information 2166 type BucketRequiredTypedLabels_FieldPathMap struct { 2167 key string 2168 selector BucketRequiredTypedLabels_FieldPathSelector 2169 } 2170 2171 var _ BucketRequiredTypedLabels_FieldPath = (*BucketRequiredTypedLabels_FieldPathMap)(nil) 2172 2173 func (fpm *BucketRequiredTypedLabels_FieldPathMap) Selector() BucketRequiredTypedLabels_FieldPathSelector { 2174 return fpm.selector 2175 } 2176 2177 func (fpm *BucketRequiredTypedLabels_FieldPathMap) Key() string { 2178 return fpm.key 2179 } 2180 2181 // String returns path representation in proto convention 2182 func (fpm *BucketRequiredTypedLabels_FieldPathMap) String() string { 2183 return fpm.selector.String() + "." + fpm.key 2184 } 2185 2186 // JSONString returns path representation is JSON convention. Note that map keys are not transformed 2187 func (fpm *BucketRequiredTypedLabels_FieldPathMap) JSONString() string { 2188 return strcase.ToLowerCamel(fpm.selector.String()) + "." + fpm.key 2189 } 2190 2191 // Get returns all values pointed by selected field map key from source Bucket_RequiredTypedLabels 2192 func (fpm *BucketRequiredTypedLabels_FieldPathMap) Get(source *Bucket_RequiredTypedLabels) (values []interface{}) { 2193 switch fpm.selector { 2194 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2195 if value, ok := source.GetLabels()[fpm.key]; ok { 2196 values = append(values, value) 2197 } 2198 default: 2199 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fpm.selector)) 2200 } 2201 return 2202 } 2203 2204 func (fpm *BucketRequiredTypedLabels_FieldPathMap) GetRaw(source proto.Message) []interface{} { 2205 return fpm.Get(source.(*Bucket_RequiredTypedLabels)) 2206 } 2207 2208 // GetSingle returns value by selected field map key from source Bucket_RequiredTypedLabels 2209 func (fpm *BucketRequiredTypedLabels_FieldPathMap) GetSingle(source *Bucket_RequiredTypedLabels) (interface{}, bool) { 2210 switch fpm.selector { 2211 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2212 res, ok := source.GetLabels()[fpm.key] 2213 return res, ok 2214 default: 2215 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fpm.selector)) 2216 } 2217 } 2218 2219 func (fpm *BucketRequiredTypedLabels_FieldPathMap) GetSingleRaw(source proto.Message) (interface{}, bool) { 2220 return fpm.GetSingle(source.(*Bucket_RequiredTypedLabels)) 2221 } 2222 2223 // GetDefault returns a default value of the field type 2224 func (fpm *BucketRequiredTypedLabels_FieldPathMap) GetDefault() interface{} { 2225 switch fpm.selector { 2226 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2227 var v *Bucket_RequiredTypedLabels_Strings 2228 return v 2229 default: 2230 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fpm.selector)) 2231 } 2232 } 2233 2234 func (fpm *BucketRequiredTypedLabels_FieldPathMap) ClearValue(item *Bucket_RequiredTypedLabels) { 2235 if item != nil { 2236 switch fpm.selector { 2237 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2238 delete(item.Labels, fpm.key) 2239 default: 2240 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fpm.selector)) 2241 } 2242 } 2243 } 2244 2245 func (fpm *BucketRequiredTypedLabels_FieldPathMap) ClearValueRaw(item proto.Message) { 2246 fpm.ClearValue(item.(*Bucket_RequiredTypedLabels)) 2247 } 2248 2249 // IsLeaf - whether field path is holds simple value 2250 func (fpm *BucketRequiredTypedLabels_FieldPathMap) IsLeaf() bool { 2251 switch fpm.selector { 2252 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2253 return false 2254 default: 2255 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fpm.selector)) 2256 } 2257 } 2258 2259 func (fpm *BucketRequiredTypedLabels_FieldPathMap) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 2260 return []gotenobject.FieldPath{fpm} 2261 } 2262 2263 func (fpm *BucketRequiredTypedLabels_FieldPathMap) WithIValue(value interface{}) BucketRequiredTypedLabels_FieldPathValue { 2264 switch fpm.selector { 2265 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2266 return &BucketRequiredTypedLabels_FieldPathMapValue{BucketRequiredTypedLabels_FieldPathMap: *fpm, value: value.(*Bucket_RequiredTypedLabels_Strings)} 2267 default: 2268 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fpm.selector)) 2269 } 2270 } 2271 2272 func (fpm *BucketRequiredTypedLabels_FieldPathMap) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 2273 return fpm.WithIValue(value) 2274 } 2275 2276 func (fpm *BucketRequiredTypedLabels_FieldPathMap) WithIArrayOfValues(values interface{}) BucketRequiredTypedLabels_FieldPathArrayOfValues { 2277 switch fpm.selector { 2278 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2279 return &BucketRequiredTypedLabels_FieldPathMapArrayOfValues{BucketRequiredTypedLabels_FieldPathMap: *fpm, values: values.([]*Bucket_RequiredTypedLabels_Strings)} 2280 default: 2281 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fpm.selector)) 2282 } 2283 } 2284 2285 func (fpm *BucketRequiredTypedLabels_FieldPathMap) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 2286 return fpm.WithIArrayOfValues(values) 2287 } 2288 2289 func (fpm *BucketRequiredTypedLabels_FieldPathMap) WithIArrayItemValue(value interface{}) BucketRequiredTypedLabels_FieldPathArrayItemValue { 2290 panic("Cannot create array item value from map fieldpath") 2291 } 2292 2293 func (fpm *BucketRequiredTypedLabels_FieldPathMap) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 2294 return fpm.WithIArrayItemValue(value) 2295 } 2296 2297 // BucketRequiredTypedLabels_FieldPathValue allows storing values for RequiredTypedLabels fields according to their type 2298 type BucketRequiredTypedLabels_FieldPathValue interface { 2299 BucketRequiredTypedLabels_FieldPath 2300 gotenobject.FieldPathValue 2301 SetTo(target **Bucket_RequiredTypedLabels) 2302 CompareWith(*Bucket_RequiredTypedLabels) (cmp int, comparable bool) 2303 } 2304 2305 func ParseBucketRequiredTypedLabels_FieldPathValue(pathStr, valueStr string) (BucketRequiredTypedLabels_FieldPathValue, error) { 2306 fp, err := ParseBucketRequiredTypedLabels_FieldPath(pathStr) 2307 if err != nil { 2308 return nil, err 2309 } 2310 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 2311 if err != nil { 2312 return nil, status.Errorf(codes.InvalidArgument, "error parsing RequiredTypedLabels field path value from %s: %v", valueStr, err) 2313 } 2314 return fpv.(BucketRequiredTypedLabels_FieldPathValue), nil 2315 } 2316 2317 func MustParseBucketRequiredTypedLabels_FieldPathValue(pathStr, valueStr string) BucketRequiredTypedLabels_FieldPathValue { 2318 fpv, err := ParseBucketRequiredTypedLabels_FieldPathValue(pathStr, valueStr) 2319 if err != nil { 2320 panic(err) 2321 } 2322 return fpv 2323 } 2324 2325 type BucketRequiredTypedLabels_FieldTerminalPathValue struct { 2326 BucketRequiredTypedLabels_FieldTerminalPath 2327 value interface{} 2328 } 2329 2330 var _ BucketRequiredTypedLabels_FieldPathValue = (*BucketRequiredTypedLabels_FieldTerminalPathValue)(nil) 2331 2332 // GetRawValue returns raw value stored under selected path for 'RequiredTypedLabels' as interface{} 2333 func (fpv *BucketRequiredTypedLabels_FieldTerminalPathValue) GetRawValue() interface{} { 2334 return fpv.value 2335 } 2336 func (fpv *BucketRequiredTypedLabels_FieldTerminalPathValue) AsTypesValue() ([]string, bool) { 2337 res, ok := fpv.value.([]string) 2338 return res, ok 2339 } 2340 func (fpv *BucketRequiredTypedLabels_FieldTerminalPathValue) AsLabelsValue() (map[string]*Bucket_RequiredTypedLabels_Strings, bool) { 2341 res, ok := fpv.value.(map[string]*Bucket_RequiredTypedLabels_Strings) 2342 return res, ok 2343 } 2344 2345 // SetTo stores value for selected field for object RequiredTypedLabels 2346 func (fpv *BucketRequiredTypedLabels_FieldTerminalPathValue) SetTo(target **Bucket_RequiredTypedLabels) { 2347 if *target == nil { 2348 *target = new(Bucket_RequiredTypedLabels) 2349 } 2350 switch fpv.selector { 2351 case BucketRequiredTypedLabels_FieldPathSelectorTypes: 2352 (*target).Types = fpv.value.([]string) 2353 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2354 (*target).Labels = fpv.value.(map[string]*Bucket_RequiredTypedLabels_Strings) 2355 default: 2356 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fpv.selector)) 2357 } 2358 } 2359 2360 func (fpv *BucketRequiredTypedLabels_FieldTerminalPathValue) SetToRaw(target proto.Message) { 2361 typedObject := target.(*Bucket_RequiredTypedLabels) 2362 fpv.SetTo(&typedObject) 2363 } 2364 2365 // CompareWith compares value in the 'BucketRequiredTypedLabels_FieldTerminalPathValue' with the value under path in 'Bucket_RequiredTypedLabels'. 2366 func (fpv *BucketRequiredTypedLabels_FieldTerminalPathValue) CompareWith(source *Bucket_RequiredTypedLabels) (int, bool) { 2367 switch fpv.selector { 2368 case BucketRequiredTypedLabels_FieldPathSelectorTypes: 2369 return 0, false 2370 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2371 return 0, false 2372 default: 2373 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fpv.selector)) 2374 } 2375 } 2376 2377 func (fpv *BucketRequiredTypedLabels_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 2378 return fpv.CompareWith(source.(*Bucket_RequiredTypedLabels)) 2379 } 2380 2381 type BucketRequiredTypedLabels_FieldPathMapValue struct { 2382 BucketRequiredTypedLabels_FieldPathMap 2383 value interface{} 2384 } 2385 2386 var _ BucketRequiredTypedLabels_FieldPathValue = (*BucketRequiredTypedLabels_FieldPathMapValue)(nil) 2387 2388 // GetValue returns value stored under selected field in RequiredTypedLabels as interface{} 2389 func (fpmv *BucketRequiredTypedLabels_FieldPathMapValue) GetRawValue() interface{} { 2390 return fpmv.value 2391 } 2392 func (fpmv *BucketRequiredTypedLabels_FieldPathMapValue) AsLabelsElementValue() (*Bucket_RequiredTypedLabels_Strings, bool) { 2393 res, ok := fpmv.value.(*Bucket_RequiredTypedLabels_Strings) 2394 return res, ok 2395 } 2396 2397 // SetTo stores value for selected field in RequiredTypedLabels 2398 func (fpmv *BucketRequiredTypedLabels_FieldPathMapValue) SetTo(target **Bucket_RequiredTypedLabels) { 2399 if *target == nil { 2400 *target = new(Bucket_RequiredTypedLabels) 2401 } 2402 switch fpmv.selector { 2403 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2404 if (*target).Labels == nil { 2405 (*target).Labels = make(map[string]*Bucket_RequiredTypedLabels_Strings) 2406 } 2407 (*target).Labels[fpmv.key] = fpmv.value.(*Bucket_RequiredTypedLabels_Strings) 2408 default: 2409 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fpmv.selector)) 2410 } 2411 } 2412 2413 func (fpmv *BucketRequiredTypedLabels_FieldPathMapValue) SetToRaw(target proto.Message) { 2414 typedObject := target.(*Bucket_RequiredTypedLabels) 2415 fpmv.SetTo(&typedObject) 2416 } 2417 2418 // CompareWith compares value in the 'BucketRequiredTypedLabels_FieldPathMapValue' with the value under path in 'Bucket_RequiredTypedLabels'. 2419 func (fpmv *BucketRequiredTypedLabels_FieldPathMapValue) CompareWith(source *Bucket_RequiredTypedLabels) (int, bool) { 2420 switch fpmv.selector { 2421 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2422 return 0, false 2423 default: 2424 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels: %d", fpmv.selector)) 2425 } 2426 } 2427 2428 func (fpmv *BucketRequiredTypedLabels_FieldPathMapValue) CompareWithRaw(source proto.Message) (int, bool) { 2429 return fpmv.CompareWith(source.(*Bucket_RequiredTypedLabels)) 2430 } 2431 2432 // BucketRequiredTypedLabels_FieldPathArrayItemValue allows storing single item in Path-specific values for RequiredTypedLabels according to their type 2433 // Present only for array (repeated) types. 2434 type BucketRequiredTypedLabels_FieldPathArrayItemValue interface { 2435 gotenobject.FieldPathArrayItemValue 2436 BucketRequiredTypedLabels_FieldPath 2437 ContainsValue(*Bucket_RequiredTypedLabels) bool 2438 } 2439 2440 // ParseBucketRequiredTypedLabels_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 2441 func ParseBucketRequiredTypedLabels_FieldPathArrayItemValue(pathStr, valueStr string) (BucketRequiredTypedLabels_FieldPathArrayItemValue, error) { 2442 fp, err := ParseBucketRequiredTypedLabels_FieldPath(pathStr) 2443 if err != nil { 2444 return nil, err 2445 } 2446 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 2447 if err != nil { 2448 return nil, status.Errorf(codes.InvalidArgument, "error parsing RequiredTypedLabels field path array item value from %s: %v", valueStr, err) 2449 } 2450 return fpaiv.(BucketRequiredTypedLabels_FieldPathArrayItemValue), nil 2451 } 2452 2453 func MustParseBucketRequiredTypedLabels_FieldPathArrayItemValue(pathStr, valueStr string) BucketRequiredTypedLabels_FieldPathArrayItemValue { 2454 fpaiv, err := ParseBucketRequiredTypedLabels_FieldPathArrayItemValue(pathStr, valueStr) 2455 if err != nil { 2456 panic(err) 2457 } 2458 return fpaiv 2459 } 2460 2461 type BucketRequiredTypedLabels_FieldTerminalPathArrayItemValue struct { 2462 BucketRequiredTypedLabels_FieldTerminalPath 2463 value interface{} 2464 } 2465 2466 var _ BucketRequiredTypedLabels_FieldPathArrayItemValue = (*BucketRequiredTypedLabels_FieldTerminalPathArrayItemValue)(nil) 2467 2468 // GetRawValue returns stored element value for array in object Bucket_RequiredTypedLabels as interface{} 2469 func (fpaiv *BucketRequiredTypedLabels_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 2470 return fpaiv.value 2471 } 2472 func (fpaiv *BucketRequiredTypedLabels_FieldTerminalPathArrayItemValue) AsTypesItemValue() (string, bool) { 2473 res, ok := fpaiv.value.(string) 2474 return res, ok 2475 } 2476 2477 func (fpaiv *BucketRequiredTypedLabels_FieldTerminalPathArrayItemValue) GetSingle(source *Bucket_RequiredTypedLabels) (interface{}, bool) { 2478 return nil, false 2479 } 2480 2481 func (fpaiv *BucketRequiredTypedLabels_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 2482 return fpaiv.GetSingle(source.(*Bucket_RequiredTypedLabels)) 2483 } 2484 2485 // Contains returns a boolean indicating if value that is being held is present in given 'RequiredTypedLabels' 2486 func (fpaiv *BucketRequiredTypedLabels_FieldTerminalPathArrayItemValue) ContainsValue(source *Bucket_RequiredTypedLabels) bool { 2487 slice := fpaiv.BucketRequiredTypedLabels_FieldTerminalPath.Get(source) 2488 for _, v := range slice { 2489 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 2490 if proto.Equal(asProtoMsg, v.(proto.Message)) { 2491 return true 2492 } 2493 } else if reflect.DeepEqual(v, fpaiv.value) { 2494 return true 2495 } 2496 } 2497 return false 2498 } 2499 2500 // BucketRequiredTypedLabels_FieldPathArrayOfValues allows storing slice of values for RequiredTypedLabels fields according to their type 2501 type BucketRequiredTypedLabels_FieldPathArrayOfValues interface { 2502 gotenobject.FieldPathArrayOfValues 2503 BucketRequiredTypedLabels_FieldPath 2504 } 2505 2506 func ParseBucketRequiredTypedLabels_FieldPathArrayOfValues(pathStr, valuesStr string) (BucketRequiredTypedLabels_FieldPathArrayOfValues, error) { 2507 fp, err := ParseBucketRequiredTypedLabels_FieldPath(pathStr) 2508 if err != nil { 2509 return nil, err 2510 } 2511 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 2512 if err != nil { 2513 return nil, status.Errorf(codes.InvalidArgument, "error parsing RequiredTypedLabels field path array of values from %s: %v", valuesStr, err) 2514 } 2515 return fpaov.(BucketRequiredTypedLabels_FieldPathArrayOfValues), nil 2516 } 2517 2518 func MustParseBucketRequiredTypedLabels_FieldPathArrayOfValues(pathStr, valuesStr string) BucketRequiredTypedLabels_FieldPathArrayOfValues { 2519 fpaov, err := ParseBucketRequiredTypedLabels_FieldPathArrayOfValues(pathStr, valuesStr) 2520 if err != nil { 2521 panic(err) 2522 } 2523 return fpaov 2524 } 2525 2526 type BucketRequiredTypedLabels_FieldTerminalPathArrayOfValues struct { 2527 BucketRequiredTypedLabels_FieldTerminalPath 2528 values interface{} 2529 } 2530 2531 var _ BucketRequiredTypedLabels_FieldPathArrayOfValues = (*BucketRequiredTypedLabels_FieldTerminalPathArrayOfValues)(nil) 2532 2533 func (fpaov *BucketRequiredTypedLabels_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 2534 switch fpaov.selector { 2535 case BucketRequiredTypedLabels_FieldPathSelectorTypes: 2536 for _, v := range fpaov.values.([][]string) { 2537 values = append(values, v) 2538 } 2539 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2540 for _, v := range fpaov.values.([]map[string]*Bucket_RequiredTypedLabels_Strings) { 2541 values = append(values, v) 2542 } 2543 } 2544 return 2545 } 2546 func (fpaov *BucketRequiredTypedLabels_FieldTerminalPathArrayOfValues) AsTypesArrayOfValues() ([][]string, bool) { 2547 res, ok := fpaov.values.([][]string) 2548 return res, ok 2549 } 2550 func (fpaov *BucketRequiredTypedLabels_FieldTerminalPathArrayOfValues) AsLabelsArrayOfValues() ([]map[string]*Bucket_RequiredTypedLabels_Strings, bool) { 2551 res, ok := fpaov.values.([]map[string]*Bucket_RequiredTypedLabels_Strings) 2552 return res, ok 2553 } 2554 2555 type BucketRequiredTypedLabels_FieldPathMapArrayOfValues struct { 2556 BucketRequiredTypedLabels_FieldPathMap 2557 values interface{} 2558 } 2559 2560 var _ BucketRequiredTypedLabels_FieldPathArrayOfValues = (*BucketRequiredTypedLabels_FieldPathMapArrayOfValues)(nil) 2561 2562 func (fpmaov *BucketRequiredTypedLabels_FieldPathMapArrayOfValues) GetRawValues() (values []interface{}) { 2563 switch fpmaov.selector { 2564 case BucketRequiredTypedLabels_FieldPathSelectorLabels: 2565 for _, v := range fpmaov.values.([]*Bucket_RequiredTypedLabels_Strings) { 2566 values = append(values, v) 2567 } 2568 } 2569 return 2570 } 2571 func (fpmaov *BucketRequiredTypedLabels_FieldPathMapArrayOfValues) AsLabelsArrayOfElementValues() ([]*Bucket_RequiredTypedLabels_Strings, bool) { 2572 res, ok := fpmaov.values.([]*Bucket_RequiredTypedLabels_Strings) 2573 return res, ok 2574 } 2575 2576 // FieldPath provides implementation to handle 2577 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 2578 type BucketRequiredTypedLabelsStrings_FieldPath interface { 2579 gotenobject.FieldPath 2580 Selector() BucketRequiredTypedLabelsStrings_FieldPathSelector 2581 Get(source *Bucket_RequiredTypedLabels_Strings) []interface{} 2582 GetSingle(source *Bucket_RequiredTypedLabels_Strings) (interface{}, bool) 2583 ClearValue(item *Bucket_RequiredTypedLabels_Strings) 2584 2585 // Those methods build corresponding BucketRequiredTypedLabelsStrings_FieldPathValue 2586 // (or array of values) and holds passed value. Panics if injected type is incorrect. 2587 WithIValue(value interface{}) BucketRequiredTypedLabelsStrings_FieldPathValue 2588 WithIArrayOfValues(values interface{}) BucketRequiredTypedLabelsStrings_FieldPathArrayOfValues 2589 WithIArrayItemValue(value interface{}) BucketRequiredTypedLabelsStrings_FieldPathArrayItemValue 2590 } 2591 2592 type BucketRequiredTypedLabelsStrings_FieldPathSelector int32 2593 2594 const ( 2595 BucketRequiredTypedLabelsStrings_FieldPathSelectorStrings BucketRequiredTypedLabelsStrings_FieldPathSelector = 0 2596 ) 2597 2598 func (s BucketRequiredTypedLabelsStrings_FieldPathSelector) String() string { 2599 switch s { 2600 case BucketRequiredTypedLabelsStrings_FieldPathSelectorStrings: 2601 return "strings" 2602 default: 2603 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels_Strings: %d", s)) 2604 } 2605 } 2606 2607 func BuildBucketRequiredTypedLabelsStrings_FieldPath(fp gotenobject.RawFieldPath) (BucketRequiredTypedLabelsStrings_FieldPath, error) { 2608 if len(fp) == 0 { 2609 return nil, status.Error(codes.InvalidArgument, "empty field path for object Bucket_RequiredTypedLabels_Strings") 2610 } 2611 if len(fp) == 1 { 2612 switch fp[0] { 2613 case "strings": 2614 return &BucketRequiredTypedLabelsStrings_FieldTerminalPath{selector: BucketRequiredTypedLabelsStrings_FieldPathSelectorStrings}, nil 2615 } 2616 } 2617 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Bucket_RequiredTypedLabels_Strings", fp) 2618 } 2619 2620 func ParseBucketRequiredTypedLabelsStrings_FieldPath(rawField string) (BucketRequiredTypedLabelsStrings_FieldPath, error) { 2621 fp, err := gotenobject.ParseRawFieldPath(rawField) 2622 if err != nil { 2623 return nil, err 2624 } 2625 return BuildBucketRequiredTypedLabelsStrings_FieldPath(fp) 2626 } 2627 2628 func MustParseBucketRequiredTypedLabelsStrings_FieldPath(rawField string) BucketRequiredTypedLabelsStrings_FieldPath { 2629 fp, err := ParseBucketRequiredTypedLabelsStrings_FieldPath(rawField) 2630 if err != nil { 2631 panic(err) 2632 } 2633 return fp 2634 } 2635 2636 type BucketRequiredTypedLabelsStrings_FieldTerminalPath struct { 2637 selector BucketRequiredTypedLabelsStrings_FieldPathSelector 2638 } 2639 2640 var _ BucketRequiredTypedLabelsStrings_FieldPath = (*BucketRequiredTypedLabelsStrings_FieldTerminalPath)(nil) 2641 2642 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) Selector() BucketRequiredTypedLabelsStrings_FieldPathSelector { 2643 return fp.selector 2644 } 2645 2646 // String returns path representation in proto convention 2647 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) String() string { 2648 return fp.selector.String() 2649 } 2650 2651 // JSONString returns path representation is JSON convention 2652 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) JSONString() string { 2653 return strcase.ToLowerCamel(fp.String()) 2654 } 2655 2656 // Get returns all values pointed by specific field from source Bucket_RequiredTypedLabels_Strings 2657 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) Get(source *Bucket_RequiredTypedLabels_Strings) (values []interface{}) { 2658 if source != nil { 2659 switch fp.selector { 2660 case BucketRequiredTypedLabelsStrings_FieldPathSelectorStrings: 2661 for _, value := range source.GetStrings() { 2662 values = append(values, value) 2663 } 2664 default: 2665 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels_Strings: %d", fp.selector)) 2666 } 2667 } 2668 return 2669 } 2670 2671 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 2672 return fp.Get(source.(*Bucket_RequiredTypedLabels_Strings)) 2673 } 2674 2675 // GetSingle returns value pointed by specific field of from source Bucket_RequiredTypedLabels_Strings 2676 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) GetSingle(source *Bucket_RequiredTypedLabels_Strings) (interface{}, bool) { 2677 switch fp.selector { 2678 case BucketRequiredTypedLabelsStrings_FieldPathSelectorStrings: 2679 res := source.GetStrings() 2680 return res, res != nil 2681 default: 2682 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels_Strings: %d", fp.selector)) 2683 } 2684 } 2685 2686 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 2687 return fp.GetSingle(source.(*Bucket_RequiredTypedLabels_Strings)) 2688 } 2689 2690 // GetDefault returns a default value of the field type 2691 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) GetDefault() interface{} { 2692 switch fp.selector { 2693 case BucketRequiredTypedLabelsStrings_FieldPathSelectorStrings: 2694 return ([]string)(nil) 2695 default: 2696 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels_Strings: %d", fp.selector)) 2697 } 2698 } 2699 2700 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) ClearValue(item *Bucket_RequiredTypedLabels_Strings) { 2701 if item != nil { 2702 switch fp.selector { 2703 case BucketRequiredTypedLabelsStrings_FieldPathSelectorStrings: 2704 item.Strings = nil 2705 default: 2706 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels_Strings: %d", fp.selector)) 2707 } 2708 } 2709 } 2710 2711 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) ClearValueRaw(item proto.Message) { 2712 fp.ClearValue(item.(*Bucket_RequiredTypedLabels_Strings)) 2713 } 2714 2715 // IsLeaf - whether field path is holds simple value 2716 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) IsLeaf() bool { 2717 return fp.selector == BucketRequiredTypedLabelsStrings_FieldPathSelectorStrings 2718 } 2719 2720 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 2721 return []gotenobject.FieldPath{fp} 2722 } 2723 2724 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) WithIValue(value interface{}) BucketRequiredTypedLabelsStrings_FieldPathValue { 2725 switch fp.selector { 2726 case BucketRequiredTypedLabelsStrings_FieldPathSelectorStrings: 2727 return &BucketRequiredTypedLabelsStrings_FieldTerminalPathValue{BucketRequiredTypedLabelsStrings_FieldTerminalPath: *fp, value: value.([]string)} 2728 default: 2729 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels_Strings: %d", fp.selector)) 2730 } 2731 } 2732 2733 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 2734 return fp.WithIValue(value) 2735 } 2736 2737 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) WithIArrayOfValues(values interface{}) BucketRequiredTypedLabelsStrings_FieldPathArrayOfValues { 2738 fpaov := &BucketRequiredTypedLabelsStrings_FieldTerminalPathArrayOfValues{BucketRequiredTypedLabelsStrings_FieldTerminalPath: *fp} 2739 switch fp.selector { 2740 case BucketRequiredTypedLabelsStrings_FieldPathSelectorStrings: 2741 return &BucketRequiredTypedLabelsStrings_FieldTerminalPathArrayOfValues{BucketRequiredTypedLabelsStrings_FieldTerminalPath: *fp, values: values.([][]string)} 2742 default: 2743 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels_Strings: %d", fp.selector)) 2744 } 2745 return fpaov 2746 } 2747 2748 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 2749 return fp.WithIArrayOfValues(values) 2750 } 2751 2752 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) WithIArrayItemValue(value interface{}) BucketRequiredTypedLabelsStrings_FieldPathArrayItemValue { 2753 switch fp.selector { 2754 case BucketRequiredTypedLabelsStrings_FieldPathSelectorStrings: 2755 return &BucketRequiredTypedLabelsStrings_FieldTerminalPathArrayItemValue{BucketRequiredTypedLabelsStrings_FieldTerminalPath: *fp, value: value.(string)} 2756 default: 2757 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels_Strings: %d", fp.selector)) 2758 } 2759 } 2760 2761 func (fp *BucketRequiredTypedLabelsStrings_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 2762 return fp.WithIArrayItemValue(value) 2763 } 2764 2765 // BucketRequiredTypedLabelsStrings_FieldPathValue allows storing values for Strings fields according to their type 2766 type BucketRequiredTypedLabelsStrings_FieldPathValue interface { 2767 BucketRequiredTypedLabelsStrings_FieldPath 2768 gotenobject.FieldPathValue 2769 SetTo(target **Bucket_RequiredTypedLabels_Strings) 2770 CompareWith(*Bucket_RequiredTypedLabels_Strings) (cmp int, comparable bool) 2771 } 2772 2773 func ParseBucketRequiredTypedLabelsStrings_FieldPathValue(pathStr, valueStr string) (BucketRequiredTypedLabelsStrings_FieldPathValue, error) { 2774 fp, err := ParseBucketRequiredTypedLabelsStrings_FieldPath(pathStr) 2775 if err != nil { 2776 return nil, err 2777 } 2778 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 2779 if err != nil { 2780 return nil, status.Errorf(codes.InvalidArgument, "error parsing Strings field path value from %s: %v", valueStr, err) 2781 } 2782 return fpv.(BucketRequiredTypedLabelsStrings_FieldPathValue), nil 2783 } 2784 2785 func MustParseBucketRequiredTypedLabelsStrings_FieldPathValue(pathStr, valueStr string) BucketRequiredTypedLabelsStrings_FieldPathValue { 2786 fpv, err := ParseBucketRequiredTypedLabelsStrings_FieldPathValue(pathStr, valueStr) 2787 if err != nil { 2788 panic(err) 2789 } 2790 return fpv 2791 } 2792 2793 type BucketRequiredTypedLabelsStrings_FieldTerminalPathValue struct { 2794 BucketRequiredTypedLabelsStrings_FieldTerminalPath 2795 value interface{} 2796 } 2797 2798 var _ BucketRequiredTypedLabelsStrings_FieldPathValue = (*BucketRequiredTypedLabelsStrings_FieldTerminalPathValue)(nil) 2799 2800 // GetRawValue returns raw value stored under selected path for 'Strings' as interface{} 2801 func (fpv *BucketRequiredTypedLabelsStrings_FieldTerminalPathValue) GetRawValue() interface{} { 2802 return fpv.value 2803 } 2804 func (fpv *BucketRequiredTypedLabelsStrings_FieldTerminalPathValue) AsStringsValue() ([]string, bool) { 2805 res, ok := fpv.value.([]string) 2806 return res, ok 2807 } 2808 2809 // SetTo stores value for selected field for object Strings 2810 func (fpv *BucketRequiredTypedLabelsStrings_FieldTerminalPathValue) SetTo(target **Bucket_RequiredTypedLabels_Strings) { 2811 if *target == nil { 2812 *target = new(Bucket_RequiredTypedLabels_Strings) 2813 } 2814 switch fpv.selector { 2815 case BucketRequiredTypedLabelsStrings_FieldPathSelectorStrings: 2816 (*target).Strings = fpv.value.([]string) 2817 default: 2818 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels_Strings: %d", fpv.selector)) 2819 } 2820 } 2821 2822 func (fpv *BucketRequiredTypedLabelsStrings_FieldTerminalPathValue) SetToRaw(target proto.Message) { 2823 typedObject := target.(*Bucket_RequiredTypedLabels_Strings) 2824 fpv.SetTo(&typedObject) 2825 } 2826 2827 // CompareWith compares value in the 'BucketRequiredTypedLabelsStrings_FieldTerminalPathValue' with the value under path in 'Bucket_RequiredTypedLabels_Strings'. 2828 func (fpv *BucketRequiredTypedLabelsStrings_FieldTerminalPathValue) CompareWith(source *Bucket_RequiredTypedLabels_Strings) (int, bool) { 2829 switch fpv.selector { 2830 case BucketRequiredTypedLabelsStrings_FieldPathSelectorStrings: 2831 return 0, false 2832 default: 2833 panic(fmt.Sprintf("Invalid selector for Bucket_RequiredTypedLabels_Strings: %d", fpv.selector)) 2834 } 2835 } 2836 2837 func (fpv *BucketRequiredTypedLabelsStrings_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 2838 return fpv.CompareWith(source.(*Bucket_RequiredTypedLabels_Strings)) 2839 } 2840 2841 // BucketRequiredTypedLabelsStrings_FieldPathArrayItemValue allows storing single item in Path-specific values for Strings according to their type 2842 // Present only for array (repeated) types. 2843 type BucketRequiredTypedLabelsStrings_FieldPathArrayItemValue interface { 2844 gotenobject.FieldPathArrayItemValue 2845 BucketRequiredTypedLabelsStrings_FieldPath 2846 ContainsValue(*Bucket_RequiredTypedLabels_Strings) bool 2847 } 2848 2849 // ParseBucketRequiredTypedLabelsStrings_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 2850 func ParseBucketRequiredTypedLabelsStrings_FieldPathArrayItemValue(pathStr, valueStr string) (BucketRequiredTypedLabelsStrings_FieldPathArrayItemValue, error) { 2851 fp, err := ParseBucketRequiredTypedLabelsStrings_FieldPath(pathStr) 2852 if err != nil { 2853 return nil, err 2854 } 2855 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 2856 if err != nil { 2857 return nil, status.Errorf(codes.InvalidArgument, "error parsing Strings field path array item value from %s: %v", valueStr, err) 2858 } 2859 return fpaiv.(BucketRequiredTypedLabelsStrings_FieldPathArrayItemValue), nil 2860 } 2861 2862 func MustParseBucketRequiredTypedLabelsStrings_FieldPathArrayItemValue(pathStr, valueStr string) BucketRequiredTypedLabelsStrings_FieldPathArrayItemValue { 2863 fpaiv, err := ParseBucketRequiredTypedLabelsStrings_FieldPathArrayItemValue(pathStr, valueStr) 2864 if err != nil { 2865 panic(err) 2866 } 2867 return fpaiv 2868 } 2869 2870 type BucketRequiredTypedLabelsStrings_FieldTerminalPathArrayItemValue struct { 2871 BucketRequiredTypedLabelsStrings_FieldTerminalPath 2872 value interface{} 2873 } 2874 2875 var _ BucketRequiredTypedLabelsStrings_FieldPathArrayItemValue = (*BucketRequiredTypedLabelsStrings_FieldTerminalPathArrayItemValue)(nil) 2876 2877 // GetRawValue returns stored element value for array in object Bucket_RequiredTypedLabels_Strings as interface{} 2878 func (fpaiv *BucketRequiredTypedLabelsStrings_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 2879 return fpaiv.value 2880 } 2881 func (fpaiv *BucketRequiredTypedLabelsStrings_FieldTerminalPathArrayItemValue) AsStringsItemValue() (string, bool) { 2882 res, ok := fpaiv.value.(string) 2883 return res, ok 2884 } 2885 2886 func (fpaiv *BucketRequiredTypedLabelsStrings_FieldTerminalPathArrayItemValue) GetSingle(source *Bucket_RequiredTypedLabels_Strings) (interface{}, bool) { 2887 return nil, false 2888 } 2889 2890 func (fpaiv *BucketRequiredTypedLabelsStrings_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 2891 return fpaiv.GetSingle(source.(*Bucket_RequiredTypedLabels_Strings)) 2892 } 2893 2894 // Contains returns a boolean indicating if value that is being held is present in given 'Strings' 2895 func (fpaiv *BucketRequiredTypedLabelsStrings_FieldTerminalPathArrayItemValue) ContainsValue(source *Bucket_RequiredTypedLabels_Strings) bool { 2896 slice := fpaiv.BucketRequiredTypedLabelsStrings_FieldTerminalPath.Get(source) 2897 for _, v := range slice { 2898 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 2899 if proto.Equal(asProtoMsg, v.(proto.Message)) { 2900 return true 2901 } 2902 } else if reflect.DeepEqual(v, fpaiv.value) { 2903 return true 2904 } 2905 } 2906 return false 2907 } 2908 2909 // BucketRequiredTypedLabelsStrings_FieldPathArrayOfValues allows storing slice of values for Strings fields according to their type 2910 type BucketRequiredTypedLabelsStrings_FieldPathArrayOfValues interface { 2911 gotenobject.FieldPathArrayOfValues 2912 BucketRequiredTypedLabelsStrings_FieldPath 2913 } 2914 2915 func ParseBucketRequiredTypedLabelsStrings_FieldPathArrayOfValues(pathStr, valuesStr string) (BucketRequiredTypedLabelsStrings_FieldPathArrayOfValues, error) { 2916 fp, err := ParseBucketRequiredTypedLabelsStrings_FieldPath(pathStr) 2917 if err != nil { 2918 return nil, err 2919 } 2920 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 2921 if err != nil { 2922 return nil, status.Errorf(codes.InvalidArgument, "error parsing Strings field path array of values from %s: %v", valuesStr, err) 2923 } 2924 return fpaov.(BucketRequiredTypedLabelsStrings_FieldPathArrayOfValues), nil 2925 } 2926 2927 func MustParseBucketRequiredTypedLabelsStrings_FieldPathArrayOfValues(pathStr, valuesStr string) BucketRequiredTypedLabelsStrings_FieldPathArrayOfValues { 2928 fpaov, err := ParseBucketRequiredTypedLabelsStrings_FieldPathArrayOfValues(pathStr, valuesStr) 2929 if err != nil { 2930 panic(err) 2931 } 2932 return fpaov 2933 } 2934 2935 type BucketRequiredTypedLabelsStrings_FieldTerminalPathArrayOfValues struct { 2936 BucketRequiredTypedLabelsStrings_FieldTerminalPath 2937 values interface{} 2938 } 2939 2940 var _ BucketRequiredTypedLabelsStrings_FieldPathArrayOfValues = (*BucketRequiredTypedLabelsStrings_FieldTerminalPathArrayOfValues)(nil) 2941 2942 func (fpaov *BucketRequiredTypedLabelsStrings_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 2943 switch fpaov.selector { 2944 case BucketRequiredTypedLabelsStrings_FieldPathSelectorStrings: 2945 for _, v := range fpaov.values.([][]string) { 2946 values = append(values, v) 2947 } 2948 } 2949 return 2950 } 2951 func (fpaov *BucketRequiredTypedLabelsStrings_FieldTerminalPathArrayOfValues) AsStringsArrayOfValues() ([][]string, bool) { 2952 res, ok := fpaov.values.([][]string) 2953 return res, ok 2954 }