github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1/role/role.pb.fieldpath.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/iam/proto/v1/role.proto 3 // DO NOT EDIT!!! 4 5 package role 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 condition "github.com/cloudwan/edgelq-sdk/iam/resources/v1/condition" 27 organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1/organization" 28 permission "github.com/cloudwan/edgelq-sdk/iam/resources/v1/permission" 29 project "github.com/cloudwan/edgelq-sdk/iam/resources/v1/project" 30 meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service" 31 meta "github.com/cloudwan/goten-sdk/types/meta" 32 ) 33 34 // ensure the imports are used 35 var ( 36 _ = new(json.Marshaler) 37 _ = new(fmt.Stringer) 38 _ = reflect.DeepEqual 39 _ = strings.Builder{} 40 _ = time.Second 41 42 _ = strcase.ToLowerCamel 43 _ = codes.NotFound 44 _ = status.Status{} 45 _ = protojson.UnmarshalOptions{} 46 _ = new(proto.Message) 47 _ = protoregistry.GlobalTypes 48 49 _ = new(gotenobject.FieldPath) 50 ) 51 52 // make sure we're using proto imports 53 var ( 54 _ = &condition.Condition{} 55 _ = &organization.Organization{} 56 _ = &permission.Permission{} 57 _ = &project.Project{} 58 _ = &meta_service.Service{} 59 _ = &meta.Meta{} 60 ) 61 62 // FieldPath provides implementation to handle 63 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 64 type Role_FieldPath interface { 65 gotenobject.FieldPath 66 Selector() Role_FieldPathSelector 67 Get(source *Role) []interface{} 68 GetSingle(source *Role) (interface{}, bool) 69 ClearValue(item *Role) 70 71 // Those methods build corresponding Role_FieldPathValue 72 // (or array of values) and holds passed value. Panics if injected type is incorrect. 73 WithIValue(value interface{}) Role_FieldPathValue 74 WithIArrayOfValues(values interface{}) Role_FieldPathArrayOfValues 75 WithIArrayItemValue(value interface{}) Role_FieldPathArrayItemValue 76 } 77 78 type Role_FieldPathSelector int32 79 80 const ( 81 Role_FieldPathSelectorName Role_FieldPathSelector = 0 82 Role_FieldPathSelectorMetadata Role_FieldPathSelector = 1 83 Role_FieldPathSelectorDisplayName Role_FieldPathSelector = 2 84 Role_FieldPathSelectorDescription Role_FieldPathSelector = 3 85 Role_FieldPathSelectorCategory Role_FieldPathSelector = 4 86 Role_FieldPathSelectorScopeParams Role_FieldPathSelector = 5 87 Role_FieldPathSelectorConstValues Role_FieldPathSelector = 6 88 Role_FieldPathSelectorDefaultValues Role_FieldPathSelector = 7 89 Role_FieldPathSelectorGrants Role_FieldPathSelector = 8 90 Role_FieldPathSelectorOwnedObjects Role_FieldPathSelector = 9 91 Role_FieldPathSelectorServices Role_FieldPathSelector = 10 92 Role_FieldPathSelectorRbSpecGeneration Role_FieldPathSelector = 11 93 ) 94 95 func (s Role_FieldPathSelector) String() string { 96 switch s { 97 case Role_FieldPathSelectorName: 98 return "name" 99 case Role_FieldPathSelectorMetadata: 100 return "metadata" 101 case Role_FieldPathSelectorDisplayName: 102 return "display_name" 103 case Role_FieldPathSelectorDescription: 104 return "description" 105 case Role_FieldPathSelectorCategory: 106 return "category" 107 case Role_FieldPathSelectorScopeParams: 108 return "scope_params" 109 case Role_FieldPathSelectorConstValues: 110 return "const_values" 111 case Role_FieldPathSelectorDefaultValues: 112 return "default_values" 113 case Role_FieldPathSelectorGrants: 114 return "grants" 115 case Role_FieldPathSelectorOwnedObjects: 116 return "owned_objects" 117 case Role_FieldPathSelectorServices: 118 return "services" 119 case Role_FieldPathSelectorRbSpecGeneration: 120 return "rb_spec_generation" 121 default: 122 panic(fmt.Sprintf("Invalid selector for Role: %d", s)) 123 } 124 } 125 126 func BuildRole_FieldPath(fp gotenobject.RawFieldPath) (Role_FieldPath, error) { 127 if len(fp) == 0 { 128 return nil, status.Error(codes.InvalidArgument, "empty field path for object Role") 129 } 130 if len(fp) == 1 { 131 switch fp[0] { 132 case "name": 133 return &Role_FieldTerminalPath{selector: Role_FieldPathSelectorName}, nil 134 case "metadata": 135 return &Role_FieldTerminalPath{selector: Role_FieldPathSelectorMetadata}, nil 136 case "display_name", "displayName", "display-name": 137 return &Role_FieldTerminalPath{selector: Role_FieldPathSelectorDisplayName}, nil 138 case "description": 139 return &Role_FieldTerminalPath{selector: Role_FieldPathSelectorDescription}, nil 140 case "category": 141 return &Role_FieldTerminalPath{selector: Role_FieldPathSelectorCategory}, nil 142 case "scope_params", "scopeParams", "scope-params": 143 return &Role_FieldTerminalPath{selector: Role_FieldPathSelectorScopeParams}, nil 144 case "const_values", "constValues", "const-values": 145 return &Role_FieldTerminalPath{selector: Role_FieldPathSelectorConstValues}, nil 146 case "default_values", "defaultValues", "default-values": 147 return &Role_FieldTerminalPath{selector: Role_FieldPathSelectorDefaultValues}, nil 148 case "grants": 149 return &Role_FieldTerminalPath{selector: Role_FieldPathSelectorGrants}, nil 150 case "owned_objects", "ownedObjects", "owned-objects": 151 return &Role_FieldTerminalPath{selector: Role_FieldPathSelectorOwnedObjects}, nil 152 case "services": 153 return &Role_FieldTerminalPath{selector: Role_FieldPathSelectorServices}, nil 154 case "rb_spec_generation", "rbSpecGeneration", "rb-spec-generation": 155 return &Role_FieldTerminalPath{selector: Role_FieldPathSelectorRbSpecGeneration}, nil 156 } 157 } else { 158 switch fp[0] { 159 case "metadata": 160 if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil { 161 return nil, err 162 } else { 163 return &Role_FieldSubPath{selector: Role_FieldPathSelectorMetadata, subPath: subpath}, nil 164 } 165 case "scope_params", "scopeParams", "scope-params": 166 if subpath, err := BuildRoleScopeParamType_FieldPath(fp[1:]); err != nil { 167 return nil, err 168 } else { 169 return &Role_FieldSubPath{selector: Role_FieldPathSelectorScopeParams, subPath: subpath}, nil 170 } 171 case "const_values", "constValues", "const-values": 172 if subpath, err := BuildScopeParam_FieldPath(fp[1:]); err != nil { 173 return nil, err 174 } else { 175 return &Role_FieldSubPath{selector: Role_FieldPathSelectorConstValues, subPath: subpath}, nil 176 } 177 case "default_values", "defaultValues", "default-values": 178 if subpath, err := BuildScopeParam_FieldPath(fp[1:]); err != nil { 179 return nil, err 180 } else { 181 return &Role_FieldSubPath{selector: Role_FieldPathSelectorDefaultValues, subPath: subpath}, nil 182 } 183 case "grants": 184 if subpath, err := BuildRoleGrant_FieldPath(fp[1:]); err != nil { 185 return nil, err 186 } else { 187 return &Role_FieldSubPath{selector: Role_FieldPathSelectorGrants, subPath: subpath}, nil 188 } 189 } 190 } 191 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Role", fp) 192 } 193 194 func ParseRole_FieldPath(rawField string) (Role_FieldPath, error) { 195 fp, err := gotenobject.ParseRawFieldPath(rawField) 196 if err != nil { 197 return nil, err 198 } 199 return BuildRole_FieldPath(fp) 200 } 201 202 func MustParseRole_FieldPath(rawField string) Role_FieldPath { 203 fp, err := ParseRole_FieldPath(rawField) 204 if err != nil { 205 panic(err) 206 } 207 return fp 208 } 209 210 type Role_FieldTerminalPath struct { 211 selector Role_FieldPathSelector 212 } 213 214 var _ Role_FieldPath = (*Role_FieldTerminalPath)(nil) 215 216 func (fp *Role_FieldTerminalPath) Selector() Role_FieldPathSelector { 217 return fp.selector 218 } 219 220 // String returns path representation in proto convention 221 func (fp *Role_FieldTerminalPath) String() string { 222 return fp.selector.String() 223 } 224 225 // JSONString returns path representation is JSON convention 226 func (fp *Role_FieldTerminalPath) JSONString() string { 227 return strcase.ToLowerCamel(fp.String()) 228 } 229 230 // Get returns all values pointed by specific field from source Role 231 func (fp *Role_FieldTerminalPath) Get(source *Role) (values []interface{}) { 232 if source != nil { 233 switch fp.selector { 234 case Role_FieldPathSelectorName: 235 if source.Name != nil { 236 values = append(values, source.Name) 237 } 238 case Role_FieldPathSelectorMetadata: 239 if source.Metadata != nil { 240 values = append(values, source.Metadata) 241 } 242 case Role_FieldPathSelectorDisplayName: 243 values = append(values, source.DisplayName) 244 case Role_FieldPathSelectorDescription: 245 values = append(values, source.Description) 246 case Role_FieldPathSelectorCategory: 247 values = append(values, source.Category) 248 case Role_FieldPathSelectorScopeParams: 249 for _, value := range source.GetScopeParams() { 250 values = append(values, value) 251 } 252 case Role_FieldPathSelectorConstValues: 253 for _, value := range source.GetConstValues() { 254 values = append(values, value) 255 } 256 case Role_FieldPathSelectorDefaultValues: 257 for _, value := range source.GetDefaultValues() { 258 values = append(values, value) 259 } 260 case Role_FieldPathSelectorGrants: 261 for _, value := range source.GetGrants() { 262 values = append(values, value) 263 } 264 case Role_FieldPathSelectorOwnedObjects: 265 for _, value := range source.GetOwnedObjects() { 266 values = append(values, value) 267 } 268 case Role_FieldPathSelectorServices: 269 for _, value := range source.GetServices() { 270 values = append(values, value) 271 } 272 case Role_FieldPathSelectorRbSpecGeneration: 273 values = append(values, source.RbSpecGeneration) 274 default: 275 panic(fmt.Sprintf("Invalid selector for Role: %d", fp.selector)) 276 } 277 } 278 return 279 } 280 281 func (fp *Role_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 282 return fp.Get(source.(*Role)) 283 } 284 285 // GetSingle returns value pointed by specific field of from source Role 286 func (fp *Role_FieldTerminalPath) GetSingle(source *Role) (interface{}, bool) { 287 switch fp.selector { 288 case Role_FieldPathSelectorName: 289 res := source.GetName() 290 return res, res != nil 291 case Role_FieldPathSelectorMetadata: 292 res := source.GetMetadata() 293 return res, res != nil 294 case Role_FieldPathSelectorDisplayName: 295 return source.GetDisplayName(), source != nil 296 case Role_FieldPathSelectorDescription: 297 return source.GetDescription(), source != nil 298 case Role_FieldPathSelectorCategory: 299 return source.GetCategory(), source != nil 300 case Role_FieldPathSelectorScopeParams: 301 res := source.GetScopeParams() 302 return res, res != nil 303 case Role_FieldPathSelectorConstValues: 304 res := source.GetConstValues() 305 return res, res != nil 306 case Role_FieldPathSelectorDefaultValues: 307 res := source.GetDefaultValues() 308 return res, res != nil 309 case Role_FieldPathSelectorGrants: 310 res := source.GetGrants() 311 return res, res != nil 312 case Role_FieldPathSelectorOwnedObjects: 313 res := source.GetOwnedObjects() 314 return res, res != nil 315 case Role_FieldPathSelectorServices: 316 res := source.GetServices() 317 return res, res != nil 318 case Role_FieldPathSelectorRbSpecGeneration: 319 return source.GetRbSpecGeneration(), source != nil 320 default: 321 panic(fmt.Sprintf("Invalid selector for Role: %d", fp.selector)) 322 } 323 } 324 325 func (fp *Role_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 326 return fp.GetSingle(source.(*Role)) 327 } 328 329 // GetDefault returns a default value of the field type 330 func (fp *Role_FieldTerminalPath) GetDefault() interface{} { 331 switch fp.selector { 332 case Role_FieldPathSelectorName: 333 return (*Name)(nil) 334 case Role_FieldPathSelectorMetadata: 335 return (*meta.Meta)(nil) 336 case Role_FieldPathSelectorDisplayName: 337 return "" 338 case Role_FieldPathSelectorDescription: 339 return "" 340 case Role_FieldPathSelectorCategory: 341 return Role_UNDEFINED 342 case Role_FieldPathSelectorScopeParams: 343 return ([]*Role_ScopeParamType)(nil) 344 case Role_FieldPathSelectorConstValues: 345 return ([]*ScopeParam)(nil) 346 case Role_FieldPathSelectorDefaultValues: 347 return ([]*ScopeParam)(nil) 348 case Role_FieldPathSelectorGrants: 349 return ([]*Role_Grant)(nil) 350 case Role_FieldPathSelectorOwnedObjects: 351 return ([]string)(nil) 352 case Role_FieldPathSelectorServices: 353 return ([]*meta_service.Reference)(nil) 354 case Role_FieldPathSelectorRbSpecGeneration: 355 return int64(0) 356 default: 357 panic(fmt.Sprintf("Invalid selector for Role: %d", fp.selector)) 358 } 359 } 360 361 func (fp *Role_FieldTerminalPath) ClearValue(item *Role) { 362 if item != nil { 363 switch fp.selector { 364 case Role_FieldPathSelectorName: 365 item.Name = nil 366 case Role_FieldPathSelectorMetadata: 367 item.Metadata = nil 368 case Role_FieldPathSelectorDisplayName: 369 item.DisplayName = "" 370 case Role_FieldPathSelectorDescription: 371 item.Description = "" 372 case Role_FieldPathSelectorCategory: 373 item.Category = Role_UNDEFINED 374 case Role_FieldPathSelectorScopeParams: 375 item.ScopeParams = nil 376 case Role_FieldPathSelectorConstValues: 377 item.ConstValues = nil 378 case Role_FieldPathSelectorDefaultValues: 379 item.DefaultValues = nil 380 case Role_FieldPathSelectorGrants: 381 item.Grants = nil 382 case Role_FieldPathSelectorOwnedObjects: 383 item.OwnedObjects = nil 384 case Role_FieldPathSelectorServices: 385 item.Services = nil 386 case Role_FieldPathSelectorRbSpecGeneration: 387 item.RbSpecGeneration = int64(0) 388 default: 389 panic(fmt.Sprintf("Invalid selector for Role: %d", fp.selector)) 390 } 391 } 392 } 393 394 func (fp *Role_FieldTerminalPath) ClearValueRaw(item proto.Message) { 395 fp.ClearValue(item.(*Role)) 396 } 397 398 // IsLeaf - whether field path is holds simple value 399 func (fp *Role_FieldTerminalPath) IsLeaf() bool { 400 return fp.selector == Role_FieldPathSelectorName || 401 fp.selector == Role_FieldPathSelectorDisplayName || 402 fp.selector == Role_FieldPathSelectorDescription || 403 fp.selector == Role_FieldPathSelectorCategory || 404 fp.selector == Role_FieldPathSelectorOwnedObjects || 405 fp.selector == Role_FieldPathSelectorServices || 406 fp.selector == Role_FieldPathSelectorRbSpecGeneration 407 } 408 409 func (fp *Role_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 410 return []gotenobject.FieldPath{fp} 411 } 412 413 func (fp *Role_FieldTerminalPath) WithIValue(value interface{}) Role_FieldPathValue { 414 switch fp.selector { 415 case Role_FieldPathSelectorName: 416 return &Role_FieldTerminalPathValue{Role_FieldTerminalPath: *fp, value: value.(*Name)} 417 case Role_FieldPathSelectorMetadata: 418 return &Role_FieldTerminalPathValue{Role_FieldTerminalPath: *fp, value: value.(*meta.Meta)} 419 case Role_FieldPathSelectorDisplayName: 420 return &Role_FieldTerminalPathValue{Role_FieldTerminalPath: *fp, value: value.(string)} 421 case Role_FieldPathSelectorDescription: 422 return &Role_FieldTerminalPathValue{Role_FieldTerminalPath: *fp, value: value.(string)} 423 case Role_FieldPathSelectorCategory: 424 return &Role_FieldTerminalPathValue{Role_FieldTerminalPath: *fp, value: value.(Role_Category)} 425 case Role_FieldPathSelectorScopeParams: 426 return &Role_FieldTerminalPathValue{Role_FieldTerminalPath: *fp, value: value.([]*Role_ScopeParamType)} 427 case Role_FieldPathSelectorConstValues: 428 return &Role_FieldTerminalPathValue{Role_FieldTerminalPath: *fp, value: value.([]*ScopeParam)} 429 case Role_FieldPathSelectorDefaultValues: 430 return &Role_FieldTerminalPathValue{Role_FieldTerminalPath: *fp, value: value.([]*ScopeParam)} 431 case Role_FieldPathSelectorGrants: 432 return &Role_FieldTerminalPathValue{Role_FieldTerminalPath: *fp, value: value.([]*Role_Grant)} 433 case Role_FieldPathSelectorOwnedObjects: 434 return &Role_FieldTerminalPathValue{Role_FieldTerminalPath: *fp, value: value.([]string)} 435 case Role_FieldPathSelectorServices: 436 return &Role_FieldTerminalPathValue{Role_FieldTerminalPath: *fp, value: value.([]*meta_service.Reference)} 437 case Role_FieldPathSelectorRbSpecGeneration: 438 return &Role_FieldTerminalPathValue{Role_FieldTerminalPath: *fp, value: value.(int64)} 439 default: 440 panic(fmt.Sprintf("Invalid selector for Role: %d", fp.selector)) 441 } 442 } 443 444 func (fp *Role_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 445 return fp.WithIValue(value) 446 } 447 448 func (fp *Role_FieldTerminalPath) WithIArrayOfValues(values interface{}) Role_FieldPathArrayOfValues { 449 fpaov := &Role_FieldTerminalPathArrayOfValues{Role_FieldTerminalPath: *fp} 450 switch fp.selector { 451 case Role_FieldPathSelectorName: 452 return &Role_FieldTerminalPathArrayOfValues{Role_FieldTerminalPath: *fp, values: values.([]*Name)} 453 case Role_FieldPathSelectorMetadata: 454 return &Role_FieldTerminalPathArrayOfValues{Role_FieldTerminalPath: *fp, values: values.([]*meta.Meta)} 455 case Role_FieldPathSelectorDisplayName: 456 return &Role_FieldTerminalPathArrayOfValues{Role_FieldTerminalPath: *fp, values: values.([]string)} 457 case Role_FieldPathSelectorDescription: 458 return &Role_FieldTerminalPathArrayOfValues{Role_FieldTerminalPath: *fp, values: values.([]string)} 459 case Role_FieldPathSelectorCategory: 460 return &Role_FieldTerminalPathArrayOfValues{Role_FieldTerminalPath: *fp, values: values.([]Role_Category)} 461 case Role_FieldPathSelectorScopeParams: 462 return &Role_FieldTerminalPathArrayOfValues{Role_FieldTerminalPath: *fp, values: values.([][]*Role_ScopeParamType)} 463 case Role_FieldPathSelectorConstValues: 464 return &Role_FieldTerminalPathArrayOfValues{Role_FieldTerminalPath: *fp, values: values.([][]*ScopeParam)} 465 case Role_FieldPathSelectorDefaultValues: 466 return &Role_FieldTerminalPathArrayOfValues{Role_FieldTerminalPath: *fp, values: values.([][]*ScopeParam)} 467 case Role_FieldPathSelectorGrants: 468 return &Role_FieldTerminalPathArrayOfValues{Role_FieldTerminalPath: *fp, values: values.([][]*Role_Grant)} 469 case Role_FieldPathSelectorOwnedObjects: 470 return &Role_FieldTerminalPathArrayOfValues{Role_FieldTerminalPath: *fp, values: values.([][]string)} 471 case Role_FieldPathSelectorServices: 472 return &Role_FieldTerminalPathArrayOfValues{Role_FieldTerminalPath: *fp, values: values.([][]*meta_service.Reference)} 473 case Role_FieldPathSelectorRbSpecGeneration: 474 return &Role_FieldTerminalPathArrayOfValues{Role_FieldTerminalPath: *fp, values: values.([]int64)} 475 default: 476 panic(fmt.Sprintf("Invalid selector for Role: %d", fp.selector)) 477 } 478 return fpaov 479 } 480 481 func (fp *Role_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 482 return fp.WithIArrayOfValues(values) 483 } 484 485 func (fp *Role_FieldTerminalPath) WithIArrayItemValue(value interface{}) Role_FieldPathArrayItemValue { 486 switch fp.selector { 487 case Role_FieldPathSelectorScopeParams: 488 return &Role_FieldTerminalPathArrayItemValue{Role_FieldTerminalPath: *fp, value: value.(*Role_ScopeParamType)} 489 case Role_FieldPathSelectorConstValues: 490 return &Role_FieldTerminalPathArrayItemValue{Role_FieldTerminalPath: *fp, value: value.(*ScopeParam)} 491 case Role_FieldPathSelectorDefaultValues: 492 return &Role_FieldTerminalPathArrayItemValue{Role_FieldTerminalPath: *fp, value: value.(*ScopeParam)} 493 case Role_FieldPathSelectorGrants: 494 return &Role_FieldTerminalPathArrayItemValue{Role_FieldTerminalPath: *fp, value: value.(*Role_Grant)} 495 case Role_FieldPathSelectorOwnedObjects: 496 return &Role_FieldTerminalPathArrayItemValue{Role_FieldTerminalPath: *fp, value: value.(string)} 497 case Role_FieldPathSelectorServices: 498 return &Role_FieldTerminalPathArrayItemValue{Role_FieldTerminalPath: *fp, value: value.(*meta_service.Reference)} 499 default: 500 panic(fmt.Sprintf("Invalid selector for Role: %d", fp.selector)) 501 } 502 } 503 504 func (fp *Role_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 505 return fp.WithIArrayItemValue(value) 506 } 507 508 type Role_FieldSubPath struct { 509 selector Role_FieldPathSelector 510 subPath gotenobject.FieldPath 511 } 512 513 var _ Role_FieldPath = (*Role_FieldSubPath)(nil) 514 515 func (fps *Role_FieldSubPath) Selector() Role_FieldPathSelector { 516 return fps.selector 517 } 518 func (fps *Role_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) { 519 res, ok := fps.subPath.(meta.Meta_FieldPath) 520 return res, ok 521 } 522 func (fps *Role_FieldSubPath) AsScopeParamsSubPath() (RoleScopeParamType_FieldPath, bool) { 523 res, ok := fps.subPath.(RoleScopeParamType_FieldPath) 524 return res, ok 525 } 526 func (fps *Role_FieldSubPath) AsConstValuesSubPath() (ScopeParam_FieldPath, bool) { 527 res, ok := fps.subPath.(ScopeParam_FieldPath) 528 return res, ok 529 } 530 func (fps *Role_FieldSubPath) AsDefaultValuesSubPath() (ScopeParam_FieldPath, bool) { 531 res, ok := fps.subPath.(ScopeParam_FieldPath) 532 return res, ok 533 } 534 func (fps *Role_FieldSubPath) AsGrantsSubPath() (RoleGrant_FieldPath, bool) { 535 res, ok := fps.subPath.(RoleGrant_FieldPath) 536 return res, ok 537 } 538 539 // String returns path representation in proto convention 540 func (fps *Role_FieldSubPath) String() string { 541 return fps.selector.String() + "." + fps.subPath.String() 542 } 543 544 // JSONString returns path representation is JSON convention 545 func (fps *Role_FieldSubPath) JSONString() string { 546 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 547 } 548 549 // Get returns all values pointed by selected field from source Role 550 func (fps *Role_FieldSubPath) Get(source *Role) (values []interface{}) { 551 switch fps.selector { 552 case Role_FieldPathSelectorMetadata: 553 values = append(values, fps.subPath.GetRaw(source.GetMetadata())...) 554 case Role_FieldPathSelectorScopeParams: 555 for _, item := range source.GetScopeParams() { 556 values = append(values, fps.subPath.GetRaw(item)...) 557 } 558 case Role_FieldPathSelectorConstValues: 559 for _, item := range source.GetConstValues() { 560 values = append(values, fps.subPath.GetRaw(item)...) 561 } 562 case Role_FieldPathSelectorDefaultValues: 563 for _, item := range source.GetDefaultValues() { 564 values = append(values, fps.subPath.GetRaw(item)...) 565 } 566 case Role_FieldPathSelectorGrants: 567 for _, item := range source.GetGrants() { 568 values = append(values, fps.subPath.GetRaw(item)...) 569 } 570 default: 571 panic(fmt.Sprintf("Invalid selector for Role: %d", fps.selector)) 572 } 573 return 574 } 575 576 func (fps *Role_FieldSubPath) GetRaw(source proto.Message) []interface{} { 577 return fps.Get(source.(*Role)) 578 } 579 580 // GetSingle returns value of selected field from source Role 581 func (fps *Role_FieldSubPath) GetSingle(source *Role) (interface{}, bool) { 582 switch fps.selector { 583 case Role_FieldPathSelectorMetadata: 584 if source.GetMetadata() == nil { 585 return nil, false 586 } 587 return fps.subPath.GetSingleRaw(source.GetMetadata()) 588 case Role_FieldPathSelectorScopeParams: 589 if len(source.GetScopeParams()) == 0 { 590 return nil, false 591 } 592 return fps.subPath.GetSingleRaw(source.GetScopeParams()[0]) 593 case Role_FieldPathSelectorConstValues: 594 if len(source.GetConstValues()) == 0 { 595 return nil, false 596 } 597 return fps.subPath.GetSingleRaw(source.GetConstValues()[0]) 598 case Role_FieldPathSelectorDefaultValues: 599 if len(source.GetDefaultValues()) == 0 { 600 return nil, false 601 } 602 return fps.subPath.GetSingleRaw(source.GetDefaultValues()[0]) 603 case Role_FieldPathSelectorGrants: 604 if len(source.GetGrants()) == 0 { 605 return nil, false 606 } 607 return fps.subPath.GetSingleRaw(source.GetGrants()[0]) 608 default: 609 panic(fmt.Sprintf("Invalid selector for Role: %d", fps.selector)) 610 } 611 } 612 613 func (fps *Role_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 614 return fps.GetSingle(source.(*Role)) 615 } 616 617 // GetDefault returns a default value of the field type 618 func (fps *Role_FieldSubPath) GetDefault() interface{} { 619 return fps.subPath.GetDefault() 620 } 621 622 func (fps *Role_FieldSubPath) ClearValue(item *Role) { 623 if item != nil { 624 switch fps.selector { 625 case Role_FieldPathSelectorMetadata: 626 fps.subPath.ClearValueRaw(item.Metadata) 627 case Role_FieldPathSelectorScopeParams: 628 for _, subItem := range item.ScopeParams { 629 fps.subPath.ClearValueRaw(subItem) 630 } 631 case Role_FieldPathSelectorConstValues: 632 for _, subItem := range item.ConstValues { 633 fps.subPath.ClearValueRaw(subItem) 634 } 635 case Role_FieldPathSelectorDefaultValues: 636 for _, subItem := range item.DefaultValues { 637 fps.subPath.ClearValueRaw(subItem) 638 } 639 case Role_FieldPathSelectorGrants: 640 for _, subItem := range item.Grants { 641 fps.subPath.ClearValueRaw(subItem) 642 } 643 default: 644 panic(fmt.Sprintf("Invalid selector for Role: %d", fps.selector)) 645 } 646 } 647 } 648 649 func (fps *Role_FieldSubPath) ClearValueRaw(item proto.Message) { 650 fps.ClearValue(item.(*Role)) 651 } 652 653 // IsLeaf - whether field path is holds simple value 654 func (fps *Role_FieldSubPath) IsLeaf() bool { 655 return fps.subPath.IsLeaf() 656 } 657 658 func (fps *Role_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 659 iPaths := []gotenobject.FieldPath{&Role_FieldTerminalPath{selector: fps.selector}} 660 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 661 return iPaths 662 } 663 664 func (fps *Role_FieldSubPath) WithIValue(value interface{}) Role_FieldPathValue { 665 return &Role_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 666 } 667 668 func (fps *Role_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 669 return fps.WithIValue(value) 670 } 671 672 func (fps *Role_FieldSubPath) WithIArrayOfValues(values interface{}) Role_FieldPathArrayOfValues { 673 return &Role_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 674 } 675 676 func (fps *Role_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 677 return fps.WithIArrayOfValues(values) 678 } 679 680 func (fps *Role_FieldSubPath) WithIArrayItemValue(value interface{}) Role_FieldPathArrayItemValue { 681 return &Role_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 682 } 683 684 func (fps *Role_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 685 return fps.WithIArrayItemValue(value) 686 } 687 688 // Role_FieldPathValue allows storing values for Role fields according to their type 689 type Role_FieldPathValue interface { 690 Role_FieldPath 691 gotenobject.FieldPathValue 692 SetTo(target **Role) 693 CompareWith(*Role) (cmp int, comparable bool) 694 } 695 696 func ParseRole_FieldPathValue(pathStr, valueStr string) (Role_FieldPathValue, error) { 697 fp, err := ParseRole_FieldPath(pathStr) 698 if err != nil { 699 return nil, err 700 } 701 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 702 if err != nil { 703 return nil, status.Errorf(codes.InvalidArgument, "error parsing Role field path value from %s: %v", valueStr, err) 704 } 705 return fpv.(Role_FieldPathValue), nil 706 } 707 708 func MustParseRole_FieldPathValue(pathStr, valueStr string) Role_FieldPathValue { 709 fpv, err := ParseRole_FieldPathValue(pathStr, valueStr) 710 if err != nil { 711 panic(err) 712 } 713 return fpv 714 } 715 716 type Role_FieldTerminalPathValue struct { 717 Role_FieldTerminalPath 718 value interface{} 719 } 720 721 var _ Role_FieldPathValue = (*Role_FieldTerminalPathValue)(nil) 722 723 // GetRawValue returns raw value stored under selected path for 'Role' as interface{} 724 func (fpv *Role_FieldTerminalPathValue) GetRawValue() interface{} { 725 return fpv.value 726 } 727 func (fpv *Role_FieldTerminalPathValue) AsNameValue() (*Name, bool) { 728 res, ok := fpv.value.(*Name) 729 return res, ok 730 } 731 func (fpv *Role_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) { 732 res, ok := fpv.value.(*meta.Meta) 733 return res, ok 734 } 735 func (fpv *Role_FieldTerminalPathValue) AsDisplayNameValue() (string, bool) { 736 res, ok := fpv.value.(string) 737 return res, ok 738 } 739 func (fpv *Role_FieldTerminalPathValue) AsDescriptionValue() (string, bool) { 740 res, ok := fpv.value.(string) 741 return res, ok 742 } 743 func (fpv *Role_FieldTerminalPathValue) AsCategoryValue() (Role_Category, bool) { 744 res, ok := fpv.value.(Role_Category) 745 return res, ok 746 } 747 func (fpv *Role_FieldTerminalPathValue) AsScopeParamsValue() ([]*Role_ScopeParamType, bool) { 748 res, ok := fpv.value.([]*Role_ScopeParamType) 749 return res, ok 750 } 751 func (fpv *Role_FieldTerminalPathValue) AsConstValuesValue() ([]*ScopeParam, bool) { 752 res, ok := fpv.value.([]*ScopeParam) 753 return res, ok 754 } 755 func (fpv *Role_FieldTerminalPathValue) AsDefaultValuesValue() ([]*ScopeParam, bool) { 756 res, ok := fpv.value.([]*ScopeParam) 757 return res, ok 758 } 759 func (fpv *Role_FieldTerminalPathValue) AsGrantsValue() ([]*Role_Grant, bool) { 760 res, ok := fpv.value.([]*Role_Grant) 761 return res, ok 762 } 763 func (fpv *Role_FieldTerminalPathValue) AsOwnedObjectsValue() ([]string, bool) { 764 res, ok := fpv.value.([]string) 765 return res, ok 766 } 767 func (fpv *Role_FieldTerminalPathValue) AsServicesValue() ([]*meta_service.Reference, bool) { 768 res, ok := fpv.value.([]*meta_service.Reference) 769 return res, ok 770 } 771 func (fpv *Role_FieldTerminalPathValue) AsRbSpecGenerationValue() (int64, bool) { 772 res, ok := fpv.value.(int64) 773 return res, ok 774 } 775 776 // SetTo stores value for selected field for object Role 777 func (fpv *Role_FieldTerminalPathValue) SetTo(target **Role) { 778 if *target == nil { 779 *target = new(Role) 780 } 781 switch fpv.selector { 782 case Role_FieldPathSelectorName: 783 (*target).Name = fpv.value.(*Name) 784 case Role_FieldPathSelectorMetadata: 785 (*target).Metadata = fpv.value.(*meta.Meta) 786 case Role_FieldPathSelectorDisplayName: 787 (*target).DisplayName = fpv.value.(string) 788 case Role_FieldPathSelectorDescription: 789 (*target).Description = fpv.value.(string) 790 case Role_FieldPathSelectorCategory: 791 (*target).Category = fpv.value.(Role_Category) 792 case Role_FieldPathSelectorScopeParams: 793 (*target).ScopeParams = fpv.value.([]*Role_ScopeParamType) 794 case Role_FieldPathSelectorConstValues: 795 (*target).ConstValues = fpv.value.([]*ScopeParam) 796 case Role_FieldPathSelectorDefaultValues: 797 (*target).DefaultValues = fpv.value.([]*ScopeParam) 798 case Role_FieldPathSelectorGrants: 799 (*target).Grants = fpv.value.([]*Role_Grant) 800 case Role_FieldPathSelectorOwnedObjects: 801 (*target).OwnedObjects = fpv.value.([]string) 802 case Role_FieldPathSelectorServices: 803 (*target).Services = fpv.value.([]*meta_service.Reference) 804 case Role_FieldPathSelectorRbSpecGeneration: 805 (*target).RbSpecGeneration = fpv.value.(int64) 806 default: 807 panic(fmt.Sprintf("Invalid selector for Role: %d", fpv.selector)) 808 } 809 } 810 811 func (fpv *Role_FieldTerminalPathValue) SetToRaw(target proto.Message) { 812 typedObject := target.(*Role) 813 fpv.SetTo(&typedObject) 814 } 815 816 // CompareWith compares value in the 'Role_FieldTerminalPathValue' with the value under path in 'Role'. 817 func (fpv *Role_FieldTerminalPathValue) CompareWith(source *Role) (int, bool) { 818 switch fpv.selector { 819 case Role_FieldPathSelectorName: 820 leftValue := fpv.value.(*Name) 821 rightValue := source.GetName() 822 if leftValue == nil { 823 if rightValue != nil { 824 return -1, true 825 } 826 return 0, true 827 } 828 if rightValue == nil { 829 return 1, true 830 } 831 if leftValue.String() == rightValue.String() { 832 return 0, true 833 } else if leftValue.String() < rightValue.String() { 834 return -1, true 835 } else { 836 return 1, true 837 } 838 case Role_FieldPathSelectorMetadata: 839 return 0, false 840 case Role_FieldPathSelectorDisplayName: 841 leftValue := fpv.value.(string) 842 rightValue := source.GetDisplayName() 843 if (leftValue) == (rightValue) { 844 return 0, true 845 } else if (leftValue) < (rightValue) { 846 return -1, true 847 } else { 848 return 1, true 849 } 850 case Role_FieldPathSelectorDescription: 851 leftValue := fpv.value.(string) 852 rightValue := source.GetDescription() 853 if (leftValue) == (rightValue) { 854 return 0, true 855 } else if (leftValue) < (rightValue) { 856 return -1, true 857 } else { 858 return 1, true 859 } 860 case Role_FieldPathSelectorCategory: 861 leftValue := fpv.value.(Role_Category) 862 rightValue := source.GetCategory() 863 if (leftValue) == (rightValue) { 864 return 0, true 865 } else if (leftValue) < (rightValue) { 866 return -1, true 867 } else { 868 return 1, true 869 } 870 case Role_FieldPathSelectorScopeParams: 871 return 0, false 872 case Role_FieldPathSelectorConstValues: 873 return 0, false 874 case Role_FieldPathSelectorDefaultValues: 875 return 0, false 876 case Role_FieldPathSelectorGrants: 877 return 0, false 878 case Role_FieldPathSelectorOwnedObjects: 879 return 0, false 880 case Role_FieldPathSelectorServices: 881 return 0, false 882 case Role_FieldPathSelectorRbSpecGeneration: 883 leftValue := fpv.value.(int64) 884 rightValue := source.GetRbSpecGeneration() 885 if (leftValue) == (rightValue) { 886 return 0, true 887 } else if (leftValue) < (rightValue) { 888 return -1, true 889 } else { 890 return 1, true 891 } 892 default: 893 panic(fmt.Sprintf("Invalid selector for Role: %d", fpv.selector)) 894 } 895 } 896 897 func (fpv *Role_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 898 return fpv.CompareWith(source.(*Role)) 899 } 900 901 type Role_FieldSubPathValue struct { 902 Role_FieldPath 903 subPathValue gotenobject.FieldPathValue 904 } 905 906 var _ Role_FieldPathValue = (*Role_FieldSubPathValue)(nil) 907 908 func (fpvs *Role_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) { 909 res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue) 910 return res, ok 911 } 912 func (fpvs *Role_FieldSubPathValue) AsScopeParamsPathValue() (RoleScopeParamType_FieldPathValue, bool) { 913 res, ok := fpvs.subPathValue.(RoleScopeParamType_FieldPathValue) 914 return res, ok 915 } 916 func (fpvs *Role_FieldSubPathValue) AsConstValuesPathValue() (ScopeParam_FieldPathValue, bool) { 917 res, ok := fpvs.subPathValue.(ScopeParam_FieldPathValue) 918 return res, ok 919 } 920 func (fpvs *Role_FieldSubPathValue) AsDefaultValuesPathValue() (ScopeParam_FieldPathValue, bool) { 921 res, ok := fpvs.subPathValue.(ScopeParam_FieldPathValue) 922 return res, ok 923 } 924 func (fpvs *Role_FieldSubPathValue) AsGrantsPathValue() (RoleGrant_FieldPathValue, bool) { 925 res, ok := fpvs.subPathValue.(RoleGrant_FieldPathValue) 926 return res, ok 927 } 928 929 func (fpvs *Role_FieldSubPathValue) SetTo(target **Role) { 930 if *target == nil { 931 *target = new(Role) 932 } 933 switch fpvs.Selector() { 934 case Role_FieldPathSelectorMetadata: 935 fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata) 936 case Role_FieldPathSelectorScopeParams: 937 panic("FieldPath setter is unsupported for array subpaths") 938 case Role_FieldPathSelectorConstValues: 939 panic("FieldPath setter is unsupported for array subpaths") 940 case Role_FieldPathSelectorDefaultValues: 941 panic("FieldPath setter is unsupported for array subpaths") 942 case Role_FieldPathSelectorGrants: 943 panic("FieldPath setter is unsupported for array subpaths") 944 default: 945 panic(fmt.Sprintf("Invalid selector for Role: %d", fpvs.Selector())) 946 } 947 } 948 949 func (fpvs *Role_FieldSubPathValue) SetToRaw(target proto.Message) { 950 typedObject := target.(*Role) 951 fpvs.SetTo(&typedObject) 952 } 953 954 func (fpvs *Role_FieldSubPathValue) GetRawValue() interface{} { 955 return fpvs.subPathValue.GetRawValue() 956 } 957 958 func (fpvs *Role_FieldSubPathValue) CompareWith(source *Role) (int, bool) { 959 switch fpvs.Selector() { 960 case Role_FieldPathSelectorMetadata: 961 return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata()) 962 case Role_FieldPathSelectorScopeParams: 963 return 0, false // repeated field 964 case Role_FieldPathSelectorConstValues: 965 return 0, false // repeated field 966 case Role_FieldPathSelectorDefaultValues: 967 return 0, false // repeated field 968 case Role_FieldPathSelectorGrants: 969 return 0, false // repeated field 970 default: 971 panic(fmt.Sprintf("Invalid selector for Role: %d", fpvs.Selector())) 972 } 973 } 974 975 func (fpvs *Role_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 976 return fpvs.CompareWith(source.(*Role)) 977 } 978 979 // Role_FieldPathArrayItemValue allows storing single item in Path-specific values for Role according to their type 980 // Present only for array (repeated) types. 981 type Role_FieldPathArrayItemValue interface { 982 gotenobject.FieldPathArrayItemValue 983 Role_FieldPath 984 ContainsValue(*Role) bool 985 } 986 987 // ParseRole_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 988 func ParseRole_FieldPathArrayItemValue(pathStr, valueStr string) (Role_FieldPathArrayItemValue, error) { 989 fp, err := ParseRole_FieldPath(pathStr) 990 if err != nil { 991 return nil, err 992 } 993 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 994 if err != nil { 995 return nil, status.Errorf(codes.InvalidArgument, "error parsing Role field path array item value from %s: %v", valueStr, err) 996 } 997 return fpaiv.(Role_FieldPathArrayItemValue), nil 998 } 999 1000 func MustParseRole_FieldPathArrayItemValue(pathStr, valueStr string) Role_FieldPathArrayItemValue { 1001 fpaiv, err := ParseRole_FieldPathArrayItemValue(pathStr, valueStr) 1002 if err != nil { 1003 panic(err) 1004 } 1005 return fpaiv 1006 } 1007 1008 type Role_FieldTerminalPathArrayItemValue struct { 1009 Role_FieldTerminalPath 1010 value interface{} 1011 } 1012 1013 var _ Role_FieldPathArrayItemValue = (*Role_FieldTerminalPathArrayItemValue)(nil) 1014 1015 // GetRawValue returns stored element value for array in object Role as interface{} 1016 func (fpaiv *Role_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 1017 return fpaiv.value 1018 } 1019 func (fpaiv *Role_FieldTerminalPathArrayItemValue) AsScopeParamsItemValue() (*Role_ScopeParamType, bool) { 1020 res, ok := fpaiv.value.(*Role_ScopeParamType) 1021 return res, ok 1022 } 1023 func (fpaiv *Role_FieldTerminalPathArrayItemValue) AsConstValuesItemValue() (*ScopeParam, bool) { 1024 res, ok := fpaiv.value.(*ScopeParam) 1025 return res, ok 1026 } 1027 func (fpaiv *Role_FieldTerminalPathArrayItemValue) AsDefaultValuesItemValue() (*ScopeParam, bool) { 1028 res, ok := fpaiv.value.(*ScopeParam) 1029 return res, ok 1030 } 1031 func (fpaiv *Role_FieldTerminalPathArrayItemValue) AsGrantsItemValue() (*Role_Grant, bool) { 1032 res, ok := fpaiv.value.(*Role_Grant) 1033 return res, ok 1034 } 1035 func (fpaiv *Role_FieldTerminalPathArrayItemValue) AsOwnedObjectsItemValue() (string, bool) { 1036 res, ok := fpaiv.value.(string) 1037 return res, ok 1038 } 1039 func (fpaiv *Role_FieldTerminalPathArrayItemValue) AsServicesItemValue() (*meta_service.Reference, bool) { 1040 res, ok := fpaiv.value.(*meta_service.Reference) 1041 return res, ok 1042 } 1043 1044 func (fpaiv *Role_FieldTerminalPathArrayItemValue) GetSingle(source *Role) (interface{}, bool) { 1045 return nil, false 1046 } 1047 1048 func (fpaiv *Role_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 1049 return fpaiv.GetSingle(source.(*Role)) 1050 } 1051 1052 // Contains returns a boolean indicating if value that is being held is present in given 'Role' 1053 func (fpaiv *Role_FieldTerminalPathArrayItemValue) ContainsValue(source *Role) bool { 1054 slice := fpaiv.Role_FieldTerminalPath.Get(source) 1055 for _, v := range slice { 1056 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 1057 if proto.Equal(asProtoMsg, v.(proto.Message)) { 1058 return true 1059 } 1060 } else if reflect.DeepEqual(v, fpaiv.value) { 1061 return true 1062 } 1063 } 1064 return false 1065 } 1066 1067 type Role_FieldSubPathArrayItemValue struct { 1068 Role_FieldPath 1069 subPathItemValue gotenobject.FieldPathArrayItemValue 1070 } 1071 1072 // GetRawValue returns stored array item value 1073 func (fpaivs *Role_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 1074 return fpaivs.subPathItemValue.GetRawItemValue() 1075 } 1076 func (fpaivs *Role_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) { 1077 res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue) 1078 return res, ok 1079 } 1080 func (fpaivs *Role_FieldSubPathArrayItemValue) AsScopeParamsPathItemValue() (RoleScopeParamType_FieldPathArrayItemValue, bool) { 1081 res, ok := fpaivs.subPathItemValue.(RoleScopeParamType_FieldPathArrayItemValue) 1082 return res, ok 1083 } 1084 func (fpaivs *Role_FieldSubPathArrayItemValue) AsConstValuesPathItemValue() (ScopeParam_FieldPathArrayItemValue, bool) { 1085 res, ok := fpaivs.subPathItemValue.(ScopeParam_FieldPathArrayItemValue) 1086 return res, ok 1087 } 1088 func (fpaivs *Role_FieldSubPathArrayItemValue) AsDefaultValuesPathItemValue() (ScopeParam_FieldPathArrayItemValue, bool) { 1089 res, ok := fpaivs.subPathItemValue.(ScopeParam_FieldPathArrayItemValue) 1090 return res, ok 1091 } 1092 func (fpaivs *Role_FieldSubPathArrayItemValue) AsGrantsPathItemValue() (RoleGrant_FieldPathArrayItemValue, bool) { 1093 res, ok := fpaivs.subPathItemValue.(RoleGrant_FieldPathArrayItemValue) 1094 return res, ok 1095 } 1096 1097 // Contains returns a boolean indicating if value that is being held is present in given 'Role' 1098 func (fpaivs *Role_FieldSubPathArrayItemValue) ContainsValue(source *Role) bool { 1099 switch fpaivs.Selector() { 1100 case Role_FieldPathSelectorMetadata: 1101 return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata()) 1102 case Role_FieldPathSelectorScopeParams: 1103 return false // repeated/map field 1104 case Role_FieldPathSelectorConstValues: 1105 return false // repeated/map field 1106 case Role_FieldPathSelectorDefaultValues: 1107 return false // repeated/map field 1108 case Role_FieldPathSelectorGrants: 1109 return false // repeated/map field 1110 default: 1111 panic(fmt.Sprintf("Invalid selector for Role: %d", fpaivs.Selector())) 1112 } 1113 } 1114 1115 // Role_FieldPathArrayOfValues allows storing slice of values for Role fields according to their type 1116 type Role_FieldPathArrayOfValues interface { 1117 gotenobject.FieldPathArrayOfValues 1118 Role_FieldPath 1119 } 1120 1121 func ParseRole_FieldPathArrayOfValues(pathStr, valuesStr string) (Role_FieldPathArrayOfValues, error) { 1122 fp, err := ParseRole_FieldPath(pathStr) 1123 if err != nil { 1124 return nil, err 1125 } 1126 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 1127 if err != nil { 1128 return nil, status.Errorf(codes.InvalidArgument, "error parsing Role field path array of values from %s: %v", valuesStr, err) 1129 } 1130 return fpaov.(Role_FieldPathArrayOfValues), nil 1131 } 1132 1133 func MustParseRole_FieldPathArrayOfValues(pathStr, valuesStr string) Role_FieldPathArrayOfValues { 1134 fpaov, err := ParseRole_FieldPathArrayOfValues(pathStr, valuesStr) 1135 if err != nil { 1136 panic(err) 1137 } 1138 return fpaov 1139 } 1140 1141 type Role_FieldTerminalPathArrayOfValues struct { 1142 Role_FieldTerminalPath 1143 values interface{} 1144 } 1145 1146 var _ Role_FieldPathArrayOfValues = (*Role_FieldTerminalPathArrayOfValues)(nil) 1147 1148 func (fpaov *Role_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 1149 switch fpaov.selector { 1150 case Role_FieldPathSelectorName: 1151 for _, v := range fpaov.values.([]*Name) { 1152 values = append(values, v) 1153 } 1154 case Role_FieldPathSelectorMetadata: 1155 for _, v := range fpaov.values.([]*meta.Meta) { 1156 values = append(values, v) 1157 } 1158 case Role_FieldPathSelectorDisplayName: 1159 for _, v := range fpaov.values.([]string) { 1160 values = append(values, v) 1161 } 1162 case Role_FieldPathSelectorDescription: 1163 for _, v := range fpaov.values.([]string) { 1164 values = append(values, v) 1165 } 1166 case Role_FieldPathSelectorCategory: 1167 for _, v := range fpaov.values.([]Role_Category) { 1168 values = append(values, v) 1169 } 1170 case Role_FieldPathSelectorScopeParams: 1171 for _, v := range fpaov.values.([][]*Role_ScopeParamType) { 1172 values = append(values, v) 1173 } 1174 case Role_FieldPathSelectorConstValues: 1175 for _, v := range fpaov.values.([][]*ScopeParam) { 1176 values = append(values, v) 1177 } 1178 case Role_FieldPathSelectorDefaultValues: 1179 for _, v := range fpaov.values.([][]*ScopeParam) { 1180 values = append(values, v) 1181 } 1182 case Role_FieldPathSelectorGrants: 1183 for _, v := range fpaov.values.([][]*Role_Grant) { 1184 values = append(values, v) 1185 } 1186 case Role_FieldPathSelectorOwnedObjects: 1187 for _, v := range fpaov.values.([][]string) { 1188 values = append(values, v) 1189 } 1190 case Role_FieldPathSelectorServices: 1191 for _, v := range fpaov.values.([][]*meta_service.Reference) { 1192 values = append(values, v) 1193 } 1194 case Role_FieldPathSelectorRbSpecGeneration: 1195 for _, v := range fpaov.values.([]int64) { 1196 values = append(values, v) 1197 } 1198 } 1199 return 1200 } 1201 func (fpaov *Role_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) { 1202 res, ok := fpaov.values.([]*Name) 1203 return res, ok 1204 } 1205 func (fpaov *Role_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) { 1206 res, ok := fpaov.values.([]*meta.Meta) 1207 return res, ok 1208 } 1209 func (fpaov *Role_FieldTerminalPathArrayOfValues) AsDisplayNameArrayOfValues() ([]string, bool) { 1210 res, ok := fpaov.values.([]string) 1211 return res, ok 1212 } 1213 func (fpaov *Role_FieldTerminalPathArrayOfValues) AsDescriptionArrayOfValues() ([]string, bool) { 1214 res, ok := fpaov.values.([]string) 1215 return res, ok 1216 } 1217 func (fpaov *Role_FieldTerminalPathArrayOfValues) AsCategoryArrayOfValues() ([]Role_Category, bool) { 1218 res, ok := fpaov.values.([]Role_Category) 1219 return res, ok 1220 } 1221 func (fpaov *Role_FieldTerminalPathArrayOfValues) AsScopeParamsArrayOfValues() ([][]*Role_ScopeParamType, bool) { 1222 res, ok := fpaov.values.([][]*Role_ScopeParamType) 1223 return res, ok 1224 } 1225 func (fpaov *Role_FieldTerminalPathArrayOfValues) AsConstValuesArrayOfValues() ([][]*ScopeParam, bool) { 1226 res, ok := fpaov.values.([][]*ScopeParam) 1227 return res, ok 1228 } 1229 func (fpaov *Role_FieldTerminalPathArrayOfValues) AsDefaultValuesArrayOfValues() ([][]*ScopeParam, bool) { 1230 res, ok := fpaov.values.([][]*ScopeParam) 1231 return res, ok 1232 } 1233 func (fpaov *Role_FieldTerminalPathArrayOfValues) AsGrantsArrayOfValues() ([][]*Role_Grant, bool) { 1234 res, ok := fpaov.values.([][]*Role_Grant) 1235 return res, ok 1236 } 1237 func (fpaov *Role_FieldTerminalPathArrayOfValues) AsOwnedObjectsArrayOfValues() ([][]string, bool) { 1238 res, ok := fpaov.values.([][]string) 1239 return res, ok 1240 } 1241 func (fpaov *Role_FieldTerminalPathArrayOfValues) AsServicesArrayOfValues() ([][]*meta_service.Reference, bool) { 1242 res, ok := fpaov.values.([][]*meta_service.Reference) 1243 return res, ok 1244 } 1245 func (fpaov *Role_FieldTerminalPathArrayOfValues) AsRbSpecGenerationArrayOfValues() ([]int64, bool) { 1246 res, ok := fpaov.values.([]int64) 1247 return res, ok 1248 } 1249 1250 type Role_FieldSubPathArrayOfValues struct { 1251 Role_FieldPath 1252 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 1253 } 1254 1255 var _ Role_FieldPathArrayOfValues = (*Role_FieldSubPathArrayOfValues)(nil) 1256 1257 func (fpsaov *Role_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 1258 return fpsaov.subPathArrayOfValues.GetRawValues() 1259 } 1260 func (fpsaov *Role_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) { 1261 res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues) 1262 return res, ok 1263 } 1264 func (fpsaov *Role_FieldSubPathArrayOfValues) AsScopeParamsPathArrayOfValues() (RoleScopeParamType_FieldPathArrayOfValues, bool) { 1265 res, ok := fpsaov.subPathArrayOfValues.(RoleScopeParamType_FieldPathArrayOfValues) 1266 return res, ok 1267 } 1268 func (fpsaov *Role_FieldSubPathArrayOfValues) AsConstValuesPathArrayOfValues() (ScopeParam_FieldPathArrayOfValues, bool) { 1269 res, ok := fpsaov.subPathArrayOfValues.(ScopeParam_FieldPathArrayOfValues) 1270 return res, ok 1271 } 1272 func (fpsaov *Role_FieldSubPathArrayOfValues) AsDefaultValuesPathArrayOfValues() (ScopeParam_FieldPathArrayOfValues, bool) { 1273 res, ok := fpsaov.subPathArrayOfValues.(ScopeParam_FieldPathArrayOfValues) 1274 return res, ok 1275 } 1276 func (fpsaov *Role_FieldSubPathArrayOfValues) AsGrantsPathArrayOfValues() (RoleGrant_FieldPathArrayOfValues, bool) { 1277 res, ok := fpsaov.subPathArrayOfValues.(RoleGrant_FieldPathArrayOfValues) 1278 return res, ok 1279 } 1280 1281 // FieldPath provides implementation to handle 1282 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 1283 type RoleScopeParamType_FieldPath interface { 1284 gotenobject.FieldPath 1285 Selector() RoleScopeParamType_FieldPathSelector 1286 Get(source *Role_ScopeParamType) []interface{} 1287 GetSingle(source *Role_ScopeParamType) (interface{}, bool) 1288 ClearValue(item *Role_ScopeParamType) 1289 1290 // Those methods build corresponding RoleScopeParamType_FieldPathValue 1291 // (or array of values) and holds passed value. Panics if injected type is incorrect. 1292 WithIValue(value interface{}) RoleScopeParamType_FieldPathValue 1293 WithIArrayOfValues(values interface{}) RoleScopeParamType_FieldPathArrayOfValues 1294 WithIArrayItemValue(value interface{}) RoleScopeParamType_FieldPathArrayItemValue 1295 } 1296 1297 type RoleScopeParamType_FieldPathSelector int32 1298 1299 const ( 1300 RoleScopeParamType_FieldPathSelectorName RoleScopeParamType_FieldPathSelector = 0 1301 RoleScopeParamType_FieldPathSelectorType RoleScopeParamType_FieldPathSelector = 1 1302 ) 1303 1304 func (s RoleScopeParamType_FieldPathSelector) String() string { 1305 switch s { 1306 case RoleScopeParamType_FieldPathSelectorName: 1307 return "name" 1308 case RoleScopeParamType_FieldPathSelectorType: 1309 return "type" 1310 default: 1311 panic(fmt.Sprintf("Invalid selector for Role_ScopeParamType: %d", s)) 1312 } 1313 } 1314 1315 func BuildRoleScopeParamType_FieldPath(fp gotenobject.RawFieldPath) (RoleScopeParamType_FieldPath, error) { 1316 if len(fp) == 0 { 1317 return nil, status.Error(codes.InvalidArgument, "empty field path for object Role_ScopeParamType") 1318 } 1319 if len(fp) == 1 { 1320 switch fp[0] { 1321 case "name": 1322 return &RoleScopeParamType_FieldTerminalPath{selector: RoleScopeParamType_FieldPathSelectorName}, nil 1323 case "type": 1324 return &RoleScopeParamType_FieldTerminalPath{selector: RoleScopeParamType_FieldPathSelectorType}, nil 1325 } 1326 } 1327 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Role_ScopeParamType", fp) 1328 } 1329 1330 func ParseRoleScopeParamType_FieldPath(rawField string) (RoleScopeParamType_FieldPath, error) { 1331 fp, err := gotenobject.ParseRawFieldPath(rawField) 1332 if err != nil { 1333 return nil, err 1334 } 1335 return BuildRoleScopeParamType_FieldPath(fp) 1336 } 1337 1338 func MustParseRoleScopeParamType_FieldPath(rawField string) RoleScopeParamType_FieldPath { 1339 fp, err := ParseRoleScopeParamType_FieldPath(rawField) 1340 if err != nil { 1341 panic(err) 1342 } 1343 return fp 1344 } 1345 1346 type RoleScopeParamType_FieldTerminalPath struct { 1347 selector RoleScopeParamType_FieldPathSelector 1348 } 1349 1350 var _ RoleScopeParamType_FieldPath = (*RoleScopeParamType_FieldTerminalPath)(nil) 1351 1352 func (fp *RoleScopeParamType_FieldTerminalPath) Selector() RoleScopeParamType_FieldPathSelector { 1353 return fp.selector 1354 } 1355 1356 // String returns path representation in proto convention 1357 func (fp *RoleScopeParamType_FieldTerminalPath) String() string { 1358 return fp.selector.String() 1359 } 1360 1361 // JSONString returns path representation is JSON convention 1362 func (fp *RoleScopeParamType_FieldTerminalPath) JSONString() string { 1363 return strcase.ToLowerCamel(fp.String()) 1364 } 1365 1366 // Get returns all values pointed by specific field from source Role_ScopeParamType 1367 func (fp *RoleScopeParamType_FieldTerminalPath) Get(source *Role_ScopeParamType) (values []interface{}) { 1368 if source != nil { 1369 switch fp.selector { 1370 case RoleScopeParamType_FieldPathSelectorName: 1371 values = append(values, source.Name) 1372 case RoleScopeParamType_FieldPathSelectorType: 1373 values = append(values, source.Type) 1374 default: 1375 panic(fmt.Sprintf("Invalid selector for Role_ScopeParamType: %d", fp.selector)) 1376 } 1377 } 1378 return 1379 } 1380 1381 func (fp *RoleScopeParamType_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 1382 return fp.Get(source.(*Role_ScopeParamType)) 1383 } 1384 1385 // GetSingle returns value pointed by specific field of from source Role_ScopeParamType 1386 func (fp *RoleScopeParamType_FieldTerminalPath) GetSingle(source *Role_ScopeParamType) (interface{}, bool) { 1387 switch fp.selector { 1388 case RoleScopeParamType_FieldPathSelectorName: 1389 return source.GetName(), source != nil 1390 case RoleScopeParamType_FieldPathSelectorType: 1391 return source.GetType(), source != nil 1392 default: 1393 panic(fmt.Sprintf("Invalid selector for Role_ScopeParamType: %d", fp.selector)) 1394 } 1395 } 1396 1397 func (fp *RoleScopeParamType_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1398 return fp.GetSingle(source.(*Role_ScopeParamType)) 1399 } 1400 1401 // GetDefault returns a default value of the field type 1402 func (fp *RoleScopeParamType_FieldTerminalPath) GetDefault() interface{} { 1403 switch fp.selector { 1404 case RoleScopeParamType_FieldPathSelectorName: 1405 return "" 1406 case RoleScopeParamType_FieldPathSelectorType: 1407 return Role_ScopeParamType_UNDEFINED 1408 default: 1409 panic(fmt.Sprintf("Invalid selector for Role_ScopeParamType: %d", fp.selector)) 1410 } 1411 } 1412 1413 func (fp *RoleScopeParamType_FieldTerminalPath) ClearValue(item *Role_ScopeParamType) { 1414 if item != nil { 1415 switch fp.selector { 1416 case RoleScopeParamType_FieldPathSelectorName: 1417 item.Name = "" 1418 case RoleScopeParamType_FieldPathSelectorType: 1419 item.Type = Role_ScopeParamType_UNDEFINED 1420 default: 1421 panic(fmt.Sprintf("Invalid selector for Role_ScopeParamType: %d", fp.selector)) 1422 } 1423 } 1424 } 1425 1426 func (fp *RoleScopeParamType_FieldTerminalPath) ClearValueRaw(item proto.Message) { 1427 fp.ClearValue(item.(*Role_ScopeParamType)) 1428 } 1429 1430 // IsLeaf - whether field path is holds simple value 1431 func (fp *RoleScopeParamType_FieldTerminalPath) IsLeaf() bool { 1432 return fp.selector == RoleScopeParamType_FieldPathSelectorName || 1433 fp.selector == RoleScopeParamType_FieldPathSelectorType 1434 } 1435 1436 func (fp *RoleScopeParamType_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1437 return []gotenobject.FieldPath{fp} 1438 } 1439 1440 func (fp *RoleScopeParamType_FieldTerminalPath) WithIValue(value interface{}) RoleScopeParamType_FieldPathValue { 1441 switch fp.selector { 1442 case RoleScopeParamType_FieldPathSelectorName: 1443 return &RoleScopeParamType_FieldTerminalPathValue{RoleScopeParamType_FieldTerminalPath: *fp, value: value.(string)} 1444 case RoleScopeParamType_FieldPathSelectorType: 1445 return &RoleScopeParamType_FieldTerminalPathValue{RoleScopeParamType_FieldTerminalPath: *fp, value: value.(Role_ScopeParamType_Type)} 1446 default: 1447 panic(fmt.Sprintf("Invalid selector for Role_ScopeParamType: %d", fp.selector)) 1448 } 1449 } 1450 1451 func (fp *RoleScopeParamType_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1452 return fp.WithIValue(value) 1453 } 1454 1455 func (fp *RoleScopeParamType_FieldTerminalPath) WithIArrayOfValues(values interface{}) RoleScopeParamType_FieldPathArrayOfValues { 1456 fpaov := &RoleScopeParamType_FieldTerminalPathArrayOfValues{RoleScopeParamType_FieldTerminalPath: *fp} 1457 switch fp.selector { 1458 case RoleScopeParamType_FieldPathSelectorName: 1459 return &RoleScopeParamType_FieldTerminalPathArrayOfValues{RoleScopeParamType_FieldTerminalPath: *fp, values: values.([]string)} 1460 case RoleScopeParamType_FieldPathSelectorType: 1461 return &RoleScopeParamType_FieldTerminalPathArrayOfValues{RoleScopeParamType_FieldTerminalPath: *fp, values: values.([]Role_ScopeParamType_Type)} 1462 default: 1463 panic(fmt.Sprintf("Invalid selector for Role_ScopeParamType: %d", fp.selector)) 1464 } 1465 return fpaov 1466 } 1467 1468 func (fp *RoleScopeParamType_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1469 return fp.WithIArrayOfValues(values) 1470 } 1471 1472 func (fp *RoleScopeParamType_FieldTerminalPath) WithIArrayItemValue(value interface{}) RoleScopeParamType_FieldPathArrayItemValue { 1473 switch fp.selector { 1474 default: 1475 panic(fmt.Sprintf("Invalid selector for Role_ScopeParamType: %d", fp.selector)) 1476 } 1477 } 1478 1479 func (fp *RoleScopeParamType_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1480 return fp.WithIArrayItemValue(value) 1481 } 1482 1483 // RoleScopeParamType_FieldPathValue allows storing values for ScopeParamType fields according to their type 1484 type RoleScopeParamType_FieldPathValue interface { 1485 RoleScopeParamType_FieldPath 1486 gotenobject.FieldPathValue 1487 SetTo(target **Role_ScopeParamType) 1488 CompareWith(*Role_ScopeParamType) (cmp int, comparable bool) 1489 } 1490 1491 func ParseRoleScopeParamType_FieldPathValue(pathStr, valueStr string) (RoleScopeParamType_FieldPathValue, error) { 1492 fp, err := ParseRoleScopeParamType_FieldPath(pathStr) 1493 if err != nil { 1494 return nil, err 1495 } 1496 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 1497 if err != nil { 1498 return nil, status.Errorf(codes.InvalidArgument, "error parsing ScopeParamType field path value from %s: %v", valueStr, err) 1499 } 1500 return fpv.(RoleScopeParamType_FieldPathValue), nil 1501 } 1502 1503 func MustParseRoleScopeParamType_FieldPathValue(pathStr, valueStr string) RoleScopeParamType_FieldPathValue { 1504 fpv, err := ParseRoleScopeParamType_FieldPathValue(pathStr, valueStr) 1505 if err != nil { 1506 panic(err) 1507 } 1508 return fpv 1509 } 1510 1511 type RoleScopeParamType_FieldTerminalPathValue struct { 1512 RoleScopeParamType_FieldTerminalPath 1513 value interface{} 1514 } 1515 1516 var _ RoleScopeParamType_FieldPathValue = (*RoleScopeParamType_FieldTerminalPathValue)(nil) 1517 1518 // GetRawValue returns raw value stored under selected path for 'ScopeParamType' as interface{} 1519 func (fpv *RoleScopeParamType_FieldTerminalPathValue) GetRawValue() interface{} { 1520 return fpv.value 1521 } 1522 func (fpv *RoleScopeParamType_FieldTerminalPathValue) AsNameValue() (string, bool) { 1523 res, ok := fpv.value.(string) 1524 return res, ok 1525 } 1526 func (fpv *RoleScopeParamType_FieldTerminalPathValue) AsTypeValue() (Role_ScopeParamType_Type, bool) { 1527 res, ok := fpv.value.(Role_ScopeParamType_Type) 1528 return res, ok 1529 } 1530 1531 // SetTo stores value for selected field for object ScopeParamType 1532 func (fpv *RoleScopeParamType_FieldTerminalPathValue) SetTo(target **Role_ScopeParamType) { 1533 if *target == nil { 1534 *target = new(Role_ScopeParamType) 1535 } 1536 switch fpv.selector { 1537 case RoleScopeParamType_FieldPathSelectorName: 1538 (*target).Name = fpv.value.(string) 1539 case RoleScopeParamType_FieldPathSelectorType: 1540 (*target).Type = fpv.value.(Role_ScopeParamType_Type) 1541 default: 1542 panic(fmt.Sprintf("Invalid selector for Role_ScopeParamType: %d", fpv.selector)) 1543 } 1544 } 1545 1546 func (fpv *RoleScopeParamType_FieldTerminalPathValue) SetToRaw(target proto.Message) { 1547 typedObject := target.(*Role_ScopeParamType) 1548 fpv.SetTo(&typedObject) 1549 } 1550 1551 // CompareWith compares value in the 'RoleScopeParamType_FieldTerminalPathValue' with the value under path in 'Role_ScopeParamType'. 1552 func (fpv *RoleScopeParamType_FieldTerminalPathValue) CompareWith(source *Role_ScopeParamType) (int, bool) { 1553 switch fpv.selector { 1554 case RoleScopeParamType_FieldPathSelectorName: 1555 leftValue := fpv.value.(string) 1556 rightValue := source.GetName() 1557 if (leftValue) == (rightValue) { 1558 return 0, true 1559 } else if (leftValue) < (rightValue) { 1560 return -1, true 1561 } else { 1562 return 1, true 1563 } 1564 case RoleScopeParamType_FieldPathSelectorType: 1565 leftValue := fpv.value.(Role_ScopeParamType_Type) 1566 rightValue := source.GetType() 1567 if (leftValue) == (rightValue) { 1568 return 0, true 1569 } else if (leftValue) < (rightValue) { 1570 return -1, true 1571 } else { 1572 return 1, true 1573 } 1574 default: 1575 panic(fmt.Sprintf("Invalid selector for Role_ScopeParamType: %d", fpv.selector)) 1576 } 1577 } 1578 1579 func (fpv *RoleScopeParamType_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1580 return fpv.CompareWith(source.(*Role_ScopeParamType)) 1581 } 1582 1583 // RoleScopeParamType_FieldPathArrayItemValue allows storing single item in Path-specific values for ScopeParamType according to their type 1584 // Present only for array (repeated) types. 1585 type RoleScopeParamType_FieldPathArrayItemValue interface { 1586 gotenobject.FieldPathArrayItemValue 1587 RoleScopeParamType_FieldPath 1588 ContainsValue(*Role_ScopeParamType) bool 1589 } 1590 1591 // ParseRoleScopeParamType_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 1592 func ParseRoleScopeParamType_FieldPathArrayItemValue(pathStr, valueStr string) (RoleScopeParamType_FieldPathArrayItemValue, error) { 1593 fp, err := ParseRoleScopeParamType_FieldPath(pathStr) 1594 if err != nil { 1595 return nil, err 1596 } 1597 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 1598 if err != nil { 1599 return nil, status.Errorf(codes.InvalidArgument, "error parsing ScopeParamType field path array item value from %s: %v", valueStr, err) 1600 } 1601 return fpaiv.(RoleScopeParamType_FieldPathArrayItemValue), nil 1602 } 1603 1604 func MustParseRoleScopeParamType_FieldPathArrayItemValue(pathStr, valueStr string) RoleScopeParamType_FieldPathArrayItemValue { 1605 fpaiv, err := ParseRoleScopeParamType_FieldPathArrayItemValue(pathStr, valueStr) 1606 if err != nil { 1607 panic(err) 1608 } 1609 return fpaiv 1610 } 1611 1612 type RoleScopeParamType_FieldTerminalPathArrayItemValue struct { 1613 RoleScopeParamType_FieldTerminalPath 1614 value interface{} 1615 } 1616 1617 var _ RoleScopeParamType_FieldPathArrayItemValue = (*RoleScopeParamType_FieldTerminalPathArrayItemValue)(nil) 1618 1619 // GetRawValue returns stored element value for array in object Role_ScopeParamType as interface{} 1620 func (fpaiv *RoleScopeParamType_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 1621 return fpaiv.value 1622 } 1623 1624 func (fpaiv *RoleScopeParamType_FieldTerminalPathArrayItemValue) GetSingle(source *Role_ScopeParamType) (interface{}, bool) { 1625 return nil, false 1626 } 1627 1628 func (fpaiv *RoleScopeParamType_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 1629 return fpaiv.GetSingle(source.(*Role_ScopeParamType)) 1630 } 1631 1632 // Contains returns a boolean indicating if value that is being held is present in given 'ScopeParamType' 1633 func (fpaiv *RoleScopeParamType_FieldTerminalPathArrayItemValue) ContainsValue(source *Role_ScopeParamType) bool { 1634 slice := fpaiv.RoleScopeParamType_FieldTerminalPath.Get(source) 1635 for _, v := range slice { 1636 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 1637 if proto.Equal(asProtoMsg, v.(proto.Message)) { 1638 return true 1639 } 1640 } else if reflect.DeepEqual(v, fpaiv.value) { 1641 return true 1642 } 1643 } 1644 return false 1645 } 1646 1647 // RoleScopeParamType_FieldPathArrayOfValues allows storing slice of values for ScopeParamType fields according to their type 1648 type RoleScopeParamType_FieldPathArrayOfValues interface { 1649 gotenobject.FieldPathArrayOfValues 1650 RoleScopeParamType_FieldPath 1651 } 1652 1653 func ParseRoleScopeParamType_FieldPathArrayOfValues(pathStr, valuesStr string) (RoleScopeParamType_FieldPathArrayOfValues, error) { 1654 fp, err := ParseRoleScopeParamType_FieldPath(pathStr) 1655 if err != nil { 1656 return nil, err 1657 } 1658 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 1659 if err != nil { 1660 return nil, status.Errorf(codes.InvalidArgument, "error parsing ScopeParamType field path array of values from %s: %v", valuesStr, err) 1661 } 1662 return fpaov.(RoleScopeParamType_FieldPathArrayOfValues), nil 1663 } 1664 1665 func MustParseRoleScopeParamType_FieldPathArrayOfValues(pathStr, valuesStr string) RoleScopeParamType_FieldPathArrayOfValues { 1666 fpaov, err := ParseRoleScopeParamType_FieldPathArrayOfValues(pathStr, valuesStr) 1667 if err != nil { 1668 panic(err) 1669 } 1670 return fpaov 1671 } 1672 1673 type RoleScopeParamType_FieldTerminalPathArrayOfValues struct { 1674 RoleScopeParamType_FieldTerminalPath 1675 values interface{} 1676 } 1677 1678 var _ RoleScopeParamType_FieldPathArrayOfValues = (*RoleScopeParamType_FieldTerminalPathArrayOfValues)(nil) 1679 1680 func (fpaov *RoleScopeParamType_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 1681 switch fpaov.selector { 1682 case RoleScopeParamType_FieldPathSelectorName: 1683 for _, v := range fpaov.values.([]string) { 1684 values = append(values, v) 1685 } 1686 case RoleScopeParamType_FieldPathSelectorType: 1687 for _, v := range fpaov.values.([]Role_ScopeParamType_Type) { 1688 values = append(values, v) 1689 } 1690 } 1691 return 1692 } 1693 func (fpaov *RoleScopeParamType_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]string, bool) { 1694 res, ok := fpaov.values.([]string) 1695 return res, ok 1696 } 1697 func (fpaov *RoleScopeParamType_FieldTerminalPathArrayOfValues) AsTypeArrayOfValues() ([]Role_ScopeParamType_Type, bool) { 1698 res, ok := fpaov.values.([]Role_ScopeParamType_Type) 1699 return res, ok 1700 } 1701 1702 // FieldPath provides implementation to handle 1703 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 1704 type RoleGrant_FieldPath interface { 1705 gotenobject.FieldPath 1706 Selector() RoleGrant_FieldPathSelector 1707 Get(source *Role_Grant) []interface{} 1708 GetSingle(source *Role_Grant) (interface{}, bool) 1709 ClearValue(item *Role_Grant) 1710 1711 // Those methods build corresponding RoleGrant_FieldPathValue 1712 // (or array of values) and holds passed value. Panics if injected type is incorrect. 1713 WithIValue(value interface{}) RoleGrant_FieldPathValue 1714 WithIArrayOfValues(values interface{}) RoleGrant_FieldPathArrayOfValues 1715 WithIArrayItemValue(value interface{}) RoleGrant_FieldPathArrayItemValue 1716 } 1717 1718 type RoleGrant_FieldPathSelector int32 1719 1720 const ( 1721 RoleGrant_FieldPathSelectorSubScope RoleGrant_FieldPathSelector = 0 1722 RoleGrant_FieldPathSelectorPermissions RoleGrant_FieldPathSelector = 1 1723 RoleGrant_FieldPathSelectorResourceFieldConditions RoleGrant_FieldPathSelector = 2 1724 RoleGrant_FieldPathSelectorRequestFieldConditions RoleGrant_FieldPathSelector = 3 1725 RoleGrant_FieldPathSelectorExecutableConditions RoleGrant_FieldPathSelector = 4 1726 ) 1727 1728 func (s RoleGrant_FieldPathSelector) String() string { 1729 switch s { 1730 case RoleGrant_FieldPathSelectorSubScope: 1731 return "sub_scope" 1732 case RoleGrant_FieldPathSelectorPermissions: 1733 return "permissions" 1734 case RoleGrant_FieldPathSelectorResourceFieldConditions: 1735 return "resource_field_conditions" 1736 case RoleGrant_FieldPathSelectorRequestFieldConditions: 1737 return "request_field_conditions" 1738 case RoleGrant_FieldPathSelectorExecutableConditions: 1739 return "executable_conditions" 1740 default: 1741 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", s)) 1742 } 1743 } 1744 1745 func BuildRoleGrant_FieldPath(fp gotenobject.RawFieldPath) (RoleGrant_FieldPath, error) { 1746 if len(fp) == 0 { 1747 return nil, status.Error(codes.InvalidArgument, "empty field path for object Role_Grant") 1748 } 1749 if len(fp) == 1 { 1750 switch fp[0] { 1751 case "sub_scope", "subScope", "sub-scope": 1752 return &RoleGrant_FieldTerminalPath{selector: RoleGrant_FieldPathSelectorSubScope}, nil 1753 case "permissions": 1754 return &RoleGrant_FieldTerminalPath{selector: RoleGrant_FieldPathSelectorPermissions}, nil 1755 case "resource_field_conditions", "resourceFieldConditions", "resource-field-conditions": 1756 return &RoleGrant_FieldTerminalPath{selector: RoleGrant_FieldPathSelectorResourceFieldConditions}, nil 1757 case "request_field_conditions", "requestFieldConditions", "request-field-conditions": 1758 return &RoleGrant_FieldTerminalPath{selector: RoleGrant_FieldPathSelectorRequestFieldConditions}, nil 1759 case "executable_conditions", "executableConditions", "executable-conditions": 1760 return &RoleGrant_FieldTerminalPath{selector: RoleGrant_FieldPathSelectorExecutableConditions}, nil 1761 } 1762 } else { 1763 switch fp[0] { 1764 case "resource_field_conditions", "resourceFieldConditions", "resource-field-conditions": 1765 if subpath, err := BuildRoleGrantFieldCondition_FieldPath(fp[1:]); err != nil { 1766 return nil, err 1767 } else { 1768 return &RoleGrant_FieldSubPath{selector: RoleGrant_FieldPathSelectorResourceFieldConditions, subPath: subpath}, nil 1769 } 1770 case "request_field_conditions", "requestFieldConditions", "request-field-conditions": 1771 if subpath, err := BuildRoleGrantFieldCondition_FieldPath(fp[1:]); err != nil { 1772 return nil, err 1773 } else { 1774 return &RoleGrant_FieldSubPath{selector: RoleGrant_FieldPathSelectorRequestFieldConditions, subPath: subpath}, nil 1775 } 1776 case "executable_conditions", "executableConditions", "executable-conditions": 1777 if subpath, err := condition.BuildExecutableCondition_FieldPath(fp[1:]); err != nil { 1778 return nil, err 1779 } else { 1780 return &RoleGrant_FieldSubPath{selector: RoleGrant_FieldPathSelectorExecutableConditions, subPath: subpath}, nil 1781 } 1782 } 1783 } 1784 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Role_Grant", fp) 1785 } 1786 1787 func ParseRoleGrant_FieldPath(rawField string) (RoleGrant_FieldPath, error) { 1788 fp, err := gotenobject.ParseRawFieldPath(rawField) 1789 if err != nil { 1790 return nil, err 1791 } 1792 return BuildRoleGrant_FieldPath(fp) 1793 } 1794 1795 func MustParseRoleGrant_FieldPath(rawField string) RoleGrant_FieldPath { 1796 fp, err := ParseRoleGrant_FieldPath(rawField) 1797 if err != nil { 1798 panic(err) 1799 } 1800 return fp 1801 } 1802 1803 type RoleGrant_FieldTerminalPath struct { 1804 selector RoleGrant_FieldPathSelector 1805 } 1806 1807 var _ RoleGrant_FieldPath = (*RoleGrant_FieldTerminalPath)(nil) 1808 1809 func (fp *RoleGrant_FieldTerminalPath) Selector() RoleGrant_FieldPathSelector { 1810 return fp.selector 1811 } 1812 1813 // String returns path representation in proto convention 1814 func (fp *RoleGrant_FieldTerminalPath) String() string { 1815 return fp.selector.String() 1816 } 1817 1818 // JSONString returns path representation is JSON convention 1819 func (fp *RoleGrant_FieldTerminalPath) JSONString() string { 1820 return strcase.ToLowerCamel(fp.String()) 1821 } 1822 1823 // Get returns all values pointed by specific field from source Role_Grant 1824 func (fp *RoleGrant_FieldTerminalPath) Get(source *Role_Grant) (values []interface{}) { 1825 if source != nil { 1826 switch fp.selector { 1827 case RoleGrant_FieldPathSelectorSubScope: 1828 values = append(values, source.SubScope) 1829 case RoleGrant_FieldPathSelectorPermissions: 1830 for _, value := range source.GetPermissions() { 1831 values = append(values, value) 1832 } 1833 case RoleGrant_FieldPathSelectorResourceFieldConditions: 1834 for _, value := range source.GetResourceFieldConditions() { 1835 values = append(values, value) 1836 } 1837 case RoleGrant_FieldPathSelectorRequestFieldConditions: 1838 for _, value := range source.GetRequestFieldConditions() { 1839 values = append(values, value) 1840 } 1841 case RoleGrant_FieldPathSelectorExecutableConditions: 1842 for _, value := range source.GetExecutableConditions() { 1843 values = append(values, value) 1844 } 1845 default: 1846 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fp.selector)) 1847 } 1848 } 1849 return 1850 } 1851 1852 func (fp *RoleGrant_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 1853 return fp.Get(source.(*Role_Grant)) 1854 } 1855 1856 // GetSingle returns value pointed by specific field of from source Role_Grant 1857 func (fp *RoleGrant_FieldTerminalPath) GetSingle(source *Role_Grant) (interface{}, bool) { 1858 switch fp.selector { 1859 case RoleGrant_FieldPathSelectorSubScope: 1860 return source.GetSubScope(), source != nil 1861 case RoleGrant_FieldPathSelectorPermissions: 1862 res := source.GetPermissions() 1863 return res, res != nil 1864 case RoleGrant_FieldPathSelectorResourceFieldConditions: 1865 res := source.GetResourceFieldConditions() 1866 return res, res != nil 1867 case RoleGrant_FieldPathSelectorRequestFieldConditions: 1868 res := source.GetRequestFieldConditions() 1869 return res, res != nil 1870 case RoleGrant_FieldPathSelectorExecutableConditions: 1871 res := source.GetExecutableConditions() 1872 return res, res != nil 1873 default: 1874 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fp.selector)) 1875 } 1876 } 1877 1878 func (fp *RoleGrant_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1879 return fp.GetSingle(source.(*Role_Grant)) 1880 } 1881 1882 // GetDefault returns a default value of the field type 1883 func (fp *RoleGrant_FieldTerminalPath) GetDefault() interface{} { 1884 switch fp.selector { 1885 case RoleGrant_FieldPathSelectorSubScope: 1886 return "" 1887 case RoleGrant_FieldPathSelectorPermissions: 1888 return ([]*permission.Reference)(nil) 1889 case RoleGrant_FieldPathSelectorResourceFieldConditions: 1890 return ([]*Role_Grant_FieldCondition)(nil) 1891 case RoleGrant_FieldPathSelectorRequestFieldConditions: 1892 return ([]*Role_Grant_FieldCondition)(nil) 1893 case RoleGrant_FieldPathSelectorExecutableConditions: 1894 return ([]*condition.ExecutableCondition)(nil) 1895 default: 1896 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fp.selector)) 1897 } 1898 } 1899 1900 func (fp *RoleGrant_FieldTerminalPath) ClearValue(item *Role_Grant) { 1901 if item != nil { 1902 switch fp.selector { 1903 case RoleGrant_FieldPathSelectorSubScope: 1904 item.SubScope = "" 1905 case RoleGrant_FieldPathSelectorPermissions: 1906 item.Permissions = nil 1907 case RoleGrant_FieldPathSelectorResourceFieldConditions: 1908 item.ResourceFieldConditions = nil 1909 case RoleGrant_FieldPathSelectorRequestFieldConditions: 1910 item.RequestFieldConditions = nil 1911 case RoleGrant_FieldPathSelectorExecutableConditions: 1912 item.ExecutableConditions = nil 1913 default: 1914 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fp.selector)) 1915 } 1916 } 1917 } 1918 1919 func (fp *RoleGrant_FieldTerminalPath) ClearValueRaw(item proto.Message) { 1920 fp.ClearValue(item.(*Role_Grant)) 1921 } 1922 1923 // IsLeaf - whether field path is holds simple value 1924 func (fp *RoleGrant_FieldTerminalPath) IsLeaf() bool { 1925 return fp.selector == RoleGrant_FieldPathSelectorSubScope || 1926 fp.selector == RoleGrant_FieldPathSelectorPermissions 1927 } 1928 1929 func (fp *RoleGrant_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1930 return []gotenobject.FieldPath{fp} 1931 } 1932 1933 func (fp *RoleGrant_FieldTerminalPath) WithIValue(value interface{}) RoleGrant_FieldPathValue { 1934 switch fp.selector { 1935 case RoleGrant_FieldPathSelectorSubScope: 1936 return &RoleGrant_FieldTerminalPathValue{RoleGrant_FieldTerminalPath: *fp, value: value.(string)} 1937 case RoleGrant_FieldPathSelectorPermissions: 1938 return &RoleGrant_FieldTerminalPathValue{RoleGrant_FieldTerminalPath: *fp, value: value.([]*permission.Reference)} 1939 case RoleGrant_FieldPathSelectorResourceFieldConditions: 1940 return &RoleGrant_FieldTerminalPathValue{RoleGrant_FieldTerminalPath: *fp, value: value.([]*Role_Grant_FieldCondition)} 1941 case RoleGrant_FieldPathSelectorRequestFieldConditions: 1942 return &RoleGrant_FieldTerminalPathValue{RoleGrant_FieldTerminalPath: *fp, value: value.([]*Role_Grant_FieldCondition)} 1943 case RoleGrant_FieldPathSelectorExecutableConditions: 1944 return &RoleGrant_FieldTerminalPathValue{RoleGrant_FieldTerminalPath: *fp, value: value.([]*condition.ExecutableCondition)} 1945 default: 1946 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fp.selector)) 1947 } 1948 } 1949 1950 func (fp *RoleGrant_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1951 return fp.WithIValue(value) 1952 } 1953 1954 func (fp *RoleGrant_FieldTerminalPath) WithIArrayOfValues(values interface{}) RoleGrant_FieldPathArrayOfValues { 1955 fpaov := &RoleGrant_FieldTerminalPathArrayOfValues{RoleGrant_FieldTerminalPath: *fp} 1956 switch fp.selector { 1957 case RoleGrant_FieldPathSelectorSubScope: 1958 return &RoleGrant_FieldTerminalPathArrayOfValues{RoleGrant_FieldTerminalPath: *fp, values: values.([]string)} 1959 case RoleGrant_FieldPathSelectorPermissions: 1960 return &RoleGrant_FieldTerminalPathArrayOfValues{RoleGrant_FieldTerminalPath: *fp, values: values.([][]*permission.Reference)} 1961 case RoleGrant_FieldPathSelectorResourceFieldConditions: 1962 return &RoleGrant_FieldTerminalPathArrayOfValues{RoleGrant_FieldTerminalPath: *fp, values: values.([][]*Role_Grant_FieldCondition)} 1963 case RoleGrant_FieldPathSelectorRequestFieldConditions: 1964 return &RoleGrant_FieldTerminalPathArrayOfValues{RoleGrant_FieldTerminalPath: *fp, values: values.([][]*Role_Grant_FieldCondition)} 1965 case RoleGrant_FieldPathSelectorExecutableConditions: 1966 return &RoleGrant_FieldTerminalPathArrayOfValues{RoleGrant_FieldTerminalPath: *fp, values: values.([][]*condition.ExecutableCondition)} 1967 default: 1968 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fp.selector)) 1969 } 1970 return fpaov 1971 } 1972 1973 func (fp *RoleGrant_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1974 return fp.WithIArrayOfValues(values) 1975 } 1976 1977 func (fp *RoleGrant_FieldTerminalPath) WithIArrayItemValue(value interface{}) RoleGrant_FieldPathArrayItemValue { 1978 switch fp.selector { 1979 case RoleGrant_FieldPathSelectorPermissions: 1980 return &RoleGrant_FieldTerminalPathArrayItemValue{RoleGrant_FieldTerminalPath: *fp, value: value.(*permission.Reference)} 1981 case RoleGrant_FieldPathSelectorResourceFieldConditions: 1982 return &RoleGrant_FieldTerminalPathArrayItemValue{RoleGrant_FieldTerminalPath: *fp, value: value.(*Role_Grant_FieldCondition)} 1983 case RoleGrant_FieldPathSelectorRequestFieldConditions: 1984 return &RoleGrant_FieldTerminalPathArrayItemValue{RoleGrant_FieldTerminalPath: *fp, value: value.(*Role_Grant_FieldCondition)} 1985 case RoleGrant_FieldPathSelectorExecutableConditions: 1986 return &RoleGrant_FieldTerminalPathArrayItemValue{RoleGrant_FieldTerminalPath: *fp, value: value.(*condition.ExecutableCondition)} 1987 default: 1988 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fp.selector)) 1989 } 1990 } 1991 1992 func (fp *RoleGrant_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1993 return fp.WithIArrayItemValue(value) 1994 } 1995 1996 type RoleGrant_FieldSubPath struct { 1997 selector RoleGrant_FieldPathSelector 1998 subPath gotenobject.FieldPath 1999 } 2000 2001 var _ RoleGrant_FieldPath = (*RoleGrant_FieldSubPath)(nil) 2002 2003 func (fps *RoleGrant_FieldSubPath) Selector() RoleGrant_FieldPathSelector { 2004 return fps.selector 2005 } 2006 func (fps *RoleGrant_FieldSubPath) AsResourceFieldConditionsSubPath() (RoleGrantFieldCondition_FieldPath, bool) { 2007 res, ok := fps.subPath.(RoleGrantFieldCondition_FieldPath) 2008 return res, ok 2009 } 2010 func (fps *RoleGrant_FieldSubPath) AsRequestFieldConditionsSubPath() (RoleGrantFieldCondition_FieldPath, bool) { 2011 res, ok := fps.subPath.(RoleGrantFieldCondition_FieldPath) 2012 return res, ok 2013 } 2014 func (fps *RoleGrant_FieldSubPath) AsExecutableConditionsSubPath() (condition.ExecutableCondition_FieldPath, bool) { 2015 res, ok := fps.subPath.(condition.ExecutableCondition_FieldPath) 2016 return res, ok 2017 } 2018 2019 // String returns path representation in proto convention 2020 func (fps *RoleGrant_FieldSubPath) String() string { 2021 return fps.selector.String() + "." + fps.subPath.String() 2022 } 2023 2024 // JSONString returns path representation is JSON convention 2025 func (fps *RoleGrant_FieldSubPath) JSONString() string { 2026 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 2027 } 2028 2029 // Get returns all values pointed by selected field from source Role_Grant 2030 func (fps *RoleGrant_FieldSubPath) Get(source *Role_Grant) (values []interface{}) { 2031 switch fps.selector { 2032 case RoleGrant_FieldPathSelectorResourceFieldConditions: 2033 for _, item := range source.GetResourceFieldConditions() { 2034 values = append(values, fps.subPath.GetRaw(item)...) 2035 } 2036 case RoleGrant_FieldPathSelectorRequestFieldConditions: 2037 for _, item := range source.GetRequestFieldConditions() { 2038 values = append(values, fps.subPath.GetRaw(item)...) 2039 } 2040 case RoleGrant_FieldPathSelectorExecutableConditions: 2041 for _, item := range source.GetExecutableConditions() { 2042 values = append(values, fps.subPath.GetRaw(item)...) 2043 } 2044 default: 2045 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fps.selector)) 2046 } 2047 return 2048 } 2049 2050 func (fps *RoleGrant_FieldSubPath) GetRaw(source proto.Message) []interface{} { 2051 return fps.Get(source.(*Role_Grant)) 2052 } 2053 2054 // GetSingle returns value of selected field from source Role_Grant 2055 func (fps *RoleGrant_FieldSubPath) GetSingle(source *Role_Grant) (interface{}, bool) { 2056 switch fps.selector { 2057 case RoleGrant_FieldPathSelectorResourceFieldConditions: 2058 if len(source.GetResourceFieldConditions()) == 0 { 2059 return nil, false 2060 } 2061 return fps.subPath.GetSingleRaw(source.GetResourceFieldConditions()[0]) 2062 case RoleGrant_FieldPathSelectorRequestFieldConditions: 2063 if len(source.GetRequestFieldConditions()) == 0 { 2064 return nil, false 2065 } 2066 return fps.subPath.GetSingleRaw(source.GetRequestFieldConditions()[0]) 2067 case RoleGrant_FieldPathSelectorExecutableConditions: 2068 if len(source.GetExecutableConditions()) == 0 { 2069 return nil, false 2070 } 2071 return fps.subPath.GetSingleRaw(source.GetExecutableConditions()[0]) 2072 default: 2073 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fps.selector)) 2074 } 2075 } 2076 2077 func (fps *RoleGrant_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 2078 return fps.GetSingle(source.(*Role_Grant)) 2079 } 2080 2081 // GetDefault returns a default value of the field type 2082 func (fps *RoleGrant_FieldSubPath) GetDefault() interface{} { 2083 return fps.subPath.GetDefault() 2084 } 2085 2086 func (fps *RoleGrant_FieldSubPath) ClearValue(item *Role_Grant) { 2087 if item != nil { 2088 switch fps.selector { 2089 case RoleGrant_FieldPathSelectorResourceFieldConditions: 2090 for _, subItem := range item.ResourceFieldConditions { 2091 fps.subPath.ClearValueRaw(subItem) 2092 } 2093 case RoleGrant_FieldPathSelectorRequestFieldConditions: 2094 for _, subItem := range item.RequestFieldConditions { 2095 fps.subPath.ClearValueRaw(subItem) 2096 } 2097 case RoleGrant_FieldPathSelectorExecutableConditions: 2098 for _, subItem := range item.ExecutableConditions { 2099 fps.subPath.ClearValueRaw(subItem) 2100 } 2101 default: 2102 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fps.selector)) 2103 } 2104 } 2105 } 2106 2107 func (fps *RoleGrant_FieldSubPath) ClearValueRaw(item proto.Message) { 2108 fps.ClearValue(item.(*Role_Grant)) 2109 } 2110 2111 // IsLeaf - whether field path is holds simple value 2112 func (fps *RoleGrant_FieldSubPath) IsLeaf() bool { 2113 return fps.subPath.IsLeaf() 2114 } 2115 2116 func (fps *RoleGrant_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 2117 iPaths := []gotenobject.FieldPath{&RoleGrant_FieldTerminalPath{selector: fps.selector}} 2118 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 2119 return iPaths 2120 } 2121 2122 func (fps *RoleGrant_FieldSubPath) WithIValue(value interface{}) RoleGrant_FieldPathValue { 2123 return &RoleGrant_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 2124 } 2125 2126 func (fps *RoleGrant_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 2127 return fps.WithIValue(value) 2128 } 2129 2130 func (fps *RoleGrant_FieldSubPath) WithIArrayOfValues(values interface{}) RoleGrant_FieldPathArrayOfValues { 2131 return &RoleGrant_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 2132 } 2133 2134 func (fps *RoleGrant_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 2135 return fps.WithIArrayOfValues(values) 2136 } 2137 2138 func (fps *RoleGrant_FieldSubPath) WithIArrayItemValue(value interface{}) RoleGrant_FieldPathArrayItemValue { 2139 return &RoleGrant_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 2140 } 2141 2142 func (fps *RoleGrant_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 2143 return fps.WithIArrayItemValue(value) 2144 } 2145 2146 // RoleGrant_FieldPathValue allows storing values for Grant fields according to their type 2147 type RoleGrant_FieldPathValue interface { 2148 RoleGrant_FieldPath 2149 gotenobject.FieldPathValue 2150 SetTo(target **Role_Grant) 2151 CompareWith(*Role_Grant) (cmp int, comparable bool) 2152 } 2153 2154 func ParseRoleGrant_FieldPathValue(pathStr, valueStr string) (RoleGrant_FieldPathValue, error) { 2155 fp, err := ParseRoleGrant_FieldPath(pathStr) 2156 if err != nil { 2157 return nil, err 2158 } 2159 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 2160 if err != nil { 2161 return nil, status.Errorf(codes.InvalidArgument, "error parsing Grant field path value from %s: %v", valueStr, err) 2162 } 2163 return fpv.(RoleGrant_FieldPathValue), nil 2164 } 2165 2166 func MustParseRoleGrant_FieldPathValue(pathStr, valueStr string) RoleGrant_FieldPathValue { 2167 fpv, err := ParseRoleGrant_FieldPathValue(pathStr, valueStr) 2168 if err != nil { 2169 panic(err) 2170 } 2171 return fpv 2172 } 2173 2174 type RoleGrant_FieldTerminalPathValue struct { 2175 RoleGrant_FieldTerminalPath 2176 value interface{} 2177 } 2178 2179 var _ RoleGrant_FieldPathValue = (*RoleGrant_FieldTerminalPathValue)(nil) 2180 2181 // GetRawValue returns raw value stored under selected path for 'Grant' as interface{} 2182 func (fpv *RoleGrant_FieldTerminalPathValue) GetRawValue() interface{} { 2183 return fpv.value 2184 } 2185 func (fpv *RoleGrant_FieldTerminalPathValue) AsSubScopeValue() (string, bool) { 2186 res, ok := fpv.value.(string) 2187 return res, ok 2188 } 2189 func (fpv *RoleGrant_FieldTerminalPathValue) AsPermissionsValue() ([]*permission.Reference, bool) { 2190 res, ok := fpv.value.([]*permission.Reference) 2191 return res, ok 2192 } 2193 func (fpv *RoleGrant_FieldTerminalPathValue) AsResourceFieldConditionsValue() ([]*Role_Grant_FieldCondition, bool) { 2194 res, ok := fpv.value.([]*Role_Grant_FieldCondition) 2195 return res, ok 2196 } 2197 func (fpv *RoleGrant_FieldTerminalPathValue) AsRequestFieldConditionsValue() ([]*Role_Grant_FieldCondition, bool) { 2198 res, ok := fpv.value.([]*Role_Grant_FieldCondition) 2199 return res, ok 2200 } 2201 func (fpv *RoleGrant_FieldTerminalPathValue) AsExecutableConditionsValue() ([]*condition.ExecutableCondition, bool) { 2202 res, ok := fpv.value.([]*condition.ExecutableCondition) 2203 return res, ok 2204 } 2205 2206 // SetTo stores value for selected field for object Grant 2207 func (fpv *RoleGrant_FieldTerminalPathValue) SetTo(target **Role_Grant) { 2208 if *target == nil { 2209 *target = new(Role_Grant) 2210 } 2211 switch fpv.selector { 2212 case RoleGrant_FieldPathSelectorSubScope: 2213 (*target).SubScope = fpv.value.(string) 2214 case RoleGrant_FieldPathSelectorPermissions: 2215 (*target).Permissions = fpv.value.([]*permission.Reference) 2216 case RoleGrant_FieldPathSelectorResourceFieldConditions: 2217 (*target).ResourceFieldConditions = fpv.value.([]*Role_Grant_FieldCondition) 2218 case RoleGrant_FieldPathSelectorRequestFieldConditions: 2219 (*target).RequestFieldConditions = fpv.value.([]*Role_Grant_FieldCondition) 2220 case RoleGrant_FieldPathSelectorExecutableConditions: 2221 (*target).ExecutableConditions = fpv.value.([]*condition.ExecutableCondition) 2222 default: 2223 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fpv.selector)) 2224 } 2225 } 2226 2227 func (fpv *RoleGrant_FieldTerminalPathValue) SetToRaw(target proto.Message) { 2228 typedObject := target.(*Role_Grant) 2229 fpv.SetTo(&typedObject) 2230 } 2231 2232 // CompareWith compares value in the 'RoleGrant_FieldTerminalPathValue' with the value under path in 'Role_Grant'. 2233 func (fpv *RoleGrant_FieldTerminalPathValue) CompareWith(source *Role_Grant) (int, bool) { 2234 switch fpv.selector { 2235 case RoleGrant_FieldPathSelectorSubScope: 2236 leftValue := fpv.value.(string) 2237 rightValue := source.GetSubScope() 2238 if (leftValue) == (rightValue) { 2239 return 0, true 2240 } else if (leftValue) < (rightValue) { 2241 return -1, true 2242 } else { 2243 return 1, true 2244 } 2245 case RoleGrant_FieldPathSelectorPermissions: 2246 return 0, false 2247 case RoleGrant_FieldPathSelectorResourceFieldConditions: 2248 return 0, false 2249 case RoleGrant_FieldPathSelectorRequestFieldConditions: 2250 return 0, false 2251 case RoleGrant_FieldPathSelectorExecutableConditions: 2252 return 0, false 2253 default: 2254 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fpv.selector)) 2255 } 2256 } 2257 2258 func (fpv *RoleGrant_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 2259 return fpv.CompareWith(source.(*Role_Grant)) 2260 } 2261 2262 type RoleGrant_FieldSubPathValue struct { 2263 RoleGrant_FieldPath 2264 subPathValue gotenobject.FieldPathValue 2265 } 2266 2267 var _ RoleGrant_FieldPathValue = (*RoleGrant_FieldSubPathValue)(nil) 2268 2269 func (fpvs *RoleGrant_FieldSubPathValue) AsResourceFieldConditionsPathValue() (RoleGrantFieldCondition_FieldPathValue, bool) { 2270 res, ok := fpvs.subPathValue.(RoleGrantFieldCondition_FieldPathValue) 2271 return res, ok 2272 } 2273 func (fpvs *RoleGrant_FieldSubPathValue) AsRequestFieldConditionsPathValue() (RoleGrantFieldCondition_FieldPathValue, bool) { 2274 res, ok := fpvs.subPathValue.(RoleGrantFieldCondition_FieldPathValue) 2275 return res, ok 2276 } 2277 func (fpvs *RoleGrant_FieldSubPathValue) AsExecutableConditionsPathValue() (condition.ExecutableCondition_FieldPathValue, bool) { 2278 res, ok := fpvs.subPathValue.(condition.ExecutableCondition_FieldPathValue) 2279 return res, ok 2280 } 2281 2282 func (fpvs *RoleGrant_FieldSubPathValue) SetTo(target **Role_Grant) { 2283 if *target == nil { 2284 *target = new(Role_Grant) 2285 } 2286 switch fpvs.Selector() { 2287 case RoleGrant_FieldPathSelectorResourceFieldConditions: 2288 panic("FieldPath setter is unsupported for array subpaths") 2289 case RoleGrant_FieldPathSelectorRequestFieldConditions: 2290 panic("FieldPath setter is unsupported for array subpaths") 2291 case RoleGrant_FieldPathSelectorExecutableConditions: 2292 panic("FieldPath setter is unsupported for array subpaths") 2293 default: 2294 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fpvs.Selector())) 2295 } 2296 } 2297 2298 func (fpvs *RoleGrant_FieldSubPathValue) SetToRaw(target proto.Message) { 2299 typedObject := target.(*Role_Grant) 2300 fpvs.SetTo(&typedObject) 2301 } 2302 2303 func (fpvs *RoleGrant_FieldSubPathValue) GetRawValue() interface{} { 2304 return fpvs.subPathValue.GetRawValue() 2305 } 2306 2307 func (fpvs *RoleGrant_FieldSubPathValue) CompareWith(source *Role_Grant) (int, bool) { 2308 switch fpvs.Selector() { 2309 case RoleGrant_FieldPathSelectorResourceFieldConditions: 2310 return 0, false // repeated field 2311 case RoleGrant_FieldPathSelectorRequestFieldConditions: 2312 return 0, false // repeated field 2313 case RoleGrant_FieldPathSelectorExecutableConditions: 2314 return 0, false // repeated field 2315 default: 2316 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fpvs.Selector())) 2317 } 2318 } 2319 2320 func (fpvs *RoleGrant_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 2321 return fpvs.CompareWith(source.(*Role_Grant)) 2322 } 2323 2324 // RoleGrant_FieldPathArrayItemValue allows storing single item in Path-specific values for Grant according to their type 2325 // Present only for array (repeated) types. 2326 type RoleGrant_FieldPathArrayItemValue interface { 2327 gotenobject.FieldPathArrayItemValue 2328 RoleGrant_FieldPath 2329 ContainsValue(*Role_Grant) bool 2330 } 2331 2332 // ParseRoleGrant_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 2333 func ParseRoleGrant_FieldPathArrayItemValue(pathStr, valueStr string) (RoleGrant_FieldPathArrayItemValue, error) { 2334 fp, err := ParseRoleGrant_FieldPath(pathStr) 2335 if err != nil { 2336 return nil, err 2337 } 2338 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 2339 if err != nil { 2340 return nil, status.Errorf(codes.InvalidArgument, "error parsing Grant field path array item value from %s: %v", valueStr, err) 2341 } 2342 return fpaiv.(RoleGrant_FieldPathArrayItemValue), nil 2343 } 2344 2345 func MustParseRoleGrant_FieldPathArrayItemValue(pathStr, valueStr string) RoleGrant_FieldPathArrayItemValue { 2346 fpaiv, err := ParseRoleGrant_FieldPathArrayItemValue(pathStr, valueStr) 2347 if err != nil { 2348 panic(err) 2349 } 2350 return fpaiv 2351 } 2352 2353 type RoleGrant_FieldTerminalPathArrayItemValue struct { 2354 RoleGrant_FieldTerminalPath 2355 value interface{} 2356 } 2357 2358 var _ RoleGrant_FieldPathArrayItemValue = (*RoleGrant_FieldTerminalPathArrayItemValue)(nil) 2359 2360 // GetRawValue returns stored element value for array in object Role_Grant as interface{} 2361 func (fpaiv *RoleGrant_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 2362 return fpaiv.value 2363 } 2364 func (fpaiv *RoleGrant_FieldTerminalPathArrayItemValue) AsPermissionsItemValue() (*permission.Reference, bool) { 2365 res, ok := fpaiv.value.(*permission.Reference) 2366 return res, ok 2367 } 2368 func (fpaiv *RoleGrant_FieldTerminalPathArrayItemValue) AsResourceFieldConditionsItemValue() (*Role_Grant_FieldCondition, bool) { 2369 res, ok := fpaiv.value.(*Role_Grant_FieldCondition) 2370 return res, ok 2371 } 2372 func (fpaiv *RoleGrant_FieldTerminalPathArrayItemValue) AsRequestFieldConditionsItemValue() (*Role_Grant_FieldCondition, bool) { 2373 res, ok := fpaiv.value.(*Role_Grant_FieldCondition) 2374 return res, ok 2375 } 2376 func (fpaiv *RoleGrant_FieldTerminalPathArrayItemValue) AsExecutableConditionsItemValue() (*condition.ExecutableCondition, bool) { 2377 res, ok := fpaiv.value.(*condition.ExecutableCondition) 2378 return res, ok 2379 } 2380 2381 func (fpaiv *RoleGrant_FieldTerminalPathArrayItemValue) GetSingle(source *Role_Grant) (interface{}, bool) { 2382 return nil, false 2383 } 2384 2385 func (fpaiv *RoleGrant_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 2386 return fpaiv.GetSingle(source.(*Role_Grant)) 2387 } 2388 2389 // Contains returns a boolean indicating if value that is being held is present in given 'Grant' 2390 func (fpaiv *RoleGrant_FieldTerminalPathArrayItemValue) ContainsValue(source *Role_Grant) bool { 2391 slice := fpaiv.RoleGrant_FieldTerminalPath.Get(source) 2392 for _, v := range slice { 2393 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 2394 if proto.Equal(asProtoMsg, v.(proto.Message)) { 2395 return true 2396 } 2397 } else if reflect.DeepEqual(v, fpaiv.value) { 2398 return true 2399 } 2400 } 2401 return false 2402 } 2403 2404 type RoleGrant_FieldSubPathArrayItemValue struct { 2405 RoleGrant_FieldPath 2406 subPathItemValue gotenobject.FieldPathArrayItemValue 2407 } 2408 2409 // GetRawValue returns stored array item value 2410 func (fpaivs *RoleGrant_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 2411 return fpaivs.subPathItemValue.GetRawItemValue() 2412 } 2413 func (fpaivs *RoleGrant_FieldSubPathArrayItemValue) AsResourceFieldConditionsPathItemValue() (RoleGrantFieldCondition_FieldPathArrayItemValue, bool) { 2414 res, ok := fpaivs.subPathItemValue.(RoleGrantFieldCondition_FieldPathArrayItemValue) 2415 return res, ok 2416 } 2417 func (fpaivs *RoleGrant_FieldSubPathArrayItemValue) AsRequestFieldConditionsPathItemValue() (RoleGrantFieldCondition_FieldPathArrayItemValue, bool) { 2418 res, ok := fpaivs.subPathItemValue.(RoleGrantFieldCondition_FieldPathArrayItemValue) 2419 return res, ok 2420 } 2421 func (fpaivs *RoleGrant_FieldSubPathArrayItemValue) AsExecutableConditionsPathItemValue() (condition.ExecutableCondition_FieldPathArrayItemValue, bool) { 2422 res, ok := fpaivs.subPathItemValue.(condition.ExecutableCondition_FieldPathArrayItemValue) 2423 return res, ok 2424 } 2425 2426 // Contains returns a boolean indicating if value that is being held is present in given 'Grant' 2427 func (fpaivs *RoleGrant_FieldSubPathArrayItemValue) ContainsValue(source *Role_Grant) bool { 2428 switch fpaivs.Selector() { 2429 case RoleGrant_FieldPathSelectorResourceFieldConditions: 2430 return false // repeated/map field 2431 case RoleGrant_FieldPathSelectorRequestFieldConditions: 2432 return false // repeated/map field 2433 case RoleGrant_FieldPathSelectorExecutableConditions: 2434 return false // repeated/map field 2435 default: 2436 panic(fmt.Sprintf("Invalid selector for Role_Grant: %d", fpaivs.Selector())) 2437 } 2438 } 2439 2440 // RoleGrant_FieldPathArrayOfValues allows storing slice of values for Grant fields according to their type 2441 type RoleGrant_FieldPathArrayOfValues interface { 2442 gotenobject.FieldPathArrayOfValues 2443 RoleGrant_FieldPath 2444 } 2445 2446 func ParseRoleGrant_FieldPathArrayOfValues(pathStr, valuesStr string) (RoleGrant_FieldPathArrayOfValues, error) { 2447 fp, err := ParseRoleGrant_FieldPath(pathStr) 2448 if err != nil { 2449 return nil, err 2450 } 2451 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 2452 if err != nil { 2453 return nil, status.Errorf(codes.InvalidArgument, "error parsing Grant field path array of values from %s: %v", valuesStr, err) 2454 } 2455 return fpaov.(RoleGrant_FieldPathArrayOfValues), nil 2456 } 2457 2458 func MustParseRoleGrant_FieldPathArrayOfValues(pathStr, valuesStr string) RoleGrant_FieldPathArrayOfValues { 2459 fpaov, err := ParseRoleGrant_FieldPathArrayOfValues(pathStr, valuesStr) 2460 if err != nil { 2461 panic(err) 2462 } 2463 return fpaov 2464 } 2465 2466 type RoleGrant_FieldTerminalPathArrayOfValues struct { 2467 RoleGrant_FieldTerminalPath 2468 values interface{} 2469 } 2470 2471 var _ RoleGrant_FieldPathArrayOfValues = (*RoleGrant_FieldTerminalPathArrayOfValues)(nil) 2472 2473 func (fpaov *RoleGrant_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 2474 switch fpaov.selector { 2475 case RoleGrant_FieldPathSelectorSubScope: 2476 for _, v := range fpaov.values.([]string) { 2477 values = append(values, v) 2478 } 2479 case RoleGrant_FieldPathSelectorPermissions: 2480 for _, v := range fpaov.values.([][]*permission.Reference) { 2481 values = append(values, v) 2482 } 2483 case RoleGrant_FieldPathSelectorResourceFieldConditions: 2484 for _, v := range fpaov.values.([][]*Role_Grant_FieldCondition) { 2485 values = append(values, v) 2486 } 2487 case RoleGrant_FieldPathSelectorRequestFieldConditions: 2488 for _, v := range fpaov.values.([][]*Role_Grant_FieldCondition) { 2489 values = append(values, v) 2490 } 2491 case RoleGrant_FieldPathSelectorExecutableConditions: 2492 for _, v := range fpaov.values.([][]*condition.ExecutableCondition) { 2493 values = append(values, v) 2494 } 2495 } 2496 return 2497 } 2498 func (fpaov *RoleGrant_FieldTerminalPathArrayOfValues) AsSubScopeArrayOfValues() ([]string, bool) { 2499 res, ok := fpaov.values.([]string) 2500 return res, ok 2501 } 2502 func (fpaov *RoleGrant_FieldTerminalPathArrayOfValues) AsPermissionsArrayOfValues() ([][]*permission.Reference, bool) { 2503 res, ok := fpaov.values.([][]*permission.Reference) 2504 return res, ok 2505 } 2506 func (fpaov *RoleGrant_FieldTerminalPathArrayOfValues) AsResourceFieldConditionsArrayOfValues() ([][]*Role_Grant_FieldCondition, bool) { 2507 res, ok := fpaov.values.([][]*Role_Grant_FieldCondition) 2508 return res, ok 2509 } 2510 func (fpaov *RoleGrant_FieldTerminalPathArrayOfValues) AsRequestFieldConditionsArrayOfValues() ([][]*Role_Grant_FieldCondition, bool) { 2511 res, ok := fpaov.values.([][]*Role_Grant_FieldCondition) 2512 return res, ok 2513 } 2514 func (fpaov *RoleGrant_FieldTerminalPathArrayOfValues) AsExecutableConditionsArrayOfValues() ([][]*condition.ExecutableCondition, bool) { 2515 res, ok := fpaov.values.([][]*condition.ExecutableCondition) 2516 return res, ok 2517 } 2518 2519 type RoleGrant_FieldSubPathArrayOfValues struct { 2520 RoleGrant_FieldPath 2521 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 2522 } 2523 2524 var _ RoleGrant_FieldPathArrayOfValues = (*RoleGrant_FieldSubPathArrayOfValues)(nil) 2525 2526 func (fpsaov *RoleGrant_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 2527 return fpsaov.subPathArrayOfValues.GetRawValues() 2528 } 2529 func (fpsaov *RoleGrant_FieldSubPathArrayOfValues) AsResourceFieldConditionsPathArrayOfValues() (RoleGrantFieldCondition_FieldPathArrayOfValues, bool) { 2530 res, ok := fpsaov.subPathArrayOfValues.(RoleGrantFieldCondition_FieldPathArrayOfValues) 2531 return res, ok 2532 } 2533 func (fpsaov *RoleGrant_FieldSubPathArrayOfValues) AsRequestFieldConditionsPathArrayOfValues() (RoleGrantFieldCondition_FieldPathArrayOfValues, bool) { 2534 res, ok := fpsaov.subPathArrayOfValues.(RoleGrantFieldCondition_FieldPathArrayOfValues) 2535 return res, ok 2536 } 2537 func (fpsaov *RoleGrant_FieldSubPathArrayOfValues) AsExecutableConditionsPathArrayOfValues() (condition.ExecutableCondition_FieldPathArrayOfValues, bool) { 2538 res, ok := fpsaov.subPathArrayOfValues.(condition.ExecutableCondition_FieldPathArrayOfValues) 2539 return res, ok 2540 } 2541 2542 // FieldPath provides implementation to handle 2543 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 2544 type RoleGrantFieldCondition_FieldPath interface { 2545 gotenobject.FieldPath 2546 Selector() RoleGrantFieldCondition_FieldPathSelector 2547 Get(source *Role_Grant_FieldCondition) []interface{} 2548 GetSingle(source *Role_Grant_FieldCondition) (interface{}, bool) 2549 ClearValue(item *Role_Grant_FieldCondition) 2550 2551 // Those methods build corresponding RoleGrantFieldCondition_FieldPathValue 2552 // (or array of values) and holds passed value. Panics if injected type is incorrect. 2553 WithIValue(value interface{}) RoleGrantFieldCondition_FieldPathValue 2554 WithIArrayOfValues(values interface{}) RoleGrantFieldCondition_FieldPathArrayOfValues 2555 WithIArrayItemValue(value interface{}) RoleGrantFieldCondition_FieldPathArrayItemValue 2556 } 2557 2558 type RoleGrantFieldCondition_FieldPathSelector int32 2559 2560 const ( 2561 RoleGrantFieldCondition_FieldPathSelectorPath RoleGrantFieldCondition_FieldPathSelector = 0 2562 RoleGrantFieldCondition_FieldPathSelectorValue RoleGrantFieldCondition_FieldPathSelector = 1 2563 ) 2564 2565 func (s RoleGrantFieldCondition_FieldPathSelector) String() string { 2566 switch s { 2567 case RoleGrantFieldCondition_FieldPathSelectorPath: 2568 return "path" 2569 case RoleGrantFieldCondition_FieldPathSelectorValue: 2570 return "value" 2571 default: 2572 panic(fmt.Sprintf("Invalid selector for Role_Grant_FieldCondition: %d", s)) 2573 } 2574 } 2575 2576 func BuildRoleGrantFieldCondition_FieldPath(fp gotenobject.RawFieldPath) (RoleGrantFieldCondition_FieldPath, error) { 2577 if len(fp) == 0 { 2578 return nil, status.Error(codes.InvalidArgument, "empty field path for object Role_Grant_FieldCondition") 2579 } 2580 if len(fp) == 1 { 2581 switch fp[0] { 2582 case "path": 2583 return &RoleGrantFieldCondition_FieldTerminalPath{selector: RoleGrantFieldCondition_FieldPathSelectorPath}, nil 2584 case "value": 2585 return &RoleGrantFieldCondition_FieldTerminalPath{selector: RoleGrantFieldCondition_FieldPathSelectorValue}, nil 2586 } 2587 } 2588 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object Role_Grant_FieldCondition", fp) 2589 } 2590 2591 func ParseRoleGrantFieldCondition_FieldPath(rawField string) (RoleGrantFieldCondition_FieldPath, error) { 2592 fp, err := gotenobject.ParseRawFieldPath(rawField) 2593 if err != nil { 2594 return nil, err 2595 } 2596 return BuildRoleGrantFieldCondition_FieldPath(fp) 2597 } 2598 2599 func MustParseRoleGrantFieldCondition_FieldPath(rawField string) RoleGrantFieldCondition_FieldPath { 2600 fp, err := ParseRoleGrantFieldCondition_FieldPath(rawField) 2601 if err != nil { 2602 panic(err) 2603 } 2604 return fp 2605 } 2606 2607 type RoleGrantFieldCondition_FieldTerminalPath struct { 2608 selector RoleGrantFieldCondition_FieldPathSelector 2609 } 2610 2611 var _ RoleGrantFieldCondition_FieldPath = (*RoleGrantFieldCondition_FieldTerminalPath)(nil) 2612 2613 func (fp *RoleGrantFieldCondition_FieldTerminalPath) Selector() RoleGrantFieldCondition_FieldPathSelector { 2614 return fp.selector 2615 } 2616 2617 // String returns path representation in proto convention 2618 func (fp *RoleGrantFieldCondition_FieldTerminalPath) String() string { 2619 return fp.selector.String() 2620 } 2621 2622 // JSONString returns path representation is JSON convention 2623 func (fp *RoleGrantFieldCondition_FieldTerminalPath) JSONString() string { 2624 return strcase.ToLowerCamel(fp.String()) 2625 } 2626 2627 // Get returns all values pointed by specific field from source Role_Grant_FieldCondition 2628 func (fp *RoleGrantFieldCondition_FieldTerminalPath) Get(source *Role_Grant_FieldCondition) (values []interface{}) { 2629 if source != nil { 2630 switch fp.selector { 2631 case RoleGrantFieldCondition_FieldPathSelectorPath: 2632 values = append(values, source.Path) 2633 case RoleGrantFieldCondition_FieldPathSelectorValue: 2634 values = append(values, source.Value) 2635 default: 2636 panic(fmt.Sprintf("Invalid selector for Role_Grant_FieldCondition: %d", fp.selector)) 2637 } 2638 } 2639 return 2640 } 2641 2642 func (fp *RoleGrantFieldCondition_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 2643 return fp.Get(source.(*Role_Grant_FieldCondition)) 2644 } 2645 2646 // GetSingle returns value pointed by specific field of from source Role_Grant_FieldCondition 2647 func (fp *RoleGrantFieldCondition_FieldTerminalPath) GetSingle(source *Role_Grant_FieldCondition) (interface{}, bool) { 2648 switch fp.selector { 2649 case RoleGrantFieldCondition_FieldPathSelectorPath: 2650 return source.GetPath(), source != nil 2651 case RoleGrantFieldCondition_FieldPathSelectorValue: 2652 return source.GetValue(), source != nil 2653 default: 2654 panic(fmt.Sprintf("Invalid selector for Role_Grant_FieldCondition: %d", fp.selector)) 2655 } 2656 } 2657 2658 func (fp *RoleGrantFieldCondition_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 2659 return fp.GetSingle(source.(*Role_Grant_FieldCondition)) 2660 } 2661 2662 // GetDefault returns a default value of the field type 2663 func (fp *RoleGrantFieldCondition_FieldTerminalPath) GetDefault() interface{} { 2664 switch fp.selector { 2665 case RoleGrantFieldCondition_FieldPathSelectorPath: 2666 return "" 2667 case RoleGrantFieldCondition_FieldPathSelectorValue: 2668 return "" 2669 default: 2670 panic(fmt.Sprintf("Invalid selector for Role_Grant_FieldCondition: %d", fp.selector)) 2671 } 2672 } 2673 2674 func (fp *RoleGrantFieldCondition_FieldTerminalPath) ClearValue(item *Role_Grant_FieldCondition) { 2675 if item != nil { 2676 switch fp.selector { 2677 case RoleGrantFieldCondition_FieldPathSelectorPath: 2678 item.Path = "" 2679 case RoleGrantFieldCondition_FieldPathSelectorValue: 2680 item.Value = "" 2681 default: 2682 panic(fmt.Sprintf("Invalid selector for Role_Grant_FieldCondition: %d", fp.selector)) 2683 } 2684 } 2685 } 2686 2687 func (fp *RoleGrantFieldCondition_FieldTerminalPath) ClearValueRaw(item proto.Message) { 2688 fp.ClearValue(item.(*Role_Grant_FieldCondition)) 2689 } 2690 2691 // IsLeaf - whether field path is holds simple value 2692 func (fp *RoleGrantFieldCondition_FieldTerminalPath) IsLeaf() bool { 2693 return fp.selector == RoleGrantFieldCondition_FieldPathSelectorPath || 2694 fp.selector == RoleGrantFieldCondition_FieldPathSelectorValue 2695 } 2696 2697 func (fp *RoleGrantFieldCondition_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 2698 return []gotenobject.FieldPath{fp} 2699 } 2700 2701 func (fp *RoleGrantFieldCondition_FieldTerminalPath) WithIValue(value interface{}) RoleGrantFieldCondition_FieldPathValue { 2702 switch fp.selector { 2703 case RoleGrantFieldCondition_FieldPathSelectorPath: 2704 return &RoleGrantFieldCondition_FieldTerminalPathValue{RoleGrantFieldCondition_FieldTerminalPath: *fp, value: value.(string)} 2705 case RoleGrantFieldCondition_FieldPathSelectorValue: 2706 return &RoleGrantFieldCondition_FieldTerminalPathValue{RoleGrantFieldCondition_FieldTerminalPath: *fp, value: value.(string)} 2707 default: 2708 panic(fmt.Sprintf("Invalid selector for Role_Grant_FieldCondition: %d", fp.selector)) 2709 } 2710 } 2711 2712 func (fp *RoleGrantFieldCondition_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 2713 return fp.WithIValue(value) 2714 } 2715 2716 func (fp *RoleGrantFieldCondition_FieldTerminalPath) WithIArrayOfValues(values interface{}) RoleGrantFieldCondition_FieldPathArrayOfValues { 2717 fpaov := &RoleGrantFieldCondition_FieldTerminalPathArrayOfValues{RoleGrantFieldCondition_FieldTerminalPath: *fp} 2718 switch fp.selector { 2719 case RoleGrantFieldCondition_FieldPathSelectorPath: 2720 return &RoleGrantFieldCondition_FieldTerminalPathArrayOfValues{RoleGrantFieldCondition_FieldTerminalPath: *fp, values: values.([]string)} 2721 case RoleGrantFieldCondition_FieldPathSelectorValue: 2722 return &RoleGrantFieldCondition_FieldTerminalPathArrayOfValues{RoleGrantFieldCondition_FieldTerminalPath: *fp, values: values.([]string)} 2723 default: 2724 panic(fmt.Sprintf("Invalid selector for Role_Grant_FieldCondition: %d", fp.selector)) 2725 } 2726 return fpaov 2727 } 2728 2729 func (fp *RoleGrantFieldCondition_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 2730 return fp.WithIArrayOfValues(values) 2731 } 2732 2733 func (fp *RoleGrantFieldCondition_FieldTerminalPath) WithIArrayItemValue(value interface{}) RoleGrantFieldCondition_FieldPathArrayItemValue { 2734 switch fp.selector { 2735 default: 2736 panic(fmt.Sprintf("Invalid selector for Role_Grant_FieldCondition: %d", fp.selector)) 2737 } 2738 } 2739 2740 func (fp *RoleGrantFieldCondition_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 2741 return fp.WithIArrayItemValue(value) 2742 } 2743 2744 // RoleGrantFieldCondition_FieldPathValue allows storing values for FieldCondition fields according to their type 2745 type RoleGrantFieldCondition_FieldPathValue interface { 2746 RoleGrantFieldCondition_FieldPath 2747 gotenobject.FieldPathValue 2748 SetTo(target **Role_Grant_FieldCondition) 2749 CompareWith(*Role_Grant_FieldCondition) (cmp int, comparable bool) 2750 } 2751 2752 func ParseRoleGrantFieldCondition_FieldPathValue(pathStr, valueStr string) (RoleGrantFieldCondition_FieldPathValue, error) { 2753 fp, err := ParseRoleGrantFieldCondition_FieldPath(pathStr) 2754 if err != nil { 2755 return nil, err 2756 } 2757 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 2758 if err != nil { 2759 return nil, status.Errorf(codes.InvalidArgument, "error parsing FieldCondition field path value from %s: %v", valueStr, err) 2760 } 2761 return fpv.(RoleGrantFieldCondition_FieldPathValue), nil 2762 } 2763 2764 func MustParseRoleGrantFieldCondition_FieldPathValue(pathStr, valueStr string) RoleGrantFieldCondition_FieldPathValue { 2765 fpv, err := ParseRoleGrantFieldCondition_FieldPathValue(pathStr, valueStr) 2766 if err != nil { 2767 panic(err) 2768 } 2769 return fpv 2770 } 2771 2772 type RoleGrantFieldCondition_FieldTerminalPathValue struct { 2773 RoleGrantFieldCondition_FieldTerminalPath 2774 value interface{} 2775 } 2776 2777 var _ RoleGrantFieldCondition_FieldPathValue = (*RoleGrantFieldCondition_FieldTerminalPathValue)(nil) 2778 2779 // GetRawValue returns raw value stored under selected path for 'FieldCondition' as interface{} 2780 func (fpv *RoleGrantFieldCondition_FieldTerminalPathValue) GetRawValue() interface{} { 2781 return fpv.value 2782 } 2783 func (fpv *RoleGrantFieldCondition_FieldTerminalPathValue) AsPathValue() (string, bool) { 2784 res, ok := fpv.value.(string) 2785 return res, ok 2786 } 2787 func (fpv *RoleGrantFieldCondition_FieldTerminalPathValue) AsValueValue() (string, bool) { 2788 res, ok := fpv.value.(string) 2789 return res, ok 2790 } 2791 2792 // SetTo stores value for selected field for object FieldCondition 2793 func (fpv *RoleGrantFieldCondition_FieldTerminalPathValue) SetTo(target **Role_Grant_FieldCondition) { 2794 if *target == nil { 2795 *target = new(Role_Grant_FieldCondition) 2796 } 2797 switch fpv.selector { 2798 case RoleGrantFieldCondition_FieldPathSelectorPath: 2799 (*target).Path = fpv.value.(string) 2800 case RoleGrantFieldCondition_FieldPathSelectorValue: 2801 (*target).Value = fpv.value.(string) 2802 default: 2803 panic(fmt.Sprintf("Invalid selector for Role_Grant_FieldCondition: %d", fpv.selector)) 2804 } 2805 } 2806 2807 func (fpv *RoleGrantFieldCondition_FieldTerminalPathValue) SetToRaw(target proto.Message) { 2808 typedObject := target.(*Role_Grant_FieldCondition) 2809 fpv.SetTo(&typedObject) 2810 } 2811 2812 // CompareWith compares value in the 'RoleGrantFieldCondition_FieldTerminalPathValue' with the value under path in 'Role_Grant_FieldCondition'. 2813 func (fpv *RoleGrantFieldCondition_FieldTerminalPathValue) CompareWith(source *Role_Grant_FieldCondition) (int, bool) { 2814 switch fpv.selector { 2815 case RoleGrantFieldCondition_FieldPathSelectorPath: 2816 leftValue := fpv.value.(string) 2817 rightValue := source.GetPath() 2818 if (leftValue) == (rightValue) { 2819 return 0, true 2820 } else if (leftValue) < (rightValue) { 2821 return -1, true 2822 } else { 2823 return 1, true 2824 } 2825 case RoleGrantFieldCondition_FieldPathSelectorValue: 2826 leftValue := fpv.value.(string) 2827 rightValue := source.GetValue() 2828 if (leftValue) == (rightValue) { 2829 return 0, true 2830 } else if (leftValue) < (rightValue) { 2831 return -1, true 2832 } else { 2833 return 1, true 2834 } 2835 default: 2836 panic(fmt.Sprintf("Invalid selector for Role_Grant_FieldCondition: %d", fpv.selector)) 2837 } 2838 } 2839 2840 func (fpv *RoleGrantFieldCondition_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 2841 return fpv.CompareWith(source.(*Role_Grant_FieldCondition)) 2842 } 2843 2844 // RoleGrantFieldCondition_FieldPathArrayItemValue allows storing single item in Path-specific values for FieldCondition according to their type 2845 // Present only for array (repeated) types. 2846 type RoleGrantFieldCondition_FieldPathArrayItemValue interface { 2847 gotenobject.FieldPathArrayItemValue 2848 RoleGrantFieldCondition_FieldPath 2849 ContainsValue(*Role_Grant_FieldCondition) bool 2850 } 2851 2852 // ParseRoleGrantFieldCondition_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 2853 func ParseRoleGrantFieldCondition_FieldPathArrayItemValue(pathStr, valueStr string) (RoleGrantFieldCondition_FieldPathArrayItemValue, error) { 2854 fp, err := ParseRoleGrantFieldCondition_FieldPath(pathStr) 2855 if err != nil { 2856 return nil, err 2857 } 2858 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 2859 if err != nil { 2860 return nil, status.Errorf(codes.InvalidArgument, "error parsing FieldCondition field path array item value from %s: %v", valueStr, err) 2861 } 2862 return fpaiv.(RoleGrantFieldCondition_FieldPathArrayItemValue), nil 2863 } 2864 2865 func MustParseRoleGrantFieldCondition_FieldPathArrayItemValue(pathStr, valueStr string) RoleGrantFieldCondition_FieldPathArrayItemValue { 2866 fpaiv, err := ParseRoleGrantFieldCondition_FieldPathArrayItemValue(pathStr, valueStr) 2867 if err != nil { 2868 panic(err) 2869 } 2870 return fpaiv 2871 } 2872 2873 type RoleGrantFieldCondition_FieldTerminalPathArrayItemValue struct { 2874 RoleGrantFieldCondition_FieldTerminalPath 2875 value interface{} 2876 } 2877 2878 var _ RoleGrantFieldCondition_FieldPathArrayItemValue = (*RoleGrantFieldCondition_FieldTerminalPathArrayItemValue)(nil) 2879 2880 // GetRawValue returns stored element value for array in object Role_Grant_FieldCondition as interface{} 2881 func (fpaiv *RoleGrantFieldCondition_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 2882 return fpaiv.value 2883 } 2884 2885 func (fpaiv *RoleGrantFieldCondition_FieldTerminalPathArrayItemValue) GetSingle(source *Role_Grant_FieldCondition) (interface{}, bool) { 2886 return nil, false 2887 } 2888 2889 func (fpaiv *RoleGrantFieldCondition_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 2890 return fpaiv.GetSingle(source.(*Role_Grant_FieldCondition)) 2891 } 2892 2893 // Contains returns a boolean indicating if value that is being held is present in given 'FieldCondition' 2894 func (fpaiv *RoleGrantFieldCondition_FieldTerminalPathArrayItemValue) ContainsValue(source *Role_Grant_FieldCondition) bool { 2895 slice := fpaiv.RoleGrantFieldCondition_FieldTerminalPath.Get(source) 2896 for _, v := range slice { 2897 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 2898 if proto.Equal(asProtoMsg, v.(proto.Message)) { 2899 return true 2900 } 2901 } else if reflect.DeepEqual(v, fpaiv.value) { 2902 return true 2903 } 2904 } 2905 return false 2906 } 2907 2908 // RoleGrantFieldCondition_FieldPathArrayOfValues allows storing slice of values for FieldCondition fields according to their type 2909 type RoleGrantFieldCondition_FieldPathArrayOfValues interface { 2910 gotenobject.FieldPathArrayOfValues 2911 RoleGrantFieldCondition_FieldPath 2912 } 2913 2914 func ParseRoleGrantFieldCondition_FieldPathArrayOfValues(pathStr, valuesStr string) (RoleGrantFieldCondition_FieldPathArrayOfValues, error) { 2915 fp, err := ParseRoleGrantFieldCondition_FieldPath(pathStr) 2916 if err != nil { 2917 return nil, err 2918 } 2919 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 2920 if err != nil { 2921 return nil, status.Errorf(codes.InvalidArgument, "error parsing FieldCondition field path array of values from %s: %v", valuesStr, err) 2922 } 2923 return fpaov.(RoleGrantFieldCondition_FieldPathArrayOfValues), nil 2924 } 2925 2926 func MustParseRoleGrantFieldCondition_FieldPathArrayOfValues(pathStr, valuesStr string) RoleGrantFieldCondition_FieldPathArrayOfValues { 2927 fpaov, err := ParseRoleGrantFieldCondition_FieldPathArrayOfValues(pathStr, valuesStr) 2928 if err != nil { 2929 panic(err) 2930 } 2931 return fpaov 2932 } 2933 2934 type RoleGrantFieldCondition_FieldTerminalPathArrayOfValues struct { 2935 RoleGrantFieldCondition_FieldTerminalPath 2936 values interface{} 2937 } 2938 2939 var _ RoleGrantFieldCondition_FieldPathArrayOfValues = (*RoleGrantFieldCondition_FieldTerminalPathArrayOfValues)(nil) 2940 2941 func (fpaov *RoleGrantFieldCondition_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 2942 switch fpaov.selector { 2943 case RoleGrantFieldCondition_FieldPathSelectorPath: 2944 for _, v := range fpaov.values.([]string) { 2945 values = append(values, v) 2946 } 2947 case RoleGrantFieldCondition_FieldPathSelectorValue: 2948 for _, v := range fpaov.values.([]string) { 2949 values = append(values, v) 2950 } 2951 } 2952 return 2953 } 2954 func (fpaov *RoleGrantFieldCondition_FieldTerminalPathArrayOfValues) AsPathArrayOfValues() ([]string, bool) { 2955 res, ok := fpaov.values.([]string) 2956 return res, ok 2957 } 2958 func (fpaov *RoleGrantFieldCondition_FieldTerminalPathArrayOfValues) AsValueArrayOfValues() ([]string, bool) { 2959 res, ok := fpaov.values.([]string) 2960 return res, ok 2961 } 2962 2963 // FieldPath provides implementation to handle 2964 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 2965 type ScopeParam_FieldPath interface { 2966 gotenobject.FieldPath 2967 Selector() ScopeParam_FieldPathSelector 2968 Get(source *ScopeParam) []interface{} 2969 GetSingle(source *ScopeParam) (interface{}, bool) 2970 ClearValue(item *ScopeParam) 2971 2972 // Those methods build corresponding ScopeParam_FieldPathValue 2973 // (or array of values) and holds passed value. Panics if injected type is incorrect. 2974 WithIValue(value interface{}) ScopeParam_FieldPathValue 2975 WithIArrayOfValues(values interface{}) ScopeParam_FieldPathArrayOfValues 2976 WithIArrayItemValue(value interface{}) ScopeParam_FieldPathArrayItemValue 2977 } 2978 2979 type ScopeParam_FieldPathSelector int32 2980 2981 const ( 2982 ScopeParam_FieldPathSelectorName ScopeParam_FieldPathSelector = 0 2983 ScopeParam_FieldPathSelectorString ScopeParam_FieldPathSelector = 1 2984 ScopeParam_FieldPathSelectorStrings ScopeParam_FieldPathSelector = 2 2985 ScopeParam_FieldPathSelectorValueFrom ScopeParam_FieldPathSelector = 3 2986 ) 2987 2988 func (s ScopeParam_FieldPathSelector) String() string { 2989 switch s { 2990 case ScopeParam_FieldPathSelectorName: 2991 return "name" 2992 case ScopeParam_FieldPathSelectorString: 2993 return "string" 2994 case ScopeParam_FieldPathSelectorStrings: 2995 return "strings" 2996 case ScopeParam_FieldPathSelectorValueFrom: 2997 return "value_from" 2998 default: 2999 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", s)) 3000 } 3001 } 3002 3003 func BuildScopeParam_FieldPath(fp gotenobject.RawFieldPath) (ScopeParam_FieldPath, error) { 3004 if len(fp) == 0 { 3005 return nil, status.Error(codes.InvalidArgument, "empty field path for object ScopeParam") 3006 } 3007 if len(fp) == 1 { 3008 switch fp[0] { 3009 case "name": 3010 return &ScopeParam_FieldTerminalPath{selector: ScopeParam_FieldPathSelectorName}, nil 3011 case "string": 3012 return &ScopeParam_FieldTerminalPath{selector: ScopeParam_FieldPathSelectorString}, nil 3013 case "strings": 3014 return &ScopeParam_FieldTerminalPath{selector: ScopeParam_FieldPathSelectorStrings}, nil 3015 case "value_from", "valueFrom", "value-from": 3016 return &ScopeParam_FieldTerminalPath{selector: ScopeParam_FieldPathSelectorValueFrom}, nil 3017 } 3018 } else { 3019 switch fp[0] { 3020 case "string": 3021 if subpath, err := BuildScopeParamStringValue_FieldPath(fp[1:]); err != nil { 3022 return nil, err 3023 } else { 3024 return &ScopeParam_FieldSubPath{selector: ScopeParam_FieldPathSelectorString, subPath: subpath}, nil 3025 } 3026 case "strings": 3027 if subpath, err := BuildScopeParamArrayOfStringsValue_FieldPath(fp[1:]); err != nil { 3028 return nil, err 3029 } else { 3030 return &ScopeParam_FieldSubPath{selector: ScopeParam_FieldPathSelectorStrings, subPath: subpath}, nil 3031 } 3032 case "value_from", "valueFrom", "value-from": 3033 if subpath, err := BuildScopeParamFromValue_FieldPath(fp[1:]); err != nil { 3034 return nil, err 3035 } else { 3036 return &ScopeParam_FieldSubPath{selector: ScopeParam_FieldPathSelectorValueFrom, subPath: subpath}, nil 3037 } 3038 } 3039 } 3040 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object ScopeParam", fp) 3041 } 3042 3043 func ParseScopeParam_FieldPath(rawField string) (ScopeParam_FieldPath, error) { 3044 fp, err := gotenobject.ParseRawFieldPath(rawField) 3045 if err != nil { 3046 return nil, err 3047 } 3048 return BuildScopeParam_FieldPath(fp) 3049 } 3050 3051 func MustParseScopeParam_FieldPath(rawField string) ScopeParam_FieldPath { 3052 fp, err := ParseScopeParam_FieldPath(rawField) 3053 if err != nil { 3054 panic(err) 3055 } 3056 return fp 3057 } 3058 3059 type ScopeParam_FieldTerminalPath struct { 3060 selector ScopeParam_FieldPathSelector 3061 } 3062 3063 var _ ScopeParam_FieldPath = (*ScopeParam_FieldTerminalPath)(nil) 3064 3065 func (fp *ScopeParam_FieldTerminalPath) Selector() ScopeParam_FieldPathSelector { 3066 return fp.selector 3067 } 3068 3069 // String returns path representation in proto convention 3070 func (fp *ScopeParam_FieldTerminalPath) String() string { 3071 return fp.selector.String() 3072 } 3073 3074 // JSONString returns path representation is JSON convention 3075 func (fp *ScopeParam_FieldTerminalPath) JSONString() string { 3076 return strcase.ToLowerCamel(fp.String()) 3077 } 3078 3079 // Get returns all values pointed by specific field from source ScopeParam 3080 func (fp *ScopeParam_FieldTerminalPath) Get(source *ScopeParam) (values []interface{}) { 3081 if source != nil { 3082 switch fp.selector { 3083 case ScopeParam_FieldPathSelectorName: 3084 values = append(values, source.Name) 3085 case ScopeParam_FieldPathSelectorString: 3086 if source, ok := source.Value.(*ScopeParam_String_); ok && source != nil { 3087 if source.String_ != nil { 3088 values = append(values, source.String_) 3089 } 3090 } 3091 case ScopeParam_FieldPathSelectorStrings: 3092 if source, ok := source.Value.(*ScopeParam_Strings); ok && source != nil { 3093 if source.Strings != nil { 3094 values = append(values, source.Strings) 3095 } 3096 } 3097 case ScopeParam_FieldPathSelectorValueFrom: 3098 if source, ok := source.Value.(*ScopeParam_ValueFrom); ok && source != nil { 3099 if source.ValueFrom != nil { 3100 values = append(values, source.ValueFrom) 3101 } 3102 } 3103 default: 3104 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fp.selector)) 3105 } 3106 } 3107 return 3108 } 3109 3110 func (fp *ScopeParam_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 3111 return fp.Get(source.(*ScopeParam)) 3112 } 3113 3114 // GetSingle returns value pointed by specific field of from source ScopeParam 3115 func (fp *ScopeParam_FieldTerminalPath) GetSingle(source *ScopeParam) (interface{}, bool) { 3116 switch fp.selector { 3117 case ScopeParam_FieldPathSelectorName: 3118 return source.GetName(), source != nil 3119 case ScopeParam_FieldPathSelectorString: 3120 // if object nil or oneof not active, return "default" type with false flag. 3121 if source == nil { 3122 return source.GetString_(), false 3123 } 3124 _, oneOfSelected := source.Value.(*ScopeParam_String_) 3125 if !oneOfSelected { 3126 return source.GetString_(), false // to return "type" information 3127 } 3128 res := source.GetString_() 3129 return res, res != nil 3130 case ScopeParam_FieldPathSelectorStrings: 3131 // if object nil or oneof not active, return "default" type with false flag. 3132 if source == nil { 3133 return source.GetStrings(), false 3134 } 3135 _, oneOfSelected := source.Value.(*ScopeParam_Strings) 3136 if !oneOfSelected { 3137 return source.GetStrings(), false // to return "type" information 3138 } 3139 res := source.GetStrings() 3140 return res, res != nil 3141 case ScopeParam_FieldPathSelectorValueFrom: 3142 // if object nil or oneof not active, return "default" type with false flag. 3143 if source == nil { 3144 return source.GetValueFrom(), false 3145 } 3146 _, oneOfSelected := source.Value.(*ScopeParam_ValueFrom) 3147 if !oneOfSelected { 3148 return source.GetValueFrom(), false // to return "type" information 3149 } 3150 res := source.GetValueFrom() 3151 return res, res != nil 3152 default: 3153 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fp.selector)) 3154 } 3155 } 3156 3157 func (fp *ScopeParam_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 3158 return fp.GetSingle(source.(*ScopeParam)) 3159 } 3160 3161 // GetDefault returns a default value of the field type 3162 func (fp *ScopeParam_FieldTerminalPath) GetDefault() interface{} { 3163 switch fp.selector { 3164 case ScopeParam_FieldPathSelectorName: 3165 return "" 3166 case ScopeParam_FieldPathSelectorString: 3167 return (*ScopeParam_StringValue)(nil) 3168 case ScopeParam_FieldPathSelectorStrings: 3169 return (*ScopeParam_ArrayOfStringsValue)(nil) 3170 case ScopeParam_FieldPathSelectorValueFrom: 3171 return (*ScopeParam_FromValue)(nil) 3172 default: 3173 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fp.selector)) 3174 } 3175 } 3176 3177 func (fp *ScopeParam_FieldTerminalPath) ClearValue(item *ScopeParam) { 3178 if item != nil { 3179 switch fp.selector { 3180 case ScopeParam_FieldPathSelectorName: 3181 item.Name = "" 3182 case ScopeParam_FieldPathSelectorString: 3183 if item, ok := item.Value.(*ScopeParam_String_); ok { 3184 item.String_ = nil 3185 } 3186 case ScopeParam_FieldPathSelectorStrings: 3187 if item, ok := item.Value.(*ScopeParam_Strings); ok { 3188 item.Strings = nil 3189 } 3190 case ScopeParam_FieldPathSelectorValueFrom: 3191 if item, ok := item.Value.(*ScopeParam_ValueFrom); ok { 3192 item.ValueFrom = nil 3193 } 3194 default: 3195 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fp.selector)) 3196 } 3197 } 3198 } 3199 3200 func (fp *ScopeParam_FieldTerminalPath) ClearValueRaw(item proto.Message) { 3201 fp.ClearValue(item.(*ScopeParam)) 3202 } 3203 3204 // IsLeaf - whether field path is holds simple value 3205 func (fp *ScopeParam_FieldTerminalPath) IsLeaf() bool { 3206 return fp.selector == ScopeParam_FieldPathSelectorName 3207 } 3208 3209 func (fp *ScopeParam_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 3210 return []gotenobject.FieldPath{fp} 3211 } 3212 3213 func (fp *ScopeParam_FieldTerminalPath) WithIValue(value interface{}) ScopeParam_FieldPathValue { 3214 switch fp.selector { 3215 case ScopeParam_FieldPathSelectorName: 3216 return &ScopeParam_FieldTerminalPathValue{ScopeParam_FieldTerminalPath: *fp, value: value.(string)} 3217 case ScopeParam_FieldPathSelectorString: 3218 return &ScopeParam_FieldTerminalPathValue{ScopeParam_FieldTerminalPath: *fp, value: value.(*ScopeParam_StringValue)} 3219 case ScopeParam_FieldPathSelectorStrings: 3220 return &ScopeParam_FieldTerminalPathValue{ScopeParam_FieldTerminalPath: *fp, value: value.(*ScopeParam_ArrayOfStringsValue)} 3221 case ScopeParam_FieldPathSelectorValueFrom: 3222 return &ScopeParam_FieldTerminalPathValue{ScopeParam_FieldTerminalPath: *fp, value: value.(*ScopeParam_FromValue)} 3223 default: 3224 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fp.selector)) 3225 } 3226 } 3227 3228 func (fp *ScopeParam_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 3229 return fp.WithIValue(value) 3230 } 3231 3232 func (fp *ScopeParam_FieldTerminalPath) WithIArrayOfValues(values interface{}) ScopeParam_FieldPathArrayOfValues { 3233 fpaov := &ScopeParam_FieldTerminalPathArrayOfValues{ScopeParam_FieldTerminalPath: *fp} 3234 switch fp.selector { 3235 case ScopeParam_FieldPathSelectorName: 3236 return &ScopeParam_FieldTerminalPathArrayOfValues{ScopeParam_FieldTerminalPath: *fp, values: values.([]string)} 3237 case ScopeParam_FieldPathSelectorString: 3238 return &ScopeParam_FieldTerminalPathArrayOfValues{ScopeParam_FieldTerminalPath: *fp, values: values.([]*ScopeParam_StringValue)} 3239 case ScopeParam_FieldPathSelectorStrings: 3240 return &ScopeParam_FieldTerminalPathArrayOfValues{ScopeParam_FieldTerminalPath: *fp, values: values.([]*ScopeParam_ArrayOfStringsValue)} 3241 case ScopeParam_FieldPathSelectorValueFrom: 3242 return &ScopeParam_FieldTerminalPathArrayOfValues{ScopeParam_FieldTerminalPath: *fp, values: values.([]*ScopeParam_FromValue)} 3243 default: 3244 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fp.selector)) 3245 } 3246 return fpaov 3247 } 3248 3249 func (fp *ScopeParam_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 3250 return fp.WithIArrayOfValues(values) 3251 } 3252 3253 func (fp *ScopeParam_FieldTerminalPath) WithIArrayItemValue(value interface{}) ScopeParam_FieldPathArrayItemValue { 3254 switch fp.selector { 3255 default: 3256 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fp.selector)) 3257 } 3258 } 3259 3260 func (fp *ScopeParam_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 3261 return fp.WithIArrayItemValue(value) 3262 } 3263 3264 type ScopeParam_FieldSubPath struct { 3265 selector ScopeParam_FieldPathSelector 3266 subPath gotenobject.FieldPath 3267 } 3268 3269 var _ ScopeParam_FieldPath = (*ScopeParam_FieldSubPath)(nil) 3270 3271 func (fps *ScopeParam_FieldSubPath) Selector() ScopeParam_FieldPathSelector { 3272 return fps.selector 3273 } 3274 func (fps *ScopeParam_FieldSubPath) AsStringSubPath() (ScopeParamStringValue_FieldPath, bool) { 3275 res, ok := fps.subPath.(ScopeParamStringValue_FieldPath) 3276 return res, ok 3277 } 3278 func (fps *ScopeParam_FieldSubPath) AsStringsSubPath() (ScopeParamArrayOfStringsValue_FieldPath, bool) { 3279 res, ok := fps.subPath.(ScopeParamArrayOfStringsValue_FieldPath) 3280 return res, ok 3281 } 3282 func (fps *ScopeParam_FieldSubPath) AsValueFromSubPath() (ScopeParamFromValue_FieldPath, bool) { 3283 res, ok := fps.subPath.(ScopeParamFromValue_FieldPath) 3284 return res, ok 3285 } 3286 3287 // String returns path representation in proto convention 3288 func (fps *ScopeParam_FieldSubPath) String() string { 3289 return fps.selector.String() + "." + fps.subPath.String() 3290 } 3291 3292 // JSONString returns path representation is JSON convention 3293 func (fps *ScopeParam_FieldSubPath) JSONString() string { 3294 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 3295 } 3296 3297 // Get returns all values pointed by selected field from source ScopeParam 3298 func (fps *ScopeParam_FieldSubPath) Get(source *ScopeParam) (values []interface{}) { 3299 switch fps.selector { 3300 case ScopeParam_FieldPathSelectorString: 3301 values = append(values, fps.subPath.GetRaw(source.GetString_())...) 3302 case ScopeParam_FieldPathSelectorStrings: 3303 values = append(values, fps.subPath.GetRaw(source.GetStrings())...) 3304 case ScopeParam_FieldPathSelectorValueFrom: 3305 values = append(values, fps.subPath.GetRaw(source.GetValueFrom())...) 3306 default: 3307 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fps.selector)) 3308 } 3309 return 3310 } 3311 3312 func (fps *ScopeParam_FieldSubPath) GetRaw(source proto.Message) []interface{} { 3313 return fps.Get(source.(*ScopeParam)) 3314 } 3315 3316 // GetSingle returns value of selected field from source ScopeParam 3317 func (fps *ScopeParam_FieldSubPath) GetSingle(source *ScopeParam) (interface{}, bool) { 3318 switch fps.selector { 3319 case ScopeParam_FieldPathSelectorString: 3320 if source.GetString_() == nil { 3321 return nil, false 3322 } 3323 return fps.subPath.GetSingleRaw(source.GetString_()) 3324 case ScopeParam_FieldPathSelectorStrings: 3325 if source.GetStrings() == nil { 3326 return nil, false 3327 } 3328 return fps.subPath.GetSingleRaw(source.GetStrings()) 3329 case ScopeParam_FieldPathSelectorValueFrom: 3330 if source.GetValueFrom() == nil { 3331 return nil, false 3332 } 3333 return fps.subPath.GetSingleRaw(source.GetValueFrom()) 3334 default: 3335 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fps.selector)) 3336 } 3337 } 3338 3339 func (fps *ScopeParam_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 3340 return fps.GetSingle(source.(*ScopeParam)) 3341 } 3342 3343 // GetDefault returns a default value of the field type 3344 func (fps *ScopeParam_FieldSubPath) GetDefault() interface{} { 3345 return fps.subPath.GetDefault() 3346 } 3347 3348 func (fps *ScopeParam_FieldSubPath) ClearValue(item *ScopeParam) { 3349 if item != nil { 3350 switch fps.selector { 3351 case ScopeParam_FieldPathSelectorString: 3352 if item.Value != nil { 3353 if item, ok := item.Value.(*ScopeParam_String_); ok { 3354 fps.subPath.ClearValueRaw(item.String_) 3355 } 3356 } 3357 case ScopeParam_FieldPathSelectorStrings: 3358 if item.Value != nil { 3359 if item, ok := item.Value.(*ScopeParam_Strings); ok { 3360 fps.subPath.ClearValueRaw(item.Strings) 3361 } 3362 } 3363 case ScopeParam_FieldPathSelectorValueFrom: 3364 if item.Value != nil { 3365 if item, ok := item.Value.(*ScopeParam_ValueFrom); ok { 3366 fps.subPath.ClearValueRaw(item.ValueFrom) 3367 } 3368 } 3369 default: 3370 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fps.selector)) 3371 } 3372 } 3373 } 3374 3375 func (fps *ScopeParam_FieldSubPath) ClearValueRaw(item proto.Message) { 3376 fps.ClearValue(item.(*ScopeParam)) 3377 } 3378 3379 // IsLeaf - whether field path is holds simple value 3380 func (fps *ScopeParam_FieldSubPath) IsLeaf() bool { 3381 return fps.subPath.IsLeaf() 3382 } 3383 3384 func (fps *ScopeParam_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 3385 iPaths := []gotenobject.FieldPath{&ScopeParam_FieldTerminalPath{selector: fps.selector}} 3386 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 3387 return iPaths 3388 } 3389 3390 func (fps *ScopeParam_FieldSubPath) WithIValue(value interface{}) ScopeParam_FieldPathValue { 3391 return &ScopeParam_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 3392 } 3393 3394 func (fps *ScopeParam_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 3395 return fps.WithIValue(value) 3396 } 3397 3398 func (fps *ScopeParam_FieldSubPath) WithIArrayOfValues(values interface{}) ScopeParam_FieldPathArrayOfValues { 3399 return &ScopeParam_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 3400 } 3401 3402 func (fps *ScopeParam_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 3403 return fps.WithIArrayOfValues(values) 3404 } 3405 3406 func (fps *ScopeParam_FieldSubPath) WithIArrayItemValue(value interface{}) ScopeParam_FieldPathArrayItemValue { 3407 return &ScopeParam_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 3408 } 3409 3410 func (fps *ScopeParam_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 3411 return fps.WithIArrayItemValue(value) 3412 } 3413 3414 // ScopeParam_FieldPathValue allows storing values for ScopeParam fields according to their type 3415 type ScopeParam_FieldPathValue interface { 3416 ScopeParam_FieldPath 3417 gotenobject.FieldPathValue 3418 SetTo(target **ScopeParam) 3419 CompareWith(*ScopeParam) (cmp int, comparable bool) 3420 } 3421 3422 func ParseScopeParam_FieldPathValue(pathStr, valueStr string) (ScopeParam_FieldPathValue, error) { 3423 fp, err := ParseScopeParam_FieldPath(pathStr) 3424 if err != nil { 3425 return nil, err 3426 } 3427 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 3428 if err != nil { 3429 return nil, status.Errorf(codes.InvalidArgument, "error parsing ScopeParam field path value from %s: %v", valueStr, err) 3430 } 3431 return fpv.(ScopeParam_FieldPathValue), nil 3432 } 3433 3434 func MustParseScopeParam_FieldPathValue(pathStr, valueStr string) ScopeParam_FieldPathValue { 3435 fpv, err := ParseScopeParam_FieldPathValue(pathStr, valueStr) 3436 if err != nil { 3437 panic(err) 3438 } 3439 return fpv 3440 } 3441 3442 type ScopeParam_FieldTerminalPathValue struct { 3443 ScopeParam_FieldTerminalPath 3444 value interface{} 3445 } 3446 3447 var _ ScopeParam_FieldPathValue = (*ScopeParam_FieldTerminalPathValue)(nil) 3448 3449 // GetRawValue returns raw value stored under selected path for 'ScopeParam' as interface{} 3450 func (fpv *ScopeParam_FieldTerminalPathValue) GetRawValue() interface{} { 3451 return fpv.value 3452 } 3453 func (fpv *ScopeParam_FieldTerminalPathValue) AsNameValue() (string, bool) { 3454 res, ok := fpv.value.(string) 3455 return res, ok 3456 } 3457 func (fpv *ScopeParam_FieldTerminalPathValue) AsStringValue() (*ScopeParam_StringValue, bool) { 3458 res, ok := fpv.value.(*ScopeParam_StringValue) 3459 return res, ok 3460 } 3461 func (fpv *ScopeParam_FieldTerminalPathValue) AsStringsValue() (*ScopeParam_ArrayOfStringsValue, bool) { 3462 res, ok := fpv.value.(*ScopeParam_ArrayOfStringsValue) 3463 return res, ok 3464 } 3465 func (fpv *ScopeParam_FieldTerminalPathValue) AsValueFromValue() (*ScopeParam_FromValue, bool) { 3466 res, ok := fpv.value.(*ScopeParam_FromValue) 3467 return res, ok 3468 } 3469 3470 // SetTo stores value for selected field for object ScopeParam 3471 func (fpv *ScopeParam_FieldTerminalPathValue) SetTo(target **ScopeParam) { 3472 if *target == nil { 3473 *target = new(ScopeParam) 3474 } 3475 switch fpv.selector { 3476 case ScopeParam_FieldPathSelectorName: 3477 (*target).Name = fpv.value.(string) 3478 case ScopeParam_FieldPathSelectorString: 3479 if _, ok := (*target).Value.(*ScopeParam_String_); !ok { 3480 (*target).Value = &ScopeParam_String_{} 3481 } 3482 (*target).Value.(*ScopeParam_String_).String_ = fpv.value.(*ScopeParam_StringValue) 3483 case ScopeParam_FieldPathSelectorStrings: 3484 if _, ok := (*target).Value.(*ScopeParam_Strings); !ok { 3485 (*target).Value = &ScopeParam_Strings{} 3486 } 3487 (*target).Value.(*ScopeParam_Strings).Strings = fpv.value.(*ScopeParam_ArrayOfStringsValue) 3488 case ScopeParam_FieldPathSelectorValueFrom: 3489 if _, ok := (*target).Value.(*ScopeParam_ValueFrom); !ok { 3490 (*target).Value = &ScopeParam_ValueFrom{} 3491 } 3492 (*target).Value.(*ScopeParam_ValueFrom).ValueFrom = fpv.value.(*ScopeParam_FromValue) 3493 default: 3494 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fpv.selector)) 3495 } 3496 } 3497 3498 func (fpv *ScopeParam_FieldTerminalPathValue) SetToRaw(target proto.Message) { 3499 typedObject := target.(*ScopeParam) 3500 fpv.SetTo(&typedObject) 3501 } 3502 3503 // CompareWith compares value in the 'ScopeParam_FieldTerminalPathValue' with the value under path in 'ScopeParam'. 3504 func (fpv *ScopeParam_FieldTerminalPathValue) CompareWith(source *ScopeParam) (int, bool) { 3505 switch fpv.selector { 3506 case ScopeParam_FieldPathSelectorName: 3507 leftValue := fpv.value.(string) 3508 rightValue := source.GetName() 3509 if (leftValue) == (rightValue) { 3510 return 0, true 3511 } else if (leftValue) < (rightValue) { 3512 return -1, true 3513 } else { 3514 return 1, true 3515 } 3516 case ScopeParam_FieldPathSelectorString: 3517 return 0, false 3518 case ScopeParam_FieldPathSelectorStrings: 3519 return 0, false 3520 case ScopeParam_FieldPathSelectorValueFrom: 3521 return 0, false 3522 default: 3523 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fpv.selector)) 3524 } 3525 } 3526 3527 func (fpv *ScopeParam_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 3528 return fpv.CompareWith(source.(*ScopeParam)) 3529 } 3530 3531 type ScopeParam_FieldSubPathValue struct { 3532 ScopeParam_FieldPath 3533 subPathValue gotenobject.FieldPathValue 3534 } 3535 3536 var _ ScopeParam_FieldPathValue = (*ScopeParam_FieldSubPathValue)(nil) 3537 3538 func (fpvs *ScopeParam_FieldSubPathValue) AsStringPathValue() (ScopeParamStringValue_FieldPathValue, bool) { 3539 res, ok := fpvs.subPathValue.(ScopeParamStringValue_FieldPathValue) 3540 return res, ok 3541 } 3542 func (fpvs *ScopeParam_FieldSubPathValue) AsStringsPathValue() (ScopeParamArrayOfStringsValue_FieldPathValue, bool) { 3543 res, ok := fpvs.subPathValue.(ScopeParamArrayOfStringsValue_FieldPathValue) 3544 return res, ok 3545 } 3546 func (fpvs *ScopeParam_FieldSubPathValue) AsValueFromPathValue() (ScopeParamFromValue_FieldPathValue, bool) { 3547 res, ok := fpvs.subPathValue.(ScopeParamFromValue_FieldPathValue) 3548 return res, ok 3549 } 3550 3551 func (fpvs *ScopeParam_FieldSubPathValue) SetTo(target **ScopeParam) { 3552 if *target == nil { 3553 *target = new(ScopeParam) 3554 } 3555 switch fpvs.Selector() { 3556 case ScopeParam_FieldPathSelectorString: 3557 if _, ok := (*target).Value.(*ScopeParam_String_); !ok { 3558 (*target).Value = &ScopeParam_String_{} 3559 } 3560 fpvs.subPathValue.(ScopeParamStringValue_FieldPathValue).SetTo(&(*target).Value.(*ScopeParam_String_).String_) 3561 case ScopeParam_FieldPathSelectorStrings: 3562 if _, ok := (*target).Value.(*ScopeParam_Strings); !ok { 3563 (*target).Value = &ScopeParam_Strings{} 3564 } 3565 fpvs.subPathValue.(ScopeParamArrayOfStringsValue_FieldPathValue).SetTo(&(*target).Value.(*ScopeParam_Strings).Strings) 3566 case ScopeParam_FieldPathSelectorValueFrom: 3567 if _, ok := (*target).Value.(*ScopeParam_ValueFrom); !ok { 3568 (*target).Value = &ScopeParam_ValueFrom{} 3569 } 3570 fpvs.subPathValue.(ScopeParamFromValue_FieldPathValue).SetTo(&(*target).Value.(*ScopeParam_ValueFrom).ValueFrom) 3571 default: 3572 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fpvs.Selector())) 3573 } 3574 } 3575 3576 func (fpvs *ScopeParam_FieldSubPathValue) SetToRaw(target proto.Message) { 3577 typedObject := target.(*ScopeParam) 3578 fpvs.SetTo(&typedObject) 3579 } 3580 3581 func (fpvs *ScopeParam_FieldSubPathValue) GetRawValue() interface{} { 3582 return fpvs.subPathValue.GetRawValue() 3583 } 3584 3585 func (fpvs *ScopeParam_FieldSubPathValue) CompareWith(source *ScopeParam) (int, bool) { 3586 switch fpvs.Selector() { 3587 case ScopeParam_FieldPathSelectorString: 3588 return fpvs.subPathValue.(ScopeParamStringValue_FieldPathValue).CompareWith(source.GetString_()) 3589 case ScopeParam_FieldPathSelectorStrings: 3590 return fpvs.subPathValue.(ScopeParamArrayOfStringsValue_FieldPathValue).CompareWith(source.GetStrings()) 3591 case ScopeParam_FieldPathSelectorValueFrom: 3592 return fpvs.subPathValue.(ScopeParamFromValue_FieldPathValue).CompareWith(source.GetValueFrom()) 3593 default: 3594 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fpvs.Selector())) 3595 } 3596 } 3597 3598 func (fpvs *ScopeParam_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 3599 return fpvs.CompareWith(source.(*ScopeParam)) 3600 } 3601 3602 // ScopeParam_FieldPathArrayItemValue allows storing single item in Path-specific values for ScopeParam according to their type 3603 // Present only for array (repeated) types. 3604 type ScopeParam_FieldPathArrayItemValue interface { 3605 gotenobject.FieldPathArrayItemValue 3606 ScopeParam_FieldPath 3607 ContainsValue(*ScopeParam) bool 3608 } 3609 3610 // ParseScopeParam_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 3611 func ParseScopeParam_FieldPathArrayItemValue(pathStr, valueStr string) (ScopeParam_FieldPathArrayItemValue, error) { 3612 fp, err := ParseScopeParam_FieldPath(pathStr) 3613 if err != nil { 3614 return nil, err 3615 } 3616 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 3617 if err != nil { 3618 return nil, status.Errorf(codes.InvalidArgument, "error parsing ScopeParam field path array item value from %s: %v", valueStr, err) 3619 } 3620 return fpaiv.(ScopeParam_FieldPathArrayItemValue), nil 3621 } 3622 3623 func MustParseScopeParam_FieldPathArrayItemValue(pathStr, valueStr string) ScopeParam_FieldPathArrayItemValue { 3624 fpaiv, err := ParseScopeParam_FieldPathArrayItemValue(pathStr, valueStr) 3625 if err != nil { 3626 panic(err) 3627 } 3628 return fpaiv 3629 } 3630 3631 type ScopeParam_FieldTerminalPathArrayItemValue struct { 3632 ScopeParam_FieldTerminalPath 3633 value interface{} 3634 } 3635 3636 var _ ScopeParam_FieldPathArrayItemValue = (*ScopeParam_FieldTerminalPathArrayItemValue)(nil) 3637 3638 // GetRawValue returns stored element value for array in object ScopeParam as interface{} 3639 func (fpaiv *ScopeParam_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 3640 return fpaiv.value 3641 } 3642 3643 func (fpaiv *ScopeParam_FieldTerminalPathArrayItemValue) GetSingle(source *ScopeParam) (interface{}, bool) { 3644 return nil, false 3645 } 3646 3647 func (fpaiv *ScopeParam_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 3648 return fpaiv.GetSingle(source.(*ScopeParam)) 3649 } 3650 3651 // Contains returns a boolean indicating if value that is being held is present in given 'ScopeParam' 3652 func (fpaiv *ScopeParam_FieldTerminalPathArrayItemValue) ContainsValue(source *ScopeParam) bool { 3653 slice := fpaiv.ScopeParam_FieldTerminalPath.Get(source) 3654 for _, v := range slice { 3655 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 3656 if proto.Equal(asProtoMsg, v.(proto.Message)) { 3657 return true 3658 } 3659 } else if reflect.DeepEqual(v, fpaiv.value) { 3660 return true 3661 } 3662 } 3663 return false 3664 } 3665 3666 type ScopeParam_FieldSubPathArrayItemValue struct { 3667 ScopeParam_FieldPath 3668 subPathItemValue gotenobject.FieldPathArrayItemValue 3669 } 3670 3671 // GetRawValue returns stored array item value 3672 func (fpaivs *ScopeParam_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 3673 return fpaivs.subPathItemValue.GetRawItemValue() 3674 } 3675 func (fpaivs *ScopeParam_FieldSubPathArrayItemValue) AsStringPathItemValue() (ScopeParamStringValue_FieldPathArrayItemValue, bool) { 3676 res, ok := fpaivs.subPathItemValue.(ScopeParamStringValue_FieldPathArrayItemValue) 3677 return res, ok 3678 } 3679 func (fpaivs *ScopeParam_FieldSubPathArrayItemValue) AsStringsPathItemValue() (ScopeParamArrayOfStringsValue_FieldPathArrayItemValue, bool) { 3680 res, ok := fpaivs.subPathItemValue.(ScopeParamArrayOfStringsValue_FieldPathArrayItemValue) 3681 return res, ok 3682 } 3683 func (fpaivs *ScopeParam_FieldSubPathArrayItemValue) AsValueFromPathItemValue() (ScopeParamFromValue_FieldPathArrayItemValue, bool) { 3684 res, ok := fpaivs.subPathItemValue.(ScopeParamFromValue_FieldPathArrayItemValue) 3685 return res, ok 3686 } 3687 3688 // Contains returns a boolean indicating if value that is being held is present in given 'ScopeParam' 3689 func (fpaivs *ScopeParam_FieldSubPathArrayItemValue) ContainsValue(source *ScopeParam) bool { 3690 switch fpaivs.Selector() { 3691 case ScopeParam_FieldPathSelectorString: 3692 return fpaivs.subPathItemValue.(ScopeParamStringValue_FieldPathArrayItemValue).ContainsValue(source.GetString_()) 3693 case ScopeParam_FieldPathSelectorStrings: 3694 return fpaivs.subPathItemValue.(ScopeParamArrayOfStringsValue_FieldPathArrayItemValue).ContainsValue(source.GetStrings()) 3695 case ScopeParam_FieldPathSelectorValueFrom: 3696 return fpaivs.subPathItemValue.(ScopeParamFromValue_FieldPathArrayItemValue).ContainsValue(source.GetValueFrom()) 3697 default: 3698 panic(fmt.Sprintf("Invalid selector for ScopeParam: %d", fpaivs.Selector())) 3699 } 3700 } 3701 3702 // ScopeParam_FieldPathArrayOfValues allows storing slice of values for ScopeParam fields according to their type 3703 type ScopeParam_FieldPathArrayOfValues interface { 3704 gotenobject.FieldPathArrayOfValues 3705 ScopeParam_FieldPath 3706 } 3707 3708 func ParseScopeParam_FieldPathArrayOfValues(pathStr, valuesStr string) (ScopeParam_FieldPathArrayOfValues, error) { 3709 fp, err := ParseScopeParam_FieldPath(pathStr) 3710 if err != nil { 3711 return nil, err 3712 } 3713 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 3714 if err != nil { 3715 return nil, status.Errorf(codes.InvalidArgument, "error parsing ScopeParam field path array of values from %s: %v", valuesStr, err) 3716 } 3717 return fpaov.(ScopeParam_FieldPathArrayOfValues), nil 3718 } 3719 3720 func MustParseScopeParam_FieldPathArrayOfValues(pathStr, valuesStr string) ScopeParam_FieldPathArrayOfValues { 3721 fpaov, err := ParseScopeParam_FieldPathArrayOfValues(pathStr, valuesStr) 3722 if err != nil { 3723 panic(err) 3724 } 3725 return fpaov 3726 } 3727 3728 type ScopeParam_FieldTerminalPathArrayOfValues struct { 3729 ScopeParam_FieldTerminalPath 3730 values interface{} 3731 } 3732 3733 var _ ScopeParam_FieldPathArrayOfValues = (*ScopeParam_FieldTerminalPathArrayOfValues)(nil) 3734 3735 func (fpaov *ScopeParam_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 3736 switch fpaov.selector { 3737 case ScopeParam_FieldPathSelectorName: 3738 for _, v := range fpaov.values.([]string) { 3739 values = append(values, v) 3740 } 3741 case ScopeParam_FieldPathSelectorString: 3742 for _, v := range fpaov.values.([]*ScopeParam_StringValue) { 3743 values = append(values, v) 3744 } 3745 case ScopeParam_FieldPathSelectorStrings: 3746 for _, v := range fpaov.values.([]*ScopeParam_ArrayOfStringsValue) { 3747 values = append(values, v) 3748 } 3749 case ScopeParam_FieldPathSelectorValueFrom: 3750 for _, v := range fpaov.values.([]*ScopeParam_FromValue) { 3751 values = append(values, v) 3752 } 3753 } 3754 return 3755 } 3756 func (fpaov *ScopeParam_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]string, bool) { 3757 res, ok := fpaov.values.([]string) 3758 return res, ok 3759 } 3760 func (fpaov *ScopeParam_FieldTerminalPathArrayOfValues) AsStringArrayOfValues() ([]*ScopeParam_StringValue, bool) { 3761 res, ok := fpaov.values.([]*ScopeParam_StringValue) 3762 return res, ok 3763 } 3764 func (fpaov *ScopeParam_FieldTerminalPathArrayOfValues) AsStringsArrayOfValues() ([]*ScopeParam_ArrayOfStringsValue, bool) { 3765 res, ok := fpaov.values.([]*ScopeParam_ArrayOfStringsValue) 3766 return res, ok 3767 } 3768 func (fpaov *ScopeParam_FieldTerminalPathArrayOfValues) AsValueFromArrayOfValues() ([]*ScopeParam_FromValue, bool) { 3769 res, ok := fpaov.values.([]*ScopeParam_FromValue) 3770 return res, ok 3771 } 3772 3773 type ScopeParam_FieldSubPathArrayOfValues struct { 3774 ScopeParam_FieldPath 3775 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 3776 } 3777 3778 var _ ScopeParam_FieldPathArrayOfValues = (*ScopeParam_FieldSubPathArrayOfValues)(nil) 3779 3780 func (fpsaov *ScopeParam_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 3781 return fpsaov.subPathArrayOfValues.GetRawValues() 3782 } 3783 func (fpsaov *ScopeParam_FieldSubPathArrayOfValues) AsStringPathArrayOfValues() (ScopeParamStringValue_FieldPathArrayOfValues, bool) { 3784 res, ok := fpsaov.subPathArrayOfValues.(ScopeParamStringValue_FieldPathArrayOfValues) 3785 return res, ok 3786 } 3787 func (fpsaov *ScopeParam_FieldSubPathArrayOfValues) AsStringsPathArrayOfValues() (ScopeParamArrayOfStringsValue_FieldPathArrayOfValues, bool) { 3788 res, ok := fpsaov.subPathArrayOfValues.(ScopeParamArrayOfStringsValue_FieldPathArrayOfValues) 3789 return res, ok 3790 } 3791 func (fpsaov *ScopeParam_FieldSubPathArrayOfValues) AsValueFromPathArrayOfValues() (ScopeParamFromValue_FieldPathArrayOfValues, bool) { 3792 res, ok := fpsaov.subPathArrayOfValues.(ScopeParamFromValue_FieldPathArrayOfValues) 3793 return res, ok 3794 } 3795 3796 // FieldPath provides implementation to handle 3797 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 3798 type ScopeParamStringValue_FieldPath interface { 3799 gotenobject.FieldPath 3800 Selector() ScopeParamStringValue_FieldPathSelector 3801 Get(source *ScopeParam_StringValue) []interface{} 3802 GetSingle(source *ScopeParam_StringValue) (interface{}, bool) 3803 ClearValue(item *ScopeParam_StringValue) 3804 3805 // Those methods build corresponding ScopeParamStringValue_FieldPathValue 3806 // (or array of values) and holds passed value. Panics if injected type is incorrect. 3807 WithIValue(value interface{}) ScopeParamStringValue_FieldPathValue 3808 WithIArrayOfValues(values interface{}) ScopeParamStringValue_FieldPathArrayOfValues 3809 WithIArrayItemValue(value interface{}) ScopeParamStringValue_FieldPathArrayItemValue 3810 } 3811 3812 type ScopeParamStringValue_FieldPathSelector int32 3813 3814 const ( 3815 ScopeParamStringValue_FieldPathSelectorValue ScopeParamStringValue_FieldPathSelector = 0 3816 ) 3817 3818 func (s ScopeParamStringValue_FieldPathSelector) String() string { 3819 switch s { 3820 case ScopeParamStringValue_FieldPathSelectorValue: 3821 return "value" 3822 default: 3823 panic(fmt.Sprintf("Invalid selector for ScopeParam_StringValue: %d", s)) 3824 } 3825 } 3826 3827 func BuildScopeParamStringValue_FieldPath(fp gotenobject.RawFieldPath) (ScopeParamStringValue_FieldPath, error) { 3828 if len(fp) == 0 { 3829 return nil, status.Error(codes.InvalidArgument, "empty field path for object ScopeParam_StringValue") 3830 } 3831 if len(fp) == 1 { 3832 switch fp[0] { 3833 case "value": 3834 return &ScopeParamStringValue_FieldTerminalPath{selector: ScopeParamStringValue_FieldPathSelectorValue}, nil 3835 } 3836 } 3837 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object ScopeParam_StringValue", fp) 3838 } 3839 3840 func ParseScopeParamStringValue_FieldPath(rawField string) (ScopeParamStringValue_FieldPath, error) { 3841 fp, err := gotenobject.ParseRawFieldPath(rawField) 3842 if err != nil { 3843 return nil, err 3844 } 3845 return BuildScopeParamStringValue_FieldPath(fp) 3846 } 3847 3848 func MustParseScopeParamStringValue_FieldPath(rawField string) ScopeParamStringValue_FieldPath { 3849 fp, err := ParseScopeParamStringValue_FieldPath(rawField) 3850 if err != nil { 3851 panic(err) 3852 } 3853 return fp 3854 } 3855 3856 type ScopeParamStringValue_FieldTerminalPath struct { 3857 selector ScopeParamStringValue_FieldPathSelector 3858 } 3859 3860 var _ ScopeParamStringValue_FieldPath = (*ScopeParamStringValue_FieldTerminalPath)(nil) 3861 3862 func (fp *ScopeParamStringValue_FieldTerminalPath) Selector() ScopeParamStringValue_FieldPathSelector { 3863 return fp.selector 3864 } 3865 3866 // String returns path representation in proto convention 3867 func (fp *ScopeParamStringValue_FieldTerminalPath) String() string { 3868 return fp.selector.String() 3869 } 3870 3871 // JSONString returns path representation is JSON convention 3872 func (fp *ScopeParamStringValue_FieldTerminalPath) JSONString() string { 3873 return strcase.ToLowerCamel(fp.String()) 3874 } 3875 3876 // Get returns all values pointed by specific field from source ScopeParam_StringValue 3877 func (fp *ScopeParamStringValue_FieldTerminalPath) Get(source *ScopeParam_StringValue) (values []interface{}) { 3878 if source != nil { 3879 switch fp.selector { 3880 case ScopeParamStringValue_FieldPathSelectorValue: 3881 values = append(values, source.Value) 3882 default: 3883 panic(fmt.Sprintf("Invalid selector for ScopeParam_StringValue: %d", fp.selector)) 3884 } 3885 } 3886 return 3887 } 3888 3889 func (fp *ScopeParamStringValue_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 3890 return fp.Get(source.(*ScopeParam_StringValue)) 3891 } 3892 3893 // GetSingle returns value pointed by specific field of from source ScopeParam_StringValue 3894 func (fp *ScopeParamStringValue_FieldTerminalPath) GetSingle(source *ScopeParam_StringValue) (interface{}, bool) { 3895 switch fp.selector { 3896 case ScopeParamStringValue_FieldPathSelectorValue: 3897 return source.GetValue(), source != nil 3898 default: 3899 panic(fmt.Sprintf("Invalid selector for ScopeParam_StringValue: %d", fp.selector)) 3900 } 3901 } 3902 3903 func (fp *ScopeParamStringValue_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 3904 return fp.GetSingle(source.(*ScopeParam_StringValue)) 3905 } 3906 3907 // GetDefault returns a default value of the field type 3908 func (fp *ScopeParamStringValue_FieldTerminalPath) GetDefault() interface{} { 3909 switch fp.selector { 3910 case ScopeParamStringValue_FieldPathSelectorValue: 3911 return "" 3912 default: 3913 panic(fmt.Sprintf("Invalid selector for ScopeParam_StringValue: %d", fp.selector)) 3914 } 3915 } 3916 3917 func (fp *ScopeParamStringValue_FieldTerminalPath) ClearValue(item *ScopeParam_StringValue) { 3918 if item != nil { 3919 switch fp.selector { 3920 case ScopeParamStringValue_FieldPathSelectorValue: 3921 item.Value = "" 3922 default: 3923 panic(fmt.Sprintf("Invalid selector for ScopeParam_StringValue: %d", fp.selector)) 3924 } 3925 } 3926 } 3927 3928 func (fp *ScopeParamStringValue_FieldTerminalPath) ClearValueRaw(item proto.Message) { 3929 fp.ClearValue(item.(*ScopeParam_StringValue)) 3930 } 3931 3932 // IsLeaf - whether field path is holds simple value 3933 func (fp *ScopeParamStringValue_FieldTerminalPath) IsLeaf() bool { 3934 return fp.selector == ScopeParamStringValue_FieldPathSelectorValue 3935 } 3936 3937 func (fp *ScopeParamStringValue_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 3938 return []gotenobject.FieldPath{fp} 3939 } 3940 3941 func (fp *ScopeParamStringValue_FieldTerminalPath) WithIValue(value interface{}) ScopeParamStringValue_FieldPathValue { 3942 switch fp.selector { 3943 case ScopeParamStringValue_FieldPathSelectorValue: 3944 return &ScopeParamStringValue_FieldTerminalPathValue{ScopeParamStringValue_FieldTerminalPath: *fp, value: value.(string)} 3945 default: 3946 panic(fmt.Sprintf("Invalid selector for ScopeParam_StringValue: %d", fp.selector)) 3947 } 3948 } 3949 3950 func (fp *ScopeParamStringValue_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 3951 return fp.WithIValue(value) 3952 } 3953 3954 func (fp *ScopeParamStringValue_FieldTerminalPath) WithIArrayOfValues(values interface{}) ScopeParamStringValue_FieldPathArrayOfValues { 3955 fpaov := &ScopeParamStringValue_FieldTerminalPathArrayOfValues{ScopeParamStringValue_FieldTerminalPath: *fp} 3956 switch fp.selector { 3957 case ScopeParamStringValue_FieldPathSelectorValue: 3958 return &ScopeParamStringValue_FieldTerminalPathArrayOfValues{ScopeParamStringValue_FieldTerminalPath: *fp, values: values.([]string)} 3959 default: 3960 panic(fmt.Sprintf("Invalid selector for ScopeParam_StringValue: %d", fp.selector)) 3961 } 3962 return fpaov 3963 } 3964 3965 func (fp *ScopeParamStringValue_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 3966 return fp.WithIArrayOfValues(values) 3967 } 3968 3969 func (fp *ScopeParamStringValue_FieldTerminalPath) WithIArrayItemValue(value interface{}) ScopeParamStringValue_FieldPathArrayItemValue { 3970 switch fp.selector { 3971 default: 3972 panic(fmt.Sprintf("Invalid selector for ScopeParam_StringValue: %d", fp.selector)) 3973 } 3974 } 3975 3976 func (fp *ScopeParamStringValue_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 3977 return fp.WithIArrayItemValue(value) 3978 } 3979 3980 // ScopeParamStringValue_FieldPathValue allows storing values for StringValue fields according to their type 3981 type ScopeParamStringValue_FieldPathValue interface { 3982 ScopeParamStringValue_FieldPath 3983 gotenobject.FieldPathValue 3984 SetTo(target **ScopeParam_StringValue) 3985 CompareWith(*ScopeParam_StringValue) (cmp int, comparable bool) 3986 } 3987 3988 func ParseScopeParamStringValue_FieldPathValue(pathStr, valueStr string) (ScopeParamStringValue_FieldPathValue, error) { 3989 fp, err := ParseScopeParamStringValue_FieldPath(pathStr) 3990 if err != nil { 3991 return nil, err 3992 } 3993 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 3994 if err != nil { 3995 return nil, status.Errorf(codes.InvalidArgument, "error parsing StringValue field path value from %s: %v", valueStr, err) 3996 } 3997 return fpv.(ScopeParamStringValue_FieldPathValue), nil 3998 } 3999 4000 func MustParseScopeParamStringValue_FieldPathValue(pathStr, valueStr string) ScopeParamStringValue_FieldPathValue { 4001 fpv, err := ParseScopeParamStringValue_FieldPathValue(pathStr, valueStr) 4002 if err != nil { 4003 panic(err) 4004 } 4005 return fpv 4006 } 4007 4008 type ScopeParamStringValue_FieldTerminalPathValue struct { 4009 ScopeParamStringValue_FieldTerminalPath 4010 value interface{} 4011 } 4012 4013 var _ ScopeParamStringValue_FieldPathValue = (*ScopeParamStringValue_FieldTerminalPathValue)(nil) 4014 4015 // GetRawValue returns raw value stored under selected path for 'StringValue' as interface{} 4016 func (fpv *ScopeParamStringValue_FieldTerminalPathValue) GetRawValue() interface{} { 4017 return fpv.value 4018 } 4019 func (fpv *ScopeParamStringValue_FieldTerminalPathValue) AsValueValue() (string, bool) { 4020 res, ok := fpv.value.(string) 4021 return res, ok 4022 } 4023 4024 // SetTo stores value for selected field for object StringValue 4025 func (fpv *ScopeParamStringValue_FieldTerminalPathValue) SetTo(target **ScopeParam_StringValue) { 4026 if *target == nil { 4027 *target = new(ScopeParam_StringValue) 4028 } 4029 switch fpv.selector { 4030 case ScopeParamStringValue_FieldPathSelectorValue: 4031 (*target).Value = fpv.value.(string) 4032 default: 4033 panic(fmt.Sprintf("Invalid selector for ScopeParam_StringValue: %d", fpv.selector)) 4034 } 4035 } 4036 4037 func (fpv *ScopeParamStringValue_FieldTerminalPathValue) SetToRaw(target proto.Message) { 4038 typedObject := target.(*ScopeParam_StringValue) 4039 fpv.SetTo(&typedObject) 4040 } 4041 4042 // CompareWith compares value in the 'ScopeParamStringValue_FieldTerminalPathValue' with the value under path in 'ScopeParam_StringValue'. 4043 func (fpv *ScopeParamStringValue_FieldTerminalPathValue) CompareWith(source *ScopeParam_StringValue) (int, bool) { 4044 switch fpv.selector { 4045 case ScopeParamStringValue_FieldPathSelectorValue: 4046 leftValue := fpv.value.(string) 4047 rightValue := source.GetValue() 4048 if (leftValue) == (rightValue) { 4049 return 0, true 4050 } else if (leftValue) < (rightValue) { 4051 return -1, true 4052 } else { 4053 return 1, true 4054 } 4055 default: 4056 panic(fmt.Sprintf("Invalid selector for ScopeParam_StringValue: %d", fpv.selector)) 4057 } 4058 } 4059 4060 func (fpv *ScopeParamStringValue_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 4061 return fpv.CompareWith(source.(*ScopeParam_StringValue)) 4062 } 4063 4064 // ScopeParamStringValue_FieldPathArrayItemValue allows storing single item in Path-specific values for StringValue according to their type 4065 // Present only for array (repeated) types. 4066 type ScopeParamStringValue_FieldPathArrayItemValue interface { 4067 gotenobject.FieldPathArrayItemValue 4068 ScopeParamStringValue_FieldPath 4069 ContainsValue(*ScopeParam_StringValue) bool 4070 } 4071 4072 // ParseScopeParamStringValue_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 4073 func ParseScopeParamStringValue_FieldPathArrayItemValue(pathStr, valueStr string) (ScopeParamStringValue_FieldPathArrayItemValue, error) { 4074 fp, err := ParseScopeParamStringValue_FieldPath(pathStr) 4075 if err != nil { 4076 return nil, err 4077 } 4078 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 4079 if err != nil { 4080 return nil, status.Errorf(codes.InvalidArgument, "error parsing StringValue field path array item value from %s: %v", valueStr, err) 4081 } 4082 return fpaiv.(ScopeParamStringValue_FieldPathArrayItemValue), nil 4083 } 4084 4085 func MustParseScopeParamStringValue_FieldPathArrayItemValue(pathStr, valueStr string) ScopeParamStringValue_FieldPathArrayItemValue { 4086 fpaiv, err := ParseScopeParamStringValue_FieldPathArrayItemValue(pathStr, valueStr) 4087 if err != nil { 4088 panic(err) 4089 } 4090 return fpaiv 4091 } 4092 4093 type ScopeParamStringValue_FieldTerminalPathArrayItemValue struct { 4094 ScopeParamStringValue_FieldTerminalPath 4095 value interface{} 4096 } 4097 4098 var _ ScopeParamStringValue_FieldPathArrayItemValue = (*ScopeParamStringValue_FieldTerminalPathArrayItemValue)(nil) 4099 4100 // GetRawValue returns stored element value for array in object ScopeParam_StringValue as interface{} 4101 func (fpaiv *ScopeParamStringValue_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 4102 return fpaiv.value 4103 } 4104 4105 func (fpaiv *ScopeParamStringValue_FieldTerminalPathArrayItemValue) GetSingle(source *ScopeParam_StringValue) (interface{}, bool) { 4106 return nil, false 4107 } 4108 4109 func (fpaiv *ScopeParamStringValue_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 4110 return fpaiv.GetSingle(source.(*ScopeParam_StringValue)) 4111 } 4112 4113 // Contains returns a boolean indicating if value that is being held is present in given 'StringValue' 4114 func (fpaiv *ScopeParamStringValue_FieldTerminalPathArrayItemValue) ContainsValue(source *ScopeParam_StringValue) bool { 4115 slice := fpaiv.ScopeParamStringValue_FieldTerminalPath.Get(source) 4116 for _, v := range slice { 4117 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 4118 if proto.Equal(asProtoMsg, v.(proto.Message)) { 4119 return true 4120 } 4121 } else if reflect.DeepEqual(v, fpaiv.value) { 4122 return true 4123 } 4124 } 4125 return false 4126 } 4127 4128 // ScopeParamStringValue_FieldPathArrayOfValues allows storing slice of values for StringValue fields according to their type 4129 type ScopeParamStringValue_FieldPathArrayOfValues interface { 4130 gotenobject.FieldPathArrayOfValues 4131 ScopeParamStringValue_FieldPath 4132 } 4133 4134 func ParseScopeParamStringValue_FieldPathArrayOfValues(pathStr, valuesStr string) (ScopeParamStringValue_FieldPathArrayOfValues, error) { 4135 fp, err := ParseScopeParamStringValue_FieldPath(pathStr) 4136 if err != nil { 4137 return nil, err 4138 } 4139 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 4140 if err != nil { 4141 return nil, status.Errorf(codes.InvalidArgument, "error parsing StringValue field path array of values from %s: %v", valuesStr, err) 4142 } 4143 return fpaov.(ScopeParamStringValue_FieldPathArrayOfValues), nil 4144 } 4145 4146 func MustParseScopeParamStringValue_FieldPathArrayOfValues(pathStr, valuesStr string) ScopeParamStringValue_FieldPathArrayOfValues { 4147 fpaov, err := ParseScopeParamStringValue_FieldPathArrayOfValues(pathStr, valuesStr) 4148 if err != nil { 4149 panic(err) 4150 } 4151 return fpaov 4152 } 4153 4154 type ScopeParamStringValue_FieldTerminalPathArrayOfValues struct { 4155 ScopeParamStringValue_FieldTerminalPath 4156 values interface{} 4157 } 4158 4159 var _ ScopeParamStringValue_FieldPathArrayOfValues = (*ScopeParamStringValue_FieldTerminalPathArrayOfValues)(nil) 4160 4161 func (fpaov *ScopeParamStringValue_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 4162 switch fpaov.selector { 4163 case ScopeParamStringValue_FieldPathSelectorValue: 4164 for _, v := range fpaov.values.([]string) { 4165 values = append(values, v) 4166 } 4167 } 4168 return 4169 } 4170 func (fpaov *ScopeParamStringValue_FieldTerminalPathArrayOfValues) AsValueArrayOfValues() ([]string, bool) { 4171 res, ok := fpaov.values.([]string) 4172 return res, ok 4173 } 4174 4175 // FieldPath provides implementation to handle 4176 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 4177 type ScopeParamArrayOfStringsValue_FieldPath interface { 4178 gotenobject.FieldPath 4179 Selector() ScopeParamArrayOfStringsValue_FieldPathSelector 4180 Get(source *ScopeParam_ArrayOfStringsValue) []interface{} 4181 GetSingle(source *ScopeParam_ArrayOfStringsValue) (interface{}, bool) 4182 ClearValue(item *ScopeParam_ArrayOfStringsValue) 4183 4184 // Those methods build corresponding ScopeParamArrayOfStringsValue_FieldPathValue 4185 // (or array of values) and holds passed value. Panics if injected type is incorrect. 4186 WithIValue(value interface{}) ScopeParamArrayOfStringsValue_FieldPathValue 4187 WithIArrayOfValues(values interface{}) ScopeParamArrayOfStringsValue_FieldPathArrayOfValues 4188 WithIArrayItemValue(value interface{}) ScopeParamArrayOfStringsValue_FieldPathArrayItemValue 4189 } 4190 4191 type ScopeParamArrayOfStringsValue_FieldPathSelector int32 4192 4193 const ( 4194 ScopeParamArrayOfStringsValue_FieldPathSelectorValues ScopeParamArrayOfStringsValue_FieldPathSelector = 0 4195 ) 4196 4197 func (s ScopeParamArrayOfStringsValue_FieldPathSelector) String() string { 4198 switch s { 4199 case ScopeParamArrayOfStringsValue_FieldPathSelectorValues: 4200 return "values" 4201 default: 4202 panic(fmt.Sprintf("Invalid selector for ScopeParam_ArrayOfStringsValue: %d", s)) 4203 } 4204 } 4205 4206 func BuildScopeParamArrayOfStringsValue_FieldPath(fp gotenobject.RawFieldPath) (ScopeParamArrayOfStringsValue_FieldPath, error) { 4207 if len(fp) == 0 { 4208 return nil, status.Error(codes.InvalidArgument, "empty field path for object ScopeParam_ArrayOfStringsValue") 4209 } 4210 if len(fp) == 1 { 4211 switch fp[0] { 4212 case "values": 4213 return &ScopeParamArrayOfStringsValue_FieldTerminalPath{selector: ScopeParamArrayOfStringsValue_FieldPathSelectorValues}, nil 4214 } 4215 } 4216 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object ScopeParam_ArrayOfStringsValue", fp) 4217 } 4218 4219 func ParseScopeParamArrayOfStringsValue_FieldPath(rawField string) (ScopeParamArrayOfStringsValue_FieldPath, error) { 4220 fp, err := gotenobject.ParseRawFieldPath(rawField) 4221 if err != nil { 4222 return nil, err 4223 } 4224 return BuildScopeParamArrayOfStringsValue_FieldPath(fp) 4225 } 4226 4227 func MustParseScopeParamArrayOfStringsValue_FieldPath(rawField string) ScopeParamArrayOfStringsValue_FieldPath { 4228 fp, err := ParseScopeParamArrayOfStringsValue_FieldPath(rawField) 4229 if err != nil { 4230 panic(err) 4231 } 4232 return fp 4233 } 4234 4235 type ScopeParamArrayOfStringsValue_FieldTerminalPath struct { 4236 selector ScopeParamArrayOfStringsValue_FieldPathSelector 4237 } 4238 4239 var _ ScopeParamArrayOfStringsValue_FieldPath = (*ScopeParamArrayOfStringsValue_FieldTerminalPath)(nil) 4240 4241 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) Selector() ScopeParamArrayOfStringsValue_FieldPathSelector { 4242 return fp.selector 4243 } 4244 4245 // String returns path representation in proto convention 4246 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) String() string { 4247 return fp.selector.String() 4248 } 4249 4250 // JSONString returns path representation is JSON convention 4251 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) JSONString() string { 4252 return strcase.ToLowerCamel(fp.String()) 4253 } 4254 4255 // Get returns all values pointed by specific field from source ScopeParam_ArrayOfStringsValue 4256 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) Get(source *ScopeParam_ArrayOfStringsValue) (values []interface{}) { 4257 if source != nil { 4258 switch fp.selector { 4259 case ScopeParamArrayOfStringsValue_FieldPathSelectorValues: 4260 for _, value := range source.GetValues() { 4261 values = append(values, value) 4262 } 4263 default: 4264 panic(fmt.Sprintf("Invalid selector for ScopeParam_ArrayOfStringsValue: %d", fp.selector)) 4265 } 4266 } 4267 return 4268 } 4269 4270 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 4271 return fp.Get(source.(*ScopeParam_ArrayOfStringsValue)) 4272 } 4273 4274 // GetSingle returns value pointed by specific field of from source ScopeParam_ArrayOfStringsValue 4275 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) GetSingle(source *ScopeParam_ArrayOfStringsValue) (interface{}, bool) { 4276 switch fp.selector { 4277 case ScopeParamArrayOfStringsValue_FieldPathSelectorValues: 4278 res := source.GetValues() 4279 return res, res != nil 4280 default: 4281 panic(fmt.Sprintf("Invalid selector for ScopeParam_ArrayOfStringsValue: %d", fp.selector)) 4282 } 4283 } 4284 4285 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 4286 return fp.GetSingle(source.(*ScopeParam_ArrayOfStringsValue)) 4287 } 4288 4289 // GetDefault returns a default value of the field type 4290 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) GetDefault() interface{} { 4291 switch fp.selector { 4292 case ScopeParamArrayOfStringsValue_FieldPathSelectorValues: 4293 return ([]string)(nil) 4294 default: 4295 panic(fmt.Sprintf("Invalid selector for ScopeParam_ArrayOfStringsValue: %d", fp.selector)) 4296 } 4297 } 4298 4299 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) ClearValue(item *ScopeParam_ArrayOfStringsValue) { 4300 if item != nil { 4301 switch fp.selector { 4302 case ScopeParamArrayOfStringsValue_FieldPathSelectorValues: 4303 item.Values = nil 4304 default: 4305 panic(fmt.Sprintf("Invalid selector for ScopeParam_ArrayOfStringsValue: %d", fp.selector)) 4306 } 4307 } 4308 } 4309 4310 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) ClearValueRaw(item proto.Message) { 4311 fp.ClearValue(item.(*ScopeParam_ArrayOfStringsValue)) 4312 } 4313 4314 // IsLeaf - whether field path is holds simple value 4315 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) IsLeaf() bool { 4316 return fp.selector == ScopeParamArrayOfStringsValue_FieldPathSelectorValues 4317 } 4318 4319 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 4320 return []gotenobject.FieldPath{fp} 4321 } 4322 4323 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) WithIValue(value interface{}) ScopeParamArrayOfStringsValue_FieldPathValue { 4324 switch fp.selector { 4325 case ScopeParamArrayOfStringsValue_FieldPathSelectorValues: 4326 return &ScopeParamArrayOfStringsValue_FieldTerminalPathValue{ScopeParamArrayOfStringsValue_FieldTerminalPath: *fp, value: value.([]string)} 4327 default: 4328 panic(fmt.Sprintf("Invalid selector for ScopeParam_ArrayOfStringsValue: %d", fp.selector)) 4329 } 4330 } 4331 4332 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 4333 return fp.WithIValue(value) 4334 } 4335 4336 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) WithIArrayOfValues(values interface{}) ScopeParamArrayOfStringsValue_FieldPathArrayOfValues { 4337 fpaov := &ScopeParamArrayOfStringsValue_FieldTerminalPathArrayOfValues{ScopeParamArrayOfStringsValue_FieldTerminalPath: *fp} 4338 switch fp.selector { 4339 case ScopeParamArrayOfStringsValue_FieldPathSelectorValues: 4340 return &ScopeParamArrayOfStringsValue_FieldTerminalPathArrayOfValues{ScopeParamArrayOfStringsValue_FieldTerminalPath: *fp, values: values.([][]string)} 4341 default: 4342 panic(fmt.Sprintf("Invalid selector for ScopeParam_ArrayOfStringsValue: %d", fp.selector)) 4343 } 4344 return fpaov 4345 } 4346 4347 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 4348 return fp.WithIArrayOfValues(values) 4349 } 4350 4351 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) WithIArrayItemValue(value interface{}) ScopeParamArrayOfStringsValue_FieldPathArrayItemValue { 4352 switch fp.selector { 4353 case ScopeParamArrayOfStringsValue_FieldPathSelectorValues: 4354 return &ScopeParamArrayOfStringsValue_FieldTerminalPathArrayItemValue{ScopeParamArrayOfStringsValue_FieldTerminalPath: *fp, value: value.(string)} 4355 default: 4356 panic(fmt.Sprintf("Invalid selector for ScopeParam_ArrayOfStringsValue: %d", fp.selector)) 4357 } 4358 } 4359 4360 func (fp *ScopeParamArrayOfStringsValue_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 4361 return fp.WithIArrayItemValue(value) 4362 } 4363 4364 // ScopeParamArrayOfStringsValue_FieldPathValue allows storing values for ArrayOfStringsValue fields according to their type 4365 type ScopeParamArrayOfStringsValue_FieldPathValue interface { 4366 ScopeParamArrayOfStringsValue_FieldPath 4367 gotenobject.FieldPathValue 4368 SetTo(target **ScopeParam_ArrayOfStringsValue) 4369 CompareWith(*ScopeParam_ArrayOfStringsValue) (cmp int, comparable bool) 4370 } 4371 4372 func ParseScopeParamArrayOfStringsValue_FieldPathValue(pathStr, valueStr string) (ScopeParamArrayOfStringsValue_FieldPathValue, error) { 4373 fp, err := ParseScopeParamArrayOfStringsValue_FieldPath(pathStr) 4374 if err != nil { 4375 return nil, err 4376 } 4377 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 4378 if err != nil { 4379 return nil, status.Errorf(codes.InvalidArgument, "error parsing ArrayOfStringsValue field path value from %s: %v", valueStr, err) 4380 } 4381 return fpv.(ScopeParamArrayOfStringsValue_FieldPathValue), nil 4382 } 4383 4384 func MustParseScopeParamArrayOfStringsValue_FieldPathValue(pathStr, valueStr string) ScopeParamArrayOfStringsValue_FieldPathValue { 4385 fpv, err := ParseScopeParamArrayOfStringsValue_FieldPathValue(pathStr, valueStr) 4386 if err != nil { 4387 panic(err) 4388 } 4389 return fpv 4390 } 4391 4392 type ScopeParamArrayOfStringsValue_FieldTerminalPathValue struct { 4393 ScopeParamArrayOfStringsValue_FieldTerminalPath 4394 value interface{} 4395 } 4396 4397 var _ ScopeParamArrayOfStringsValue_FieldPathValue = (*ScopeParamArrayOfStringsValue_FieldTerminalPathValue)(nil) 4398 4399 // GetRawValue returns raw value stored under selected path for 'ArrayOfStringsValue' as interface{} 4400 func (fpv *ScopeParamArrayOfStringsValue_FieldTerminalPathValue) GetRawValue() interface{} { 4401 return fpv.value 4402 } 4403 func (fpv *ScopeParamArrayOfStringsValue_FieldTerminalPathValue) AsValuesValue() ([]string, bool) { 4404 res, ok := fpv.value.([]string) 4405 return res, ok 4406 } 4407 4408 // SetTo stores value for selected field for object ArrayOfStringsValue 4409 func (fpv *ScopeParamArrayOfStringsValue_FieldTerminalPathValue) SetTo(target **ScopeParam_ArrayOfStringsValue) { 4410 if *target == nil { 4411 *target = new(ScopeParam_ArrayOfStringsValue) 4412 } 4413 switch fpv.selector { 4414 case ScopeParamArrayOfStringsValue_FieldPathSelectorValues: 4415 (*target).Values = fpv.value.([]string) 4416 default: 4417 panic(fmt.Sprintf("Invalid selector for ScopeParam_ArrayOfStringsValue: %d", fpv.selector)) 4418 } 4419 } 4420 4421 func (fpv *ScopeParamArrayOfStringsValue_FieldTerminalPathValue) SetToRaw(target proto.Message) { 4422 typedObject := target.(*ScopeParam_ArrayOfStringsValue) 4423 fpv.SetTo(&typedObject) 4424 } 4425 4426 // CompareWith compares value in the 'ScopeParamArrayOfStringsValue_FieldTerminalPathValue' with the value under path in 'ScopeParam_ArrayOfStringsValue'. 4427 func (fpv *ScopeParamArrayOfStringsValue_FieldTerminalPathValue) CompareWith(source *ScopeParam_ArrayOfStringsValue) (int, bool) { 4428 switch fpv.selector { 4429 case ScopeParamArrayOfStringsValue_FieldPathSelectorValues: 4430 return 0, false 4431 default: 4432 panic(fmt.Sprintf("Invalid selector for ScopeParam_ArrayOfStringsValue: %d", fpv.selector)) 4433 } 4434 } 4435 4436 func (fpv *ScopeParamArrayOfStringsValue_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 4437 return fpv.CompareWith(source.(*ScopeParam_ArrayOfStringsValue)) 4438 } 4439 4440 // ScopeParamArrayOfStringsValue_FieldPathArrayItemValue allows storing single item in Path-specific values for ArrayOfStringsValue according to their type 4441 // Present only for array (repeated) types. 4442 type ScopeParamArrayOfStringsValue_FieldPathArrayItemValue interface { 4443 gotenobject.FieldPathArrayItemValue 4444 ScopeParamArrayOfStringsValue_FieldPath 4445 ContainsValue(*ScopeParam_ArrayOfStringsValue) bool 4446 } 4447 4448 // ParseScopeParamArrayOfStringsValue_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 4449 func ParseScopeParamArrayOfStringsValue_FieldPathArrayItemValue(pathStr, valueStr string) (ScopeParamArrayOfStringsValue_FieldPathArrayItemValue, error) { 4450 fp, err := ParseScopeParamArrayOfStringsValue_FieldPath(pathStr) 4451 if err != nil { 4452 return nil, err 4453 } 4454 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 4455 if err != nil { 4456 return nil, status.Errorf(codes.InvalidArgument, "error parsing ArrayOfStringsValue field path array item value from %s: %v", valueStr, err) 4457 } 4458 return fpaiv.(ScopeParamArrayOfStringsValue_FieldPathArrayItemValue), nil 4459 } 4460 4461 func MustParseScopeParamArrayOfStringsValue_FieldPathArrayItemValue(pathStr, valueStr string) ScopeParamArrayOfStringsValue_FieldPathArrayItemValue { 4462 fpaiv, err := ParseScopeParamArrayOfStringsValue_FieldPathArrayItemValue(pathStr, valueStr) 4463 if err != nil { 4464 panic(err) 4465 } 4466 return fpaiv 4467 } 4468 4469 type ScopeParamArrayOfStringsValue_FieldTerminalPathArrayItemValue struct { 4470 ScopeParamArrayOfStringsValue_FieldTerminalPath 4471 value interface{} 4472 } 4473 4474 var _ ScopeParamArrayOfStringsValue_FieldPathArrayItemValue = (*ScopeParamArrayOfStringsValue_FieldTerminalPathArrayItemValue)(nil) 4475 4476 // GetRawValue returns stored element value for array in object ScopeParam_ArrayOfStringsValue as interface{} 4477 func (fpaiv *ScopeParamArrayOfStringsValue_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 4478 return fpaiv.value 4479 } 4480 func (fpaiv *ScopeParamArrayOfStringsValue_FieldTerminalPathArrayItemValue) AsValuesItemValue() (string, bool) { 4481 res, ok := fpaiv.value.(string) 4482 return res, ok 4483 } 4484 4485 func (fpaiv *ScopeParamArrayOfStringsValue_FieldTerminalPathArrayItemValue) GetSingle(source *ScopeParam_ArrayOfStringsValue) (interface{}, bool) { 4486 return nil, false 4487 } 4488 4489 func (fpaiv *ScopeParamArrayOfStringsValue_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 4490 return fpaiv.GetSingle(source.(*ScopeParam_ArrayOfStringsValue)) 4491 } 4492 4493 // Contains returns a boolean indicating if value that is being held is present in given 'ArrayOfStringsValue' 4494 func (fpaiv *ScopeParamArrayOfStringsValue_FieldTerminalPathArrayItemValue) ContainsValue(source *ScopeParam_ArrayOfStringsValue) bool { 4495 slice := fpaiv.ScopeParamArrayOfStringsValue_FieldTerminalPath.Get(source) 4496 for _, v := range slice { 4497 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 4498 if proto.Equal(asProtoMsg, v.(proto.Message)) { 4499 return true 4500 } 4501 } else if reflect.DeepEqual(v, fpaiv.value) { 4502 return true 4503 } 4504 } 4505 return false 4506 } 4507 4508 // ScopeParamArrayOfStringsValue_FieldPathArrayOfValues allows storing slice of values for ArrayOfStringsValue fields according to their type 4509 type ScopeParamArrayOfStringsValue_FieldPathArrayOfValues interface { 4510 gotenobject.FieldPathArrayOfValues 4511 ScopeParamArrayOfStringsValue_FieldPath 4512 } 4513 4514 func ParseScopeParamArrayOfStringsValue_FieldPathArrayOfValues(pathStr, valuesStr string) (ScopeParamArrayOfStringsValue_FieldPathArrayOfValues, error) { 4515 fp, err := ParseScopeParamArrayOfStringsValue_FieldPath(pathStr) 4516 if err != nil { 4517 return nil, err 4518 } 4519 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 4520 if err != nil { 4521 return nil, status.Errorf(codes.InvalidArgument, "error parsing ArrayOfStringsValue field path array of values from %s: %v", valuesStr, err) 4522 } 4523 return fpaov.(ScopeParamArrayOfStringsValue_FieldPathArrayOfValues), nil 4524 } 4525 4526 func MustParseScopeParamArrayOfStringsValue_FieldPathArrayOfValues(pathStr, valuesStr string) ScopeParamArrayOfStringsValue_FieldPathArrayOfValues { 4527 fpaov, err := ParseScopeParamArrayOfStringsValue_FieldPathArrayOfValues(pathStr, valuesStr) 4528 if err != nil { 4529 panic(err) 4530 } 4531 return fpaov 4532 } 4533 4534 type ScopeParamArrayOfStringsValue_FieldTerminalPathArrayOfValues struct { 4535 ScopeParamArrayOfStringsValue_FieldTerminalPath 4536 values interface{} 4537 } 4538 4539 var _ ScopeParamArrayOfStringsValue_FieldPathArrayOfValues = (*ScopeParamArrayOfStringsValue_FieldTerminalPathArrayOfValues)(nil) 4540 4541 func (fpaov *ScopeParamArrayOfStringsValue_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 4542 switch fpaov.selector { 4543 case ScopeParamArrayOfStringsValue_FieldPathSelectorValues: 4544 for _, v := range fpaov.values.([][]string) { 4545 values = append(values, v) 4546 } 4547 } 4548 return 4549 } 4550 func (fpaov *ScopeParamArrayOfStringsValue_FieldTerminalPathArrayOfValues) AsValuesArrayOfValues() ([][]string, bool) { 4551 res, ok := fpaov.values.([][]string) 4552 return res, ok 4553 } 4554 4555 // FieldPath provides implementation to handle 4556 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 4557 type ScopeParamFromValue_FieldPath interface { 4558 gotenobject.FieldPath 4559 Selector() ScopeParamFromValue_FieldPathSelector 4560 Get(source *ScopeParam_FromValue) []interface{} 4561 GetSingle(source *ScopeParam_FromValue) (interface{}, bool) 4562 ClearValue(item *ScopeParam_FromValue) 4563 4564 // Those methods build corresponding ScopeParamFromValue_FieldPathValue 4565 // (or array of values) and holds passed value. Panics if injected type is incorrect. 4566 WithIValue(value interface{}) ScopeParamFromValue_FieldPathValue 4567 WithIArrayOfValues(values interface{}) ScopeParamFromValue_FieldPathArrayOfValues 4568 WithIArrayItemValue(value interface{}) ScopeParamFromValue_FieldPathArrayItemValue 4569 } 4570 4571 type ScopeParamFromValue_FieldPathSelector int32 4572 4573 const ( 4574 ScopeParamFromValue_FieldPathSelectorSource ScopeParamFromValue_FieldPathSelector = 0 4575 ScopeParamFromValue_FieldPathSelectorPath ScopeParamFromValue_FieldPathSelector = 1 4576 ) 4577 4578 func (s ScopeParamFromValue_FieldPathSelector) String() string { 4579 switch s { 4580 case ScopeParamFromValue_FieldPathSelectorSource: 4581 return "source" 4582 case ScopeParamFromValue_FieldPathSelectorPath: 4583 return "path" 4584 default: 4585 panic(fmt.Sprintf("Invalid selector for ScopeParam_FromValue: %d", s)) 4586 } 4587 } 4588 4589 func BuildScopeParamFromValue_FieldPath(fp gotenobject.RawFieldPath) (ScopeParamFromValue_FieldPath, error) { 4590 if len(fp) == 0 { 4591 return nil, status.Error(codes.InvalidArgument, "empty field path for object ScopeParam_FromValue") 4592 } 4593 if len(fp) == 1 { 4594 switch fp[0] { 4595 case "source": 4596 return &ScopeParamFromValue_FieldTerminalPath{selector: ScopeParamFromValue_FieldPathSelectorSource}, nil 4597 case "path": 4598 return &ScopeParamFromValue_FieldTerminalPath{selector: ScopeParamFromValue_FieldPathSelectorPath}, nil 4599 } 4600 } 4601 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object ScopeParam_FromValue", fp) 4602 } 4603 4604 func ParseScopeParamFromValue_FieldPath(rawField string) (ScopeParamFromValue_FieldPath, error) { 4605 fp, err := gotenobject.ParseRawFieldPath(rawField) 4606 if err != nil { 4607 return nil, err 4608 } 4609 return BuildScopeParamFromValue_FieldPath(fp) 4610 } 4611 4612 func MustParseScopeParamFromValue_FieldPath(rawField string) ScopeParamFromValue_FieldPath { 4613 fp, err := ParseScopeParamFromValue_FieldPath(rawField) 4614 if err != nil { 4615 panic(err) 4616 } 4617 return fp 4618 } 4619 4620 type ScopeParamFromValue_FieldTerminalPath struct { 4621 selector ScopeParamFromValue_FieldPathSelector 4622 } 4623 4624 var _ ScopeParamFromValue_FieldPath = (*ScopeParamFromValue_FieldTerminalPath)(nil) 4625 4626 func (fp *ScopeParamFromValue_FieldTerminalPath) Selector() ScopeParamFromValue_FieldPathSelector { 4627 return fp.selector 4628 } 4629 4630 // String returns path representation in proto convention 4631 func (fp *ScopeParamFromValue_FieldTerminalPath) String() string { 4632 return fp.selector.String() 4633 } 4634 4635 // JSONString returns path representation is JSON convention 4636 func (fp *ScopeParamFromValue_FieldTerminalPath) JSONString() string { 4637 return strcase.ToLowerCamel(fp.String()) 4638 } 4639 4640 // Get returns all values pointed by specific field from source ScopeParam_FromValue 4641 func (fp *ScopeParamFromValue_FieldTerminalPath) Get(source *ScopeParam_FromValue) (values []interface{}) { 4642 if source != nil { 4643 switch fp.selector { 4644 case ScopeParamFromValue_FieldPathSelectorSource: 4645 values = append(values, source.Source) 4646 case ScopeParamFromValue_FieldPathSelectorPath: 4647 values = append(values, source.Path) 4648 default: 4649 panic(fmt.Sprintf("Invalid selector for ScopeParam_FromValue: %d", fp.selector)) 4650 } 4651 } 4652 return 4653 } 4654 4655 func (fp *ScopeParamFromValue_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 4656 return fp.Get(source.(*ScopeParam_FromValue)) 4657 } 4658 4659 // GetSingle returns value pointed by specific field of from source ScopeParam_FromValue 4660 func (fp *ScopeParamFromValue_FieldTerminalPath) GetSingle(source *ScopeParam_FromValue) (interface{}, bool) { 4661 switch fp.selector { 4662 case ScopeParamFromValue_FieldPathSelectorSource: 4663 return source.GetSource(), source != nil 4664 case ScopeParamFromValue_FieldPathSelectorPath: 4665 return source.GetPath(), source != nil 4666 default: 4667 panic(fmt.Sprintf("Invalid selector for ScopeParam_FromValue: %d", fp.selector)) 4668 } 4669 } 4670 4671 func (fp *ScopeParamFromValue_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 4672 return fp.GetSingle(source.(*ScopeParam_FromValue)) 4673 } 4674 4675 // GetDefault returns a default value of the field type 4676 func (fp *ScopeParamFromValue_FieldTerminalPath) GetDefault() interface{} { 4677 switch fp.selector { 4678 case ScopeParamFromValue_FieldPathSelectorSource: 4679 return ScopeParam_FromValue_UNDEFINED 4680 case ScopeParamFromValue_FieldPathSelectorPath: 4681 return "" 4682 default: 4683 panic(fmt.Sprintf("Invalid selector for ScopeParam_FromValue: %d", fp.selector)) 4684 } 4685 } 4686 4687 func (fp *ScopeParamFromValue_FieldTerminalPath) ClearValue(item *ScopeParam_FromValue) { 4688 if item != nil { 4689 switch fp.selector { 4690 case ScopeParamFromValue_FieldPathSelectorSource: 4691 item.Source = ScopeParam_FromValue_UNDEFINED 4692 case ScopeParamFromValue_FieldPathSelectorPath: 4693 item.Path = "" 4694 default: 4695 panic(fmt.Sprintf("Invalid selector for ScopeParam_FromValue: %d", fp.selector)) 4696 } 4697 } 4698 } 4699 4700 func (fp *ScopeParamFromValue_FieldTerminalPath) ClearValueRaw(item proto.Message) { 4701 fp.ClearValue(item.(*ScopeParam_FromValue)) 4702 } 4703 4704 // IsLeaf - whether field path is holds simple value 4705 func (fp *ScopeParamFromValue_FieldTerminalPath) IsLeaf() bool { 4706 return fp.selector == ScopeParamFromValue_FieldPathSelectorSource || 4707 fp.selector == ScopeParamFromValue_FieldPathSelectorPath 4708 } 4709 4710 func (fp *ScopeParamFromValue_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 4711 return []gotenobject.FieldPath{fp} 4712 } 4713 4714 func (fp *ScopeParamFromValue_FieldTerminalPath) WithIValue(value interface{}) ScopeParamFromValue_FieldPathValue { 4715 switch fp.selector { 4716 case ScopeParamFromValue_FieldPathSelectorSource: 4717 return &ScopeParamFromValue_FieldTerminalPathValue{ScopeParamFromValue_FieldTerminalPath: *fp, value: value.(ScopeParam_FromValue_Source)} 4718 case ScopeParamFromValue_FieldPathSelectorPath: 4719 return &ScopeParamFromValue_FieldTerminalPathValue{ScopeParamFromValue_FieldTerminalPath: *fp, value: value.(string)} 4720 default: 4721 panic(fmt.Sprintf("Invalid selector for ScopeParam_FromValue: %d", fp.selector)) 4722 } 4723 } 4724 4725 func (fp *ScopeParamFromValue_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 4726 return fp.WithIValue(value) 4727 } 4728 4729 func (fp *ScopeParamFromValue_FieldTerminalPath) WithIArrayOfValues(values interface{}) ScopeParamFromValue_FieldPathArrayOfValues { 4730 fpaov := &ScopeParamFromValue_FieldTerminalPathArrayOfValues{ScopeParamFromValue_FieldTerminalPath: *fp} 4731 switch fp.selector { 4732 case ScopeParamFromValue_FieldPathSelectorSource: 4733 return &ScopeParamFromValue_FieldTerminalPathArrayOfValues{ScopeParamFromValue_FieldTerminalPath: *fp, values: values.([]ScopeParam_FromValue_Source)} 4734 case ScopeParamFromValue_FieldPathSelectorPath: 4735 return &ScopeParamFromValue_FieldTerminalPathArrayOfValues{ScopeParamFromValue_FieldTerminalPath: *fp, values: values.([]string)} 4736 default: 4737 panic(fmt.Sprintf("Invalid selector for ScopeParam_FromValue: %d", fp.selector)) 4738 } 4739 return fpaov 4740 } 4741 4742 func (fp *ScopeParamFromValue_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 4743 return fp.WithIArrayOfValues(values) 4744 } 4745 4746 func (fp *ScopeParamFromValue_FieldTerminalPath) WithIArrayItemValue(value interface{}) ScopeParamFromValue_FieldPathArrayItemValue { 4747 switch fp.selector { 4748 default: 4749 panic(fmt.Sprintf("Invalid selector for ScopeParam_FromValue: %d", fp.selector)) 4750 } 4751 } 4752 4753 func (fp *ScopeParamFromValue_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 4754 return fp.WithIArrayItemValue(value) 4755 } 4756 4757 // ScopeParamFromValue_FieldPathValue allows storing values for FromValue fields according to their type 4758 type ScopeParamFromValue_FieldPathValue interface { 4759 ScopeParamFromValue_FieldPath 4760 gotenobject.FieldPathValue 4761 SetTo(target **ScopeParam_FromValue) 4762 CompareWith(*ScopeParam_FromValue) (cmp int, comparable bool) 4763 } 4764 4765 func ParseScopeParamFromValue_FieldPathValue(pathStr, valueStr string) (ScopeParamFromValue_FieldPathValue, error) { 4766 fp, err := ParseScopeParamFromValue_FieldPath(pathStr) 4767 if err != nil { 4768 return nil, err 4769 } 4770 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 4771 if err != nil { 4772 return nil, status.Errorf(codes.InvalidArgument, "error parsing FromValue field path value from %s: %v", valueStr, err) 4773 } 4774 return fpv.(ScopeParamFromValue_FieldPathValue), nil 4775 } 4776 4777 func MustParseScopeParamFromValue_FieldPathValue(pathStr, valueStr string) ScopeParamFromValue_FieldPathValue { 4778 fpv, err := ParseScopeParamFromValue_FieldPathValue(pathStr, valueStr) 4779 if err != nil { 4780 panic(err) 4781 } 4782 return fpv 4783 } 4784 4785 type ScopeParamFromValue_FieldTerminalPathValue struct { 4786 ScopeParamFromValue_FieldTerminalPath 4787 value interface{} 4788 } 4789 4790 var _ ScopeParamFromValue_FieldPathValue = (*ScopeParamFromValue_FieldTerminalPathValue)(nil) 4791 4792 // GetRawValue returns raw value stored under selected path for 'FromValue' as interface{} 4793 func (fpv *ScopeParamFromValue_FieldTerminalPathValue) GetRawValue() interface{} { 4794 return fpv.value 4795 } 4796 func (fpv *ScopeParamFromValue_FieldTerminalPathValue) AsSourceValue() (ScopeParam_FromValue_Source, bool) { 4797 res, ok := fpv.value.(ScopeParam_FromValue_Source) 4798 return res, ok 4799 } 4800 func (fpv *ScopeParamFromValue_FieldTerminalPathValue) AsPathValue() (string, bool) { 4801 res, ok := fpv.value.(string) 4802 return res, ok 4803 } 4804 4805 // SetTo stores value for selected field for object FromValue 4806 func (fpv *ScopeParamFromValue_FieldTerminalPathValue) SetTo(target **ScopeParam_FromValue) { 4807 if *target == nil { 4808 *target = new(ScopeParam_FromValue) 4809 } 4810 switch fpv.selector { 4811 case ScopeParamFromValue_FieldPathSelectorSource: 4812 (*target).Source = fpv.value.(ScopeParam_FromValue_Source) 4813 case ScopeParamFromValue_FieldPathSelectorPath: 4814 (*target).Path = fpv.value.(string) 4815 default: 4816 panic(fmt.Sprintf("Invalid selector for ScopeParam_FromValue: %d", fpv.selector)) 4817 } 4818 } 4819 4820 func (fpv *ScopeParamFromValue_FieldTerminalPathValue) SetToRaw(target proto.Message) { 4821 typedObject := target.(*ScopeParam_FromValue) 4822 fpv.SetTo(&typedObject) 4823 } 4824 4825 // CompareWith compares value in the 'ScopeParamFromValue_FieldTerminalPathValue' with the value under path in 'ScopeParam_FromValue'. 4826 func (fpv *ScopeParamFromValue_FieldTerminalPathValue) CompareWith(source *ScopeParam_FromValue) (int, bool) { 4827 switch fpv.selector { 4828 case ScopeParamFromValue_FieldPathSelectorSource: 4829 leftValue := fpv.value.(ScopeParam_FromValue_Source) 4830 rightValue := source.GetSource() 4831 if (leftValue) == (rightValue) { 4832 return 0, true 4833 } else if (leftValue) < (rightValue) { 4834 return -1, true 4835 } else { 4836 return 1, true 4837 } 4838 case ScopeParamFromValue_FieldPathSelectorPath: 4839 leftValue := fpv.value.(string) 4840 rightValue := source.GetPath() 4841 if (leftValue) == (rightValue) { 4842 return 0, true 4843 } else if (leftValue) < (rightValue) { 4844 return -1, true 4845 } else { 4846 return 1, true 4847 } 4848 default: 4849 panic(fmt.Sprintf("Invalid selector for ScopeParam_FromValue: %d", fpv.selector)) 4850 } 4851 } 4852 4853 func (fpv *ScopeParamFromValue_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 4854 return fpv.CompareWith(source.(*ScopeParam_FromValue)) 4855 } 4856 4857 // ScopeParamFromValue_FieldPathArrayItemValue allows storing single item in Path-specific values for FromValue according to their type 4858 // Present only for array (repeated) types. 4859 type ScopeParamFromValue_FieldPathArrayItemValue interface { 4860 gotenobject.FieldPathArrayItemValue 4861 ScopeParamFromValue_FieldPath 4862 ContainsValue(*ScopeParam_FromValue) bool 4863 } 4864 4865 // ParseScopeParamFromValue_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 4866 func ParseScopeParamFromValue_FieldPathArrayItemValue(pathStr, valueStr string) (ScopeParamFromValue_FieldPathArrayItemValue, error) { 4867 fp, err := ParseScopeParamFromValue_FieldPath(pathStr) 4868 if err != nil { 4869 return nil, err 4870 } 4871 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 4872 if err != nil { 4873 return nil, status.Errorf(codes.InvalidArgument, "error parsing FromValue field path array item value from %s: %v", valueStr, err) 4874 } 4875 return fpaiv.(ScopeParamFromValue_FieldPathArrayItemValue), nil 4876 } 4877 4878 func MustParseScopeParamFromValue_FieldPathArrayItemValue(pathStr, valueStr string) ScopeParamFromValue_FieldPathArrayItemValue { 4879 fpaiv, err := ParseScopeParamFromValue_FieldPathArrayItemValue(pathStr, valueStr) 4880 if err != nil { 4881 panic(err) 4882 } 4883 return fpaiv 4884 } 4885 4886 type ScopeParamFromValue_FieldTerminalPathArrayItemValue struct { 4887 ScopeParamFromValue_FieldTerminalPath 4888 value interface{} 4889 } 4890 4891 var _ ScopeParamFromValue_FieldPathArrayItemValue = (*ScopeParamFromValue_FieldTerminalPathArrayItemValue)(nil) 4892 4893 // GetRawValue returns stored element value for array in object ScopeParam_FromValue as interface{} 4894 func (fpaiv *ScopeParamFromValue_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 4895 return fpaiv.value 4896 } 4897 4898 func (fpaiv *ScopeParamFromValue_FieldTerminalPathArrayItemValue) GetSingle(source *ScopeParam_FromValue) (interface{}, bool) { 4899 return nil, false 4900 } 4901 4902 func (fpaiv *ScopeParamFromValue_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 4903 return fpaiv.GetSingle(source.(*ScopeParam_FromValue)) 4904 } 4905 4906 // Contains returns a boolean indicating if value that is being held is present in given 'FromValue' 4907 func (fpaiv *ScopeParamFromValue_FieldTerminalPathArrayItemValue) ContainsValue(source *ScopeParam_FromValue) bool { 4908 slice := fpaiv.ScopeParamFromValue_FieldTerminalPath.Get(source) 4909 for _, v := range slice { 4910 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 4911 if proto.Equal(asProtoMsg, v.(proto.Message)) { 4912 return true 4913 } 4914 } else if reflect.DeepEqual(v, fpaiv.value) { 4915 return true 4916 } 4917 } 4918 return false 4919 } 4920 4921 // ScopeParamFromValue_FieldPathArrayOfValues allows storing slice of values for FromValue fields according to their type 4922 type ScopeParamFromValue_FieldPathArrayOfValues interface { 4923 gotenobject.FieldPathArrayOfValues 4924 ScopeParamFromValue_FieldPath 4925 } 4926 4927 func ParseScopeParamFromValue_FieldPathArrayOfValues(pathStr, valuesStr string) (ScopeParamFromValue_FieldPathArrayOfValues, error) { 4928 fp, err := ParseScopeParamFromValue_FieldPath(pathStr) 4929 if err != nil { 4930 return nil, err 4931 } 4932 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 4933 if err != nil { 4934 return nil, status.Errorf(codes.InvalidArgument, "error parsing FromValue field path array of values from %s: %v", valuesStr, err) 4935 } 4936 return fpaov.(ScopeParamFromValue_FieldPathArrayOfValues), nil 4937 } 4938 4939 func MustParseScopeParamFromValue_FieldPathArrayOfValues(pathStr, valuesStr string) ScopeParamFromValue_FieldPathArrayOfValues { 4940 fpaov, err := ParseScopeParamFromValue_FieldPathArrayOfValues(pathStr, valuesStr) 4941 if err != nil { 4942 panic(err) 4943 } 4944 return fpaov 4945 } 4946 4947 type ScopeParamFromValue_FieldTerminalPathArrayOfValues struct { 4948 ScopeParamFromValue_FieldTerminalPath 4949 values interface{} 4950 } 4951 4952 var _ ScopeParamFromValue_FieldPathArrayOfValues = (*ScopeParamFromValue_FieldTerminalPathArrayOfValues)(nil) 4953 4954 func (fpaov *ScopeParamFromValue_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 4955 switch fpaov.selector { 4956 case ScopeParamFromValue_FieldPathSelectorSource: 4957 for _, v := range fpaov.values.([]ScopeParam_FromValue_Source) { 4958 values = append(values, v) 4959 } 4960 case ScopeParamFromValue_FieldPathSelectorPath: 4961 for _, v := range fpaov.values.([]string) { 4962 values = append(values, v) 4963 } 4964 } 4965 return 4966 } 4967 func (fpaov *ScopeParamFromValue_FieldTerminalPathArrayOfValues) AsSourceArrayOfValues() ([]ScopeParam_FromValue_Source, bool) { 4968 res, ok := fpaov.values.([]ScopeParam_FromValue_Source) 4969 return res, ok 4970 } 4971 func (fpaov *ScopeParamFromValue_FieldTerminalPathArrayOfValues) AsPathArrayOfValues() ([]string, bool) { 4972 res, ok := fpaov.values.([]string) 4973 return res, ok 4974 }