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