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