github.com/cloudwan/edgelq-sdk@v1.15.4/limits/resources/v1alpha2/accepted_plan/accepted_plan.pb.fieldpath.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/limits/proto/v1alpha2/accepted_plan.proto 3 // DO NOT EDIT!!! 4 5 package accepted_plan 6 7 import ( 8 "encoding/json" 9 "fmt" 10 "reflect" 11 "strings" 12 "time" 13 14 "google.golang.org/grpc/codes" 15 "google.golang.org/grpc/status" 16 "google.golang.org/protobuf/encoding/protojson" 17 "google.golang.org/protobuf/proto" 18 "google.golang.org/protobuf/reflect/protoregistry" 19 20 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 21 "github.com/cloudwan/goten-sdk/runtime/strcase" 22 ) 23 24 // proto imports 25 import ( 26 iam_organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/organization" 27 iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/project" 28 common "github.com/cloudwan/edgelq-sdk/limits/resources/v1alpha2/common" 29 plan "github.com/cloudwan/edgelq-sdk/limits/resources/v1alpha2/plan" 30 meta_service "github.com/cloudwan/edgelq-sdk/meta/resources/v1alpha2/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 _ = &iam_organization.Organization{} 55 _ = &iam_project.Project{} 56 _ = &common.Allowance{} 57 _ = &plan.Plan{} 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 AcceptedPlan_FieldPath interface { 65 gotenobject.FieldPath 66 Selector() AcceptedPlan_FieldPathSelector 67 Get(source *AcceptedPlan) []interface{} 68 GetSingle(source *AcceptedPlan) (interface{}, bool) 69 ClearValue(item *AcceptedPlan) 70 71 // Those methods build corresponding AcceptedPlan_FieldPathValue 72 // (or array of values) and holds passed value. Panics if injected type is incorrect. 73 WithIValue(value interface{}) AcceptedPlan_FieldPathValue 74 WithIArrayOfValues(values interface{}) AcceptedPlan_FieldPathArrayOfValues 75 WithIArrayItemValue(value interface{}) AcceptedPlan_FieldPathArrayItemValue 76 } 77 78 type AcceptedPlan_FieldPathSelector int32 79 80 const ( 81 AcceptedPlan_FieldPathSelectorName AcceptedPlan_FieldPathSelector = 0 82 AcceptedPlan_FieldPathSelectorPlan AcceptedPlan_FieldPathSelector = 1 83 AcceptedPlan_FieldPathSelectorService AcceptedPlan_FieldPathSelector = 2 84 AcceptedPlan_FieldPathSelectorExtensions AcceptedPlan_FieldPathSelector = 3 85 AcceptedPlan_FieldPathSelectorRegionalDistributions AcceptedPlan_FieldPathSelector = 4 86 AcceptedPlan_FieldPathSelectorAssignee AcceptedPlan_FieldPathSelector = 5 87 AcceptedPlan_FieldPathSelectorMetadata AcceptedPlan_FieldPathSelector = 6 88 ) 89 90 func (s AcceptedPlan_FieldPathSelector) String() string { 91 switch s { 92 case AcceptedPlan_FieldPathSelectorName: 93 return "name" 94 case AcceptedPlan_FieldPathSelectorPlan: 95 return "plan" 96 case AcceptedPlan_FieldPathSelectorService: 97 return "service" 98 case AcceptedPlan_FieldPathSelectorExtensions: 99 return "extensions" 100 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 101 return "regional_distributions" 102 case AcceptedPlan_FieldPathSelectorAssignee: 103 return "assignee" 104 case AcceptedPlan_FieldPathSelectorMetadata: 105 return "metadata" 106 default: 107 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", s)) 108 } 109 } 110 111 func BuildAcceptedPlan_FieldPath(fp gotenobject.RawFieldPath) (AcceptedPlan_FieldPath, error) { 112 if len(fp) == 0 { 113 return nil, status.Error(codes.InvalidArgument, "empty field path for object AcceptedPlan") 114 } 115 if len(fp) == 1 { 116 switch fp[0] { 117 case "name": 118 return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorName}, nil 119 case "plan": 120 return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorPlan}, nil 121 case "service": 122 return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorService}, nil 123 case "extensions": 124 return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorExtensions}, nil 125 case "regional_distributions", "regionalDistributions", "regional-distributions": 126 return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorRegionalDistributions}, nil 127 case "assignee": 128 return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorAssignee}, nil 129 case "metadata": 130 return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorMetadata}, nil 131 } 132 } else { 133 switch fp[0] { 134 case "extensions": 135 if subpath, err := common.BuildAllowance_FieldPath(fp[1:]); err != nil { 136 return nil, err 137 } else { 138 return &AcceptedPlan_FieldSubPath{selector: AcceptedPlan_FieldPathSelectorExtensions, subPath: subpath}, nil 139 } 140 case "regional_distributions", "regionalDistributions", "regional-distributions": 141 if subpath, err := common.BuildRegionalDistribution_FieldPath(fp[1:]); err != nil { 142 return nil, err 143 } else { 144 return &AcceptedPlan_FieldSubPath{selector: AcceptedPlan_FieldPathSelectorRegionalDistributions, subPath: subpath}, nil 145 } 146 case "assignee": 147 if subpath, err := BuildAcceptedPlanAssignee_FieldPath(fp[1:]); err != nil { 148 return nil, err 149 } else { 150 return &AcceptedPlan_FieldSubPath{selector: AcceptedPlan_FieldPathSelectorAssignee, subPath: subpath}, nil 151 } 152 case "metadata": 153 if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil { 154 return nil, err 155 } else { 156 return &AcceptedPlan_FieldSubPath{selector: AcceptedPlan_FieldPathSelectorMetadata, subPath: subpath}, nil 157 } 158 } 159 } 160 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object AcceptedPlan", fp) 161 } 162 163 func ParseAcceptedPlan_FieldPath(rawField string) (AcceptedPlan_FieldPath, error) { 164 fp, err := gotenobject.ParseRawFieldPath(rawField) 165 if err != nil { 166 return nil, err 167 } 168 return BuildAcceptedPlan_FieldPath(fp) 169 } 170 171 func MustParseAcceptedPlan_FieldPath(rawField string) AcceptedPlan_FieldPath { 172 fp, err := ParseAcceptedPlan_FieldPath(rawField) 173 if err != nil { 174 panic(err) 175 } 176 return fp 177 } 178 179 type AcceptedPlan_FieldTerminalPath struct { 180 selector AcceptedPlan_FieldPathSelector 181 } 182 183 var _ AcceptedPlan_FieldPath = (*AcceptedPlan_FieldTerminalPath)(nil) 184 185 func (fp *AcceptedPlan_FieldTerminalPath) Selector() AcceptedPlan_FieldPathSelector { 186 return fp.selector 187 } 188 189 // String returns path representation in proto convention 190 func (fp *AcceptedPlan_FieldTerminalPath) String() string { 191 return fp.selector.String() 192 } 193 194 // JSONString returns path representation is JSON convention 195 func (fp *AcceptedPlan_FieldTerminalPath) JSONString() string { 196 return strcase.ToLowerCamel(fp.String()) 197 } 198 199 // Get returns all values pointed by specific field from source AcceptedPlan 200 func (fp *AcceptedPlan_FieldTerminalPath) Get(source *AcceptedPlan) (values []interface{}) { 201 if source != nil { 202 switch fp.selector { 203 case AcceptedPlan_FieldPathSelectorName: 204 if source.Name != nil { 205 values = append(values, source.Name) 206 } 207 case AcceptedPlan_FieldPathSelectorPlan: 208 if source.Plan != nil { 209 values = append(values, source.Plan) 210 } 211 case AcceptedPlan_FieldPathSelectorService: 212 if source.Service != nil { 213 values = append(values, source.Service) 214 } 215 case AcceptedPlan_FieldPathSelectorExtensions: 216 for _, value := range source.GetExtensions() { 217 values = append(values, value) 218 } 219 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 220 for _, value := range source.GetRegionalDistributions() { 221 values = append(values, value) 222 } 223 case AcceptedPlan_FieldPathSelectorAssignee: 224 if source.Assignee != nil { 225 values = append(values, source.Assignee) 226 } 227 case AcceptedPlan_FieldPathSelectorMetadata: 228 if source.Metadata != nil { 229 values = append(values, source.Metadata) 230 } 231 default: 232 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fp.selector)) 233 } 234 } 235 return 236 } 237 238 func (fp *AcceptedPlan_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 239 return fp.Get(source.(*AcceptedPlan)) 240 } 241 242 // GetSingle returns value pointed by specific field of from source AcceptedPlan 243 func (fp *AcceptedPlan_FieldTerminalPath) GetSingle(source *AcceptedPlan) (interface{}, bool) { 244 switch fp.selector { 245 case AcceptedPlan_FieldPathSelectorName: 246 res := source.GetName() 247 return res, res != nil 248 case AcceptedPlan_FieldPathSelectorPlan: 249 res := source.GetPlan() 250 return res, res != nil 251 case AcceptedPlan_FieldPathSelectorService: 252 res := source.GetService() 253 return res, res != nil 254 case AcceptedPlan_FieldPathSelectorExtensions: 255 res := source.GetExtensions() 256 return res, res != nil 257 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 258 res := source.GetRegionalDistributions() 259 return res, res != nil 260 case AcceptedPlan_FieldPathSelectorAssignee: 261 res := source.GetAssignee() 262 return res, res != nil 263 case AcceptedPlan_FieldPathSelectorMetadata: 264 res := source.GetMetadata() 265 return res, res != nil 266 default: 267 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fp.selector)) 268 } 269 } 270 271 func (fp *AcceptedPlan_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 272 return fp.GetSingle(source.(*AcceptedPlan)) 273 } 274 275 // GetDefault returns a default value of the field type 276 func (fp *AcceptedPlan_FieldTerminalPath) GetDefault() interface{} { 277 switch fp.selector { 278 case AcceptedPlan_FieldPathSelectorName: 279 return (*Name)(nil) 280 case AcceptedPlan_FieldPathSelectorPlan: 281 return (*plan.Reference)(nil) 282 case AcceptedPlan_FieldPathSelectorService: 283 return (*meta_service.Reference)(nil) 284 case AcceptedPlan_FieldPathSelectorExtensions: 285 return ([]*common.Allowance)(nil) 286 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 287 return ([]*common.RegionalDistribution)(nil) 288 case AcceptedPlan_FieldPathSelectorAssignee: 289 return (*AcceptedPlan_Assignee)(nil) 290 case AcceptedPlan_FieldPathSelectorMetadata: 291 return (*meta.Meta)(nil) 292 default: 293 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fp.selector)) 294 } 295 } 296 297 func (fp *AcceptedPlan_FieldTerminalPath) ClearValue(item *AcceptedPlan) { 298 if item != nil { 299 switch fp.selector { 300 case AcceptedPlan_FieldPathSelectorName: 301 item.Name = nil 302 case AcceptedPlan_FieldPathSelectorPlan: 303 item.Plan = nil 304 case AcceptedPlan_FieldPathSelectorService: 305 item.Service = nil 306 case AcceptedPlan_FieldPathSelectorExtensions: 307 item.Extensions = nil 308 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 309 item.RegionalDistributions = nil 310 case AcceptedPlan_FieldPathSelectorAssignee: 311 item.Assignee = nil 312 case AcceptedPlan_FieldPathSelectorMetadata: 313 item.Metadata = nil 314 default: 315 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fp.selector)) 316 } 317 } 318 } 319 320 func (fp *AcceptedPlan_FieldTerminalPath) ClearValueRaw(item proto.Message) { 321 fp.ClearValue(item.(*AcceptedPlan)) 322 } 323 324 // IsLeaf - whether field path is holds simple value 325 func (fp *AcceptedPlan_FieldTerminalPath) IsLeaf() bool { 326 return fp.selector == AcceptedPlan_FieldPathSelectorName || 327 fp.selector == AcceptedPlan_FieldPathSelectorPlan || 328 fp.selector == AcceptedPlan_FieldPathSelectorService 329 } 330 331 func (fp *AcceptedPlan_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 332 return []gotenobject.FieldPath{fp} 333 } 334 335 func (fp *AcceptedPlan_FieldTerminalPath) WithIValue(value interface{}) AcceptedPlan_FieldPathValue { 336 switch fp.selector { 337 case AcceptedPlan_FieldPathSelectorName: 338 return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*Name)} 339 case AcceptedPlan_FieldPathSelectorPlan: 340 return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*plan.Reference)} 341 case AcceptedPlan_FieldPathSelectorService: 342 return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*meta_service.Reference)} 343 case AcceptedPlan_FieldPathSelectorExtensions: 344 return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.([]*common.Allowance)} 345 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 346 return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.([]*common.RegionalDistribution)} 347 case AcceptedPlan_FieldPathSelectorAssignee: 348 return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*AcceptedPlan_Assignee)} 349 case AcceptedPlan_FieldPathSelectorMetadata: 350 return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*meta.Meta)} 351 default: 352 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fp.selector)) 353 } 354 } 355 356 func (fp *AcceptedPlan_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 357 return fp.WithIValue(value) 358 } 359 360 func (fp *AcceptedPlan_FieldTerminalPath) WithIArrayOfValues(values interface{}) AcceptedPlan_FieldPathArrayOfValues { 361 fpaov := &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp} 362 switch fp.selector { 363 case AcceptedPlan_FieldPathSelectorName: 364 return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([]*Name)} 365 case AcceptedPlan_FieldPathSelectorPlan: 366 return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([]*plan.Reference)} 367 case AcceptedPlan_FieldPathSelectorService: 368 return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([]*meta_service.Reference)} 369 case AcceptedPlan_FieldPathSelectorExtensions: 370 return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([][]*common.Allowance)} 371 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 372 return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([][]*common.RegionalDistribution)} 373 case AcceptedPlan_FieldPathSelectorAssignee: 374 return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([]*AcceptedPlan_Assignee)} 375 case AcceptedPlan_FieldPathSelectorMetadata: 376 return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([]*meta.Meta)} 377 default: 378 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fp.selector)) 379 } 380 return fpaov 381 } 382 383 func (fp *AcceptedPlan_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 384 return fp.WithIArrayOfValues(values) 385 } 386 387 func (fp *AcceptedPlan_FieldTerminalPath) WithIArrayItemValue(value interface{}) AcceptedPlan_FieldPathArrayItemValue { 388 switch fp.selector { 389 case AcceptedPlan_FieldPathSelectorExtensions: 390 return &AcceptedPlan_FieldTerminalPathArrayItemValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*common.Allowance)} 391 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 392 return &AcceptedPlan_FieldTerminalPathArrayItemValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*common.RegionalDistribution)} 393 default: 394 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fp.selector)) 395 } 396 } 397 398 func (fp *AcceptedPlan_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 399 return fp.WithIArrayItemValue(value) 400 } 401 402 type AcceptedPlan_FieldSubPath struct { 403 selector AcceptedPlan_FieldPathSelector 404 subPath gotenobject.FieldPath 405 } 406 407 var _ AcceptedPlan_FieldPath = (*AcceptedPlan_FieldSubPath)(nil) 408 409 func (fps *AcceptedPlan_FieldSubPath) Selector() AcceptedPlan_FieldPathSelector { 410 return fps.selector 411 } 412 func (fps *AcceptedPlan_FieldSubPath) AsExtensionsSubPath() (common.Allowance_FieldPath, bool) { 413 res, ok := fps.subPath.(common.Allowance_FieldPath) 414 return res, ok 415 } 416 func (fps *AcceptedPlan_FieldSubPath) AsRegionalDistributionsSubPath() (common.RegionalDistribution_FieldPath, bool) { 417 res, ok := fps.subPath.(common.RegionalDistribution_FieldPath) 418 return res, ok 419 } 420 func (fps *AcceptedPlan_FieldSubPath) AsAssigneeSubPath() (AcceptedPlanAssignee_FieldPath, bool) { 421 res, ok := fps.subPath.(AcceptedPlanAssignee_FieldPath) 422 return res, ok 423 } 424 func (fps *AcceptedPlan_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) { 425 res, ok := fps.subPath.(meta.Meta_FieldPath) 426 return res, ok 427 } 428 429 // String returns path representation in proto convention 430 func (fps *AcceptedPlan_FieldSubPath) String() string { 431 return fps.selector.String() + "." + fps.subPath.String() 432 } 433 434 // JSONString returns path representation is JSON convention 435 func (fps *AcceptedPlan_FieldSubPath) JSONString() string { 436 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 437 } 438 439 // Get returns all values pointed by selected field from source AcceptedPlan 440 func (fps *AcceptedPlan_FieldSubPath) Get(source *AcceptedPlan) (values []interface{}) { 441 switch fps.selector { 442 case AcceptedPlan_FieldPathSelectorExtensions: 443 for _, item := range source.GetExtensions() { 444 values = append(values, fps.subPath.GetRaw(item)...) 445 } 446 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 447 for _, item := range source.GetRegionalDistributions() { 448 values = append(values, fps.subPath.GetRaw(item)...) 449 } 450 case AcceptedPlan_FieldPathSelectorAssignee: 451 values = append(values, fps.subPath.GetRaw(source.GetAssignee())...) 452 case AcceptedPlan_FieldPathSelectorMetadata: 453 values = append(values, fps.subPath.GetRaw(source.GetMetadata())...) 454 default: 455 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fps.selector)) 456 } 457 return 458 } 459 460 func (fps *AcceptedPlan_FieldSubPath) GetRaw(source proto.Message) []interface{} { 461 return fps.Get(source.(*AcceptedPlan)) 462 } 463 464 // GetSingle returns value of selected field from source AcceptedPlan 465 func (fps *AcceptedPlan_FieldSubPath) GetSingle(source *AcceptedPlan) (interface{}, bool) { 466 switch fps.selector { 467 case AcceptedPlan_FieldPathSelectorExtensions: 468 if len(source.GetExtensions()) == 0 { 469 return nil, false 470 } 471 return fps.subPath.GetSingleRaw(source.GetExtensions()[0]) 472 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 473 if len(source.GetRegionalDistributions()) == 0 { 474 return nil, false 475 } 476 return fps.subPath.GetSingleRaw(source.GetRegionalDistributions()[0]) 477 case AcceptedPlan_FieldPathSelectorAssignee: 478 if source.GetAssignee() == nil { 479 return nil, false 480 } 481 return fps.subPath.GetSingleRaw(source.GetAssignee()) 482 case AcceptedPlan_FieldPathSelectorMetadata: 483 if source.GetMetadata() == nil { 484 return nil, false 485 } 486 return fps.subPath.GetSingleRaw(source.GetMetadata()) 487 default: 488 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fps.selector)) 489 } 490 } 491 492 func (fps *AcceptedPlan_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 493 return fps.GetSingle(source.(*AcceptedPlan)) 494 } 495 496 // GetDefault returns a default value of the field type 497 func (fps *AcceptedPlan_FieldSubPath) GetDefault() interface{} { 498 return fps.subPath.GetDefault() 499 } 500 501 func (fps *AcceptedPlan_FieldSubPath) ClearValue(item *AcceptedPlan) { 502 if item != nil { 503 switch fps.selector { 504 case AcceptedPlan_FieldPathSelectorExtensions: 505 for _, subItem := range item.Extensions { 506 fps.subPath.ClearValueRaw(subItem) 507 } 508 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 509 for _, subItem := range item.RegionalDistributions { 510 fps.subPath.ClearValueRaw(subItem) 511 } 512 case AcceptedPlan_FieldPathSelectorAssignee: 513 fps.subPath.ClearValueRaw(item.Assignee) 514 case AcceptedPlan_FieldPathSelectorMetadata: 515 fps.subPath.ClearValueRaw(item.Metadata) 516 default: 517 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fps.selector)) 518 } 519 } 520 } 521 522 func (fps *AcceptedPlan_FieldSubPath) ClearValueRaw(item proto.Message) { 523 fps.ClearValue(item.(*AcceptedPlan)) 524 } 525 526 // IsLeaf - whether field path is holds simple value 527 func (fps *AcceptedPlan_FieldSubPath) IsLeaf() bool { 528 return fps.subPath.IsLeaf() 529 } 530 531 func (fps *AcceptedPlan_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 532 iPaths := []gotenobject.FieldPath{&AcceptedPlan_FieldTerminalPath{selector: fps.selector}} 533 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 534 return iPaths 535 } 536 537 func (fps *AcceptedPlan_FieldSubPath) WithIValue(value interface{}) AcceptedPlan_FieldPathValue { 538 return &AcceptedPlan_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 539 } 540 541 func (fps *AcceptedPlan_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 542 return fps.WithIValue(value) 543 } 544 545 func (fps *AcceptedPlan_FieldSubPath) WithIArrayOfValues(values interface{}) AcceptedPlan_FieldPathArrayOfValues { 546 return &AcceptedPlan_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 547 } 548 549 func (fps *AcceptedPlan_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 550 return fps.WithIArrayOfValues(values) 551 } 552 553 func (fps *AcceptedPlan_FieldSubPath) WithIArrayItemValue(value interface{}) AcceptedPlan_FieldPathArrayItemValue { 554 return &AcceptedPlan_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 555 } 556 557 func (fps *AcceptedPlan_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 558 return fps.WithIArrayItemValue(value) 559 } 560 561 // AcceptedPlan_FieldPathValue allows storing values for AcceptedPlan fields according to their type 562 type AcceptedPlan_FieldPathValue interface { 563 AcceptedPlan_FieldPath 564 gotenobject.FieldPathValue 565 SetTo(target **AcceptedPlan) 566 CompareWith(*AcceptedPlan) (cmp int, comparable bool) 567 } 568 569 func ParseAcceptedPlan_FieldPathValue(pathStr, valueStr string) (AcceptedPlan_FieldPathValue, error) { 570 fp, err := ParseAcceptedPlan_FieldPath(pathStr) 571 if err != nil { 572 return nil, err 573 } 574 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 575 if err != nil { 576 return nil, status.Errorf(codes.InvalidArgument, "error parsing AcceptedPlan field path value from %s: %v", valueStr, err) 577 } 578 return fpv.(AcceptedPlan_FieldPathValue), nil 579 } 580 581 func MustParseAcceptedPlan_FieldPathValue(pathStr, valueStr string) AcceptedPlan_FieldPathValue { 582 fpv, err := ParseAcceptedPlan_FieldPathValue(pathStr, valueStr) 583 if err != nil { 584 panic(err) 585 } 586 return fpv 587 } 588 589 type AcceptedPlan_FieldTerminalPathValue struct { 590 AcceptedPlan_FieldTerminalPath 591 value interface{} 592 } 593 594 var _ AcceptedPlan_FieldPathValue = (*AcceptedPlan_FieldTerminalPathValue)(nil) 595 596 // GetRawValue returns raw value stored under selected path for 'AcceptedPlan' as interface{} 597 func (fpv *AcceptedPlan_FieldTerminalPathValue) GetRawValue() interface{} { 598 return fpv.value 599 } 600 func (fpv *AcceptedPlan_FieldTerminalPathValue) AsNameValue() (*Name, bool) { 601 res, ok := fpv.value.(*Name) 602 return res, ok 603 } 604 func (fpv *AcceptedPlan_FieldTerminalPathValue) AsPlanValue() (*plan.Reference, bool) { 605 res, ok := fpv.value.(*plan.Reference) 606 return res, ok 607 } 608 func (fpv *AcceptedPlan_FieldTerminalPathValue) AsServiceValue() (*meta_service.Reference, bool) { 609 res, ok := fpv.value.(*meta_service.Reference) 610 return res, ok 611 } 612 func (fpv *AcceptedPlan_FieldTerminalPathValue) AsExtensionsValue() ([]*common.Allowance, bool) { 613 res, ok := fpv.value.([]*common.Allowance) 614 return res, ok 615 } 616 func (fpv *AcceptedPlan_FieldTerminalPathValue) AsRegionalDistributionsValue() ([]*common.RegionalDistribution, bool) { 617 res, ok := fpv.value.([]*common.RegionalDistribution) 618 return res, ok 619 } 620 func (fpv *AcceptedPlan_FieldTerminalPathValue) AsAssigneeValue() (*AcceptedPlan_Assignee, bool) { 621 res, ok := fpv.value.(*AcceptedPlan_Assignee) 622 return res, ok 623 } 624 func (fpv *AcceptedPlan_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) { 625 res, ok := fpv.value.(*meta.Meta) 626 return res, ok 627 } 628 629 // SetTo stores value for selected field for object AcceptedPlan 630 func (fpv *AcceptedPlan_FieldTerminalPathValue) SetTo(target **AcceptedPlan) { 631 if *target == nil { 632 *target = new(AcceptedPlan) 633 } 634 switch fpv.selector { 635 case AcceptedPlan_FieldPathSelectorName: 636 (*target).Name = fpv.value.(*Name) 637 case AcceptedPlan_FieldPathSelectorPlan: 638 (*target).Plan = fpv.value.(*plan.Reference) 639 case AcceptedPlan_FieldPathSelectorService: 640 (*target).Service = fpv.value.(*meta_service.Reference) 641 case AcceptedPlan_FieldPathSelectorExtensions: 642 (*target).Extensions = fpv.value.([]*common.Allowance) 643 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 644 (*target).RegionalDistributions = fpv.value.([]*common.RegionalDistribution) 645 case AcceptedPlan_FieldPathSelectorAssignee: 646 (*target).Assignee = fpv.value.(*AcceptedPlan_Assignee) 647 case AcceptedPlan_FieldPathSelectorMetadata: 648 (*target).Metadata = fpv.value.(*meta.Meta) 649 default: 650 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fpv.selector)) 651 } 652 } 653 654 func (fpv *AcceptedPlan_FieldTerminalPathValue) SetToRaw(target proto.Message) { 655 typedObject := target.(*AcceptedPlan) 656 fpv.SetTo(&typedObject) 657 } 658 659 // CompareWith compares value in the 'AcceptedPlan_FieldTerminalPathValue' with the value under path in 'AcceptedPlan'. 660 func (fpv *AcceptedPlan_FieldTerminalPathValue) CompareWith(source *AcceptedPlan) (int, bool) { 661 switch fpv.selector { 662 case AcceptedPlan_FieldPathSelectorName: 663 leftValue := fpv.value.(*Name) 664 rightValue := source.GetName() 665 if leftValue == nil { 666 if rightValue != nil { 667 return -1, true 668 } 669 return 0, true 670 } 671 if rightValue == nil { 672 return 1, true 673 } 674 if leftValue.String() == rightValue.String() { 675 return 0, true 676 } else if leftValue.String() < rightValue.String() { 677 return -1, true 678 } else { 679 return 1, true 680 } 681 case AcceptedPlan_FieldPathSelectorPlan: 682 leftValue := fpv.value.(*plan.Reference) 683 rightValue := source.GetPlan() 684 if leftValue == nil { 685 if rightValue != nil { 686 return -1, true 687 } 688 return 0, true 689 } 690 if rightValue == nil { 691 return 1, true 692 } 693 if leftValue.String() == rightValue.String() { 694 return 0, true 695 } else if leftValue.String() < rightValue.String() { 696 return -1, true 697 } else { 698 return 1, true 699 } 700 case AcceptedPlan_FieldPathSelectorService: 701 leftValue := fpv.value.(*meta_service.Reference) 702 rightValue := source.GetService() 703 if leftValue == nil { 704 if rightValue != nil { 705 return -1, true 706 } 707 return 0, true 708 } 709 if rightValue == nil { 710 return 1, true 711 } 712 if leftValue.String() == rightValue.String() { 713 return 0, true 714 } else if leftValue.String() < rightValue.String() { 715 return -1, true 716 } else { 717 return 1, true 718 } 719 case AcceptedPlan_FieldPathSelectorExtensions: 720 return 0, false 721 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 722 return 0, false 723 case AcceptedPlan_FieldPathSelectorAssignee: 724 return 0, false 725 case AcceptedPlan_FieldPathSelectorMetadata: 726 return 0, false 727 default: 728 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fpv.selector)) 729 } 730 } 731 732 func (fpv *AcceptedPlan_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 733 return fpv.CompareWith(source.(*AcceptedPlan)) 734 } 735 736 type AcceptedPlan_FieldSubPathValue struct { 737 AcceptedPlan_FieldPath 738 subPathValue gotenobject.FieldPathValue 739 } 740 741 var _ AcceptedPlan_FieldPathValue = (*AcceptedPlan_FieldSubPathValue)(nil) 742 743 func (fpvs *AcceptedPlan_FieldSubPathValue) AsExtensionsPathValue() (common.Allowance_FieldPathValue, bool) { 744 res, ok := fpvs.subPathValue.(common.Allowance_FieldPathValue) 745 return res, ok 746 } 747 func (fpvs *AcceptedPlan_FieldSubPathValue) AsRegionalDistributionsPathValue() (common.RegionalDistribution_FieldPathValue, bool) { 748 res, ok := fpvs.subPathValue.(common.RegionalDistribution_FieldPathValue) 749 return res, ok 750 } 751 func (fpvs *AcceptedPlan_FieldSubPathValue) AsAssigneePathValue() (AcceptedPlanAssignee_FieldPathValue, bool) { 752 res, ok := fpvs.subPathValue.(AcceptedPlanAssignee_FieldPathValue) 753 return res, ok 754 } 755 func (fpvs *AcceptedPlan_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) { 756 res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue) 757 return res, ok 758 } 759 760 func (fpvs *AcceptedPlan_FieldSubPathValue) SetTo(target **AcceptedPlan) { 761 if *target == nil { 762 *target = new(AcceptedPlan) 763 } 764 switch fpvs.Selector() { 765 case AcceptedPlan_FieldPathSelectorExtensions: 766 panic("FieldPath setter is unsupported for array subpaths") 767 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 768 panic("FieldPath setter is unsupported for array subpaths") 769 case AcceptedPlan_FieldPathSelectorAssignee: 770 fpvs.subPathValue.(AcceptedPlanAssignee_FieldPathValue).SetTo(&(*target).Assignee) 771 case AcceptedPlan_FieldPathSelectorMetadata: 772 fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata) 773 default: 774 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fpvs.Selector())) 775 } 776 } 777 778 func (fpvs *AcceptedPlan_FieldSubPathValue) SetToRaw(target proto.Message) { 779 typedObject := target.(*AcceptedPlan) 780 fpvs.SetTo(&typedObject) 781 } 782 783 func (fpvs *AcceptedPlan_FieldSubPathValue) GetRawValue() interface{} { 784 return fpvs.subPathValue.GetRawValue() 785 } 786 787 func (fpvs *AcceptedPlan_FieldSubPathValue) CompareWith(source *AcceptedPlan) (int, bool) { 788 switch fpvs.Selector() { 789 case AcceptedPlan_FieldPathSelectorExtensions: 790 return 0, false // repeated field 791 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 792 return 0, false // repeated field 793 case AcceptedPlan_FieldPathSelectorAssignee: 794 return fpvs.subPathValue.(AcceptedPlanAssignee_FieldPathValue).CompareWith(source.GetAssignee()) 795 case AcceptedPlan_FieldPathSelectorMetadata: 796 return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata()) 797 default: 798 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fpvs.Selector())) 799 } 800 } 801 802 func (fpvs *AcceptedPlan_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 803 return fpvs.CompareWith(source.(*AcceptedPlan)) 804 } 805 806 // AcceptedPlan_FieldPathArrayItemValue allows storing single item in Path-specific values for AcceptedPlan according to their type 807 // Present only for array (repeated) types. 808 type AcceptedPlan_FieldPathArrayItemValue interface { 809 gotenobject.FieldPathArrayItemValue 810 AcceptedPlan_FieldPath 811 ContainsValue(*AcceptedPlan) bool 812 } 813 814 // ParseAcceptedPlan_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 815 func ParseAcceptedPlan_FieldPathArrayItemValue(pathStr, valueStr string) (AcceptedPlan_FieldPathArrayItemValue, error) { 816 fp, err := ParseAcceptedPlan_FieldPath(pathStr) 817 if err != nil { 818 return nil, err 819 } 820 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 821 if err != nil { 822 return nil, status.Errorf(codes.InvalidArgument, "error parsing AcceptedPlan field path array item value from %s: %v", valueStr, err) 823 } 824 return fpaiv.(AcceptedPlan_FieldPathArrayItemValue), nil 825 } 826 827 func MustParseAcceptedPlan_FieldPathArrayItemValue(pathStr, valueStr string) AcceptedPlan_FieldPathArrayItemValue { 828 fpaiv, err := ParseAcceptedPlan_FieldPathArrayItemValue(pathStr, valueStr) 829 if err != nil { 830 panic(err) 831 } 832 return fpaiv 833 } 834 835 type AcceptedPlan_FieldTerminalPathArrayItemValue struct { 836 AcceptedPlan_FieldTerminalPath 837 value interface{} 838 } 839 840 var _ AcceptedPlan_FieldPathArrayItemValue = (*AcceptedPlan_FieldTerminalPathArrayItemValue)(nil) 841 842 // GetRawValue returns stored element value for array in object AcceptedPlan as interface{} 843 func (fpaiv *AcceptedPlan_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 844 return fpaiv.value 845 } 846 func (fpaiv *AcceptedPlan_FieldTerminalPathArrayItemValue) AsExtensionsItemValue() (*common.Allowance, bool) { 847 res, ok := fpaiv.value.(*common.Allowance) 848 return res, ok 849 } 850 func (fpaiv *AcceptedPlan_FieldTerminalPathArrayItemValue) AsRegionalDistributionsItemValue() (*common.RegionalDistribution, bool) { 851 res, ok := fpaiv.value.(*common.RegionalDistribution) 852 return res, ok 853 } 854 855 func (fpaiv *AcceptedPlan_FieldTerminalPathArrayItemValue) GetSingle(source *AcceptedPlan) (interface{}, bool) { 856 return nil, false 857 } 858 859 func (fpaiv *AcceptedPlan_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 860 return fpaiv.GetSingle(source.(*AcceptedPlan)) 861 } 862 863 // Contains returns a boolean indicating if value that is being held is present in given 'AcceptedPlan' 864 func (fpaiv *AcceptedPlan_FieldTerminalPathArrayItemValue) ContainsValue(source *AcceptedPlan) bool { 865 slice := fpaiv.AcceptedPlan_FieldTerminalPath.Get(source) 866 for _, v := range slice { 867 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 868 if proto.Equal(asProtoMsg, v.(proto.Message)) { 869 return true 870 } 871 } else if reflect.DeepEqual(v, fpaiv.value) { 872 return true 873 } 874 } 875 return false 876 } 877 878 type AcceptedPlan_FieldSubPathArrayItemValue struct { 879 AcceptedPlan_FieldPath 880 subPathItemValue gotenobject.FieldPathArrayItemValue 881 } 882 883 // GetRawValue returns stored array item value 884 func (fpaivs *AcceptedPlan_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 885 return fpaivs.subPathItemValue.GetRawItemValue() 886 } 887 func (fpaivs *AcceptedPlan_FieldSubPathArrayItemValue) AsExtensionsPathItemValue() (common.Allowance_FieldPathArrayItemValue, bool) { 888 res, ok := fpaivs.subPathItemValue.(common.Allowance_FieldPathArrayItemValue) 889 return res, ok 890 } 891 func (fpaivs *AcceptedPlan_FieldSubPathArrayItemValue) AsRegionalDistributionsPathItemValue() (common.RegionalDistribution_FieldPathArrayItemValue, bool) { 892 res, ok := fpaivs.subPathItemValue.(common.RegionalDistribution_FieldPathArrayItemValue) 893 return res, ok 894 } 895 func (fpaivs *AcceptedPlan_FieldSubPathArrayItemValue) AsAssigneePathItemValue() (AcceptedPlanAssignee_FieldPathArrayItemValue, bool) { 896 res, ok := fpaivs.subPathItemValue.(AcceptedPlanAssignee_FieldPathArrayItemValue) 897 return res, ok 898 } 899 func (fpaivs *AcceptedPlan_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) { 900 res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue) 901 return res, ok 902 } 903 904 // Contains returns a boolean indicating if value that is being held is present in given 'AcceptedPlan' 905 func (fpaivs *AcceptedPlan_FieldSubPathArrayItemValue) ContainsValue(source *AcceptedPlan) bool { 906 switch fpaivs.Selector() { 907 case AcceptedPlan_FieldPathSelectorExtensions: 908 return false // repeated/map field 909 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 910 return false // repeated/map field 911 case AcceptedPlan_FieldPathSelectorAssignee: 912 return fpaivs.subPathItemValue.(AcceptedPlanAssignee_FieldPathArrayItemValue).ContainsValue(source.GetAssignee()) 913 case AcceptedPlan_FieldPathSelectorMetadata: 914 return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata()) 915 default: 916 panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fpaivs.Selector())) 917 } 918 } 919 920 // AcceptedPlan_FieldPathArrayOfValues allows storing slice of values for AcceptedPlan fields according to their type 921 type AcceptedPlan_FieldPathArrayOfValues interface { 922 gotenobject.FieldPathArrayOfValues 923 AcceptedPlan_FieldPath 924 } 925 926 func ParseAcceptedPlan_FieldPathArrayOfValues(pathStr, valuesStr string) (AcceptedPlan_FieldPathArrayOfValues, error) { 927 fp, err := ParseAcceptedPlan_FieldPath(pathStr) 928 if err != nil { 929 return nil, err 930 } 931 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 932 if err != nil { 933 return nil, status.Errorf(codes.InvalidArgument, "error parsing AcceptedPlan field path array of values from %s: %v", valuesStr, err) 934 } 935 return fpaov.(AcceptedPlan_FieldPathArrayOfValues), nil 936 } 937 938 func MustParseAcceptedPlan_FieldPathArrayOfValues(pathStr, valuesStr string) AcceptedPlan_FieldPathArrayOfValues { 939 fpaov, err := ParseAcceptedPlan_FieldPathArrayOfValues(pathStr, valuesStr) 940 if err != nil { 941 panic(err) 942 } 943 return fpaov 944 } 945 946 type AcceptedPlan_FieldTerminalPathArrayOfValues struct { 947 AcceptedPlan_FieldTerminalPath 948 values interface{} 949 } 950 951 var _ AcceptedPlan_FieldPathArrayOfValues = (*AcceptedPlan_FieldTerminalPathArrayOfValues)(nil) 952 953 func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 954 switch fpaov.selector { 955 case AcceptedPlan_FieldPathSelectorName: 956 for _, v := range fpaov.values.([]*Name) { 957 values = append(values, v) 958 } 959 case AcceptedPlan_FieldPathSelectorPlan: 960 for _, v := range fpaov.values.([]*plan.Reference) { 961 values = append(values, v) 962 } 963 case AcceptedPlan_FieldPathSelectorService: 964 for _, v := range fpaov.values.([]*meta_service.Reference) { 965 values = append(values, v) 966 } 967 case AcceptedPlan_FieldPathSelectorExtensions: 968 for _, v := range fpaov.values.([][]*common.Allowance) { 969 values = append(values, v) 970 } 971 case AcceptedPlan_FieldPathSelectorRegionalDistributions: 972 for _, v := range fpaov.values.([][]*common.RegionalDistribution) { 973 values = append(values, v) 974 } 975 case AcceptedPlan_FieldPathSelectorAssignee: 976 for _, v := range fpaov.values.([]*AcceptedPlan_Assignee) { 977 values = append(values, v) 978 } 979 case AcceptedPlan_FieldPathSelectorMetadata: 980 for _, v := range fpaov.values.([]*meta.Meta) { 981 values = append(values, v) 982 } 983 } 984 return 985 } 986 func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) { 987 res, ok := fpaov.values.([]*Name) 988 return res, ok 989 } 990 func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsPlanArrayOfValues() ([]*plan.Reference, bool) { 991 res, ok := fpaov.values.([]*plan.Reference) 992 return res, ok 993 } 994 func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsServiceArrayOfValues() ([]*meta_service.Reference, bool) { 995 res, ok := fpaov.values.([]*meta_service.Reference) 996 return res, ok 997 } 998 func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsExtensionsArrayOfValues() ([][]*common.Allowance, bool) { 999 res, ok := fpaov.values.([][]*common.Allowance) 1000 return res, ok 1001 } 1002 func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsRegionalDistributionsArrayOfValues() ([][]*common.RegionalDistribution, bool) { 1003 res, ok := fpaov.values.([][]*common.RegionalDistribution) 1004 return res, ok 1005 } 1006 func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsAssigneeArrayOfValues() ([]*AcceptedPlan_Assignee, bool) { 1007 res, ok := fpaov.values.([]*AcceptedPlan_Assignee) 1008 return res, ok 1009 } 1010 func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) { 1011 res, ok := fpaov.values.([]*meta.Meta) 1012 return res, ok 1013 } 1014 1015 type AcceptedPlan_FieldSubPathArrayOfValues struct { 1016 AcceptedPlan_FieldPath 1017 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 1018 } 1019 1020 var _ AcceptedPlan_FieldPathArrayOfValues = (*AcceptedPlan_FieldSubPathArrayOfValues)(nil) 1021 1022 func (fpsaov *AcceptedPlan_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 1023 return fpsaov.subPathArrayOfValues.GetRawValues() 1024 } 1025 func (fpsaov *AcceptedPlan_FieldSubPathArrayOfValues) AsExtensionsPathArrayOfValues() (common.Allowance_FieldPathArrayOfValues, bool) { 1026 res, ok := fpsaov.subPathArrayOfValues.(common.Allowance_FieldPathArrayOfValues) 1027 return res, ok 1028 } 1029 func (fpsaov *AcceptedPlan_FieldSubPathArrayOfValues) AsRegionalDistributionsPathArrayOfValues() (common.RegionalDistribution_FieldPathArrayOfValues, bool) { 1030 res, ok := fpsaov.subPathArrayOfValues.(common.RegionalDistribution_FieldPathArrayOfValues) 1031 return res, ok 1032 } 1033 func (fpsaov *AcceptedPlan_FieldSubPathArrayOfValues) AsAssigneePathArrayOfValues() (AcceptedPlanAssignee_FieldPathArrayOfValues, bool) { 1034 res, ok := fpsaov.subPathArrayOfValues.(AcceptedPlanAssignee_FieldPathArrayOfValues) 1035 return res, ok 1036 } 1037 func (fpsaov *AcceptedPlan_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) { 1038 res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues) 1039 return res, ok 1040 } 1041 1042 // FieldPath provides implementation to handle 1043 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 1044 type AcceptedPlanAssignee_FieldPath interface { 1045 gotenobject.FieldPath 1046 Selector() AcceptedPlanAssignee_FieldPathSelector 1047 Get(source *AcceptedPlan_Assignee) []interface{} 1048 GetSingle(source *AcceptedPlan_Assignee) (interface{}, bool) 1049 ClearValue(item *AcceptedPlan_Assignee) 1050 1051 // Those methods build corresponding AcceptedPlanAssignee_FieldPathValue 1052 // (or array of values) and holds passed value. Panics if injected type is incorrect. 1053 WithIValue(value interface{}) AcceptedPlanAssignee_FieldPathValue 1054 WithIArrayOfValues(values interface{}) AcceptedPlanAssignee_FieldPathArrayOfValues 1055 WithIArrayItemValue(value interface{}) AcceptedPlanAssignee_FieldPathArrayItemValue 1056 } 1057 1058 type AcceptedPlanAssignee_FieldPathSelector int32 1059 1060 const ( 1061 AcceptedPlanAssignee_FieldPathSelectorProjectAssignee AcceptedPlanAssignee_FieldPathSelector = 0 1062 AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee AcceptedPlanAssignee_FieldPathSelector = 1 1063 AcceptedPlanAssignee_FieldPathSelectorSystemAssignee AcceptedPlanAssignee_FieldPathSelector = 2 1064 ) 1065 1066 func (s AcceptedPlanAssignee_FieldPathSelector) String() string { 1067 switch s { 1068 case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee: 1069 return "project_assignee" 1070 case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee: 1071 return "organization_assignee" 1072 case AcceptedPlanAssignee_FieldPathSelectorSystemAssignee: 1073 return "system_assignee" 1074 default: 1075 panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", s)) 1076 } 1077 } 1078 1079 func BuildAcceptedPlanAssignee_FieldPath(fp gotenobject.RawFieldPath) (AcceptedPlanAssignee_FieldPath, error) { 1080 if len(fp) == 0 { 1081 return nil, status.Error(codes.InvalidArgument, "empty field path for object AcceptedPlan_Assignee") 1082 } 1083 if len(fp) == 1 { 1084 switch fp[0] { 1085 case "project_assignee", "projectAssignee", "project-assignee": 1086 return &AcceptedPlanAssignee_FieldTerminalPath{selector: AcceptedPlanAssignee_FieldPathSelectorProjectAssignee}, nil 1087 case "organization_assignee", "organizationAssignee", "organization-assignee": 1088 return &AcceptedPlanAssignee_FieldTerminalPath{selector: AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee}, nil 1089 case "system_assignee", "systemAssignee", "system-assignee": 1090 return &AcceptedPlanAssignee_FieldTerminalPath{selector: AcceptedPlanAssignee_FieldPathSelectorSystemAssignee}, nil 1091 } 1092 } 1093 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object AcceptedPlan_Assignee", fp) 1094 } 1095 1096 func ParseAcceptedPlanAssignee_FieldPath(rawField string) (AcceptedPlanAssignee_FieldPath, error) { 1097 fp, err := gotenobject.ParseRawFieldPath(rawField) 1098 if err != nil { 1099 return nil, err 1100 } 1101 return BuildAcceptedPlanAssignee_FieldPath(fp) 1102 } 1103 1104 func MustParseAcceptedPlanAssignee_FieldPath(rawField string) AcceptedPlanAssignee_FieldPath { 1105 fp, err := ParseAcceptedPlanAssignee_FieldPath(rawField) 1106 if err != nil { 1107 panic(err) 1108 } 1109 return fp 1110 } 1111 1112 type AcceptedPlanAssignee_FieldTerminalPath struct { 1113 selector AcceptedPlanAssignee_FieldPathSelector 1114 } 1115 1116 var _ AcceptedPlanAssignee_FieldPath = (*AcceptedPlanAssignee_FieldTerminalPath)(nil) 1117 1118 func (fp *AcceptedPlanAssignee_FieldTerminalPath) Selector() AcceptedPlanAssignee_FieldPathSelector { 1119 return fp.selector 1120 } 1121 1122 // String returns path representation in proto convention 1123 func (fp *AcceptedPlanAssignee_FieldTerminalPath) String() string { 1124 return fp.selector.String() 1125 } 1126 1127 // JSONString returns path representation is JSON convention 1128 func (fp *AcceptedPlanAssignee_FieldTerminalPath) JSONString() string { 1129 return strcase.ToLowerCamel(fp.String()) 1130 } 1131 1132 // Get returns all values pointed by specific field from source AcceptedPlan_Assignee 1133 func (fp *AcceptedPlanAssignee_FieldTerminalPath) Get(source *AcceptedPlan_Assignee) (values []interface{}) { 1134 if source != nil { 1135 switch fp.selector { 1136 case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee: 1137 if source, ok := source.Assignee.(*AcceptedPlan_Assignee_ProjectAssignee); ok && source != nil { 1138 if source.ProjectAssignee != nil { 1139 values = append(values, source.ProjectAssignee) 1140 } 1141 } 1142 case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee: 1143 if source, ok := source.Assignee.(*AcceptedPlan_Assignee_OrganizationAssignee); ok && source != nil { 1144 if source.OrganizationAssignee != nil { 1145 values = append(values, source.OrganizationAssignee) 1146 } 1147 } 1148 case AcceptedPlanAssignee_FieldPathSelectorSystemAssignee: 1149 if source, ok := source.Assignee.(*AcceptedPlan_Assignee_SystemAssignee); ok && source != nil { 1150 values = append(values, source.SystemAssignee) 1151 } 1152 default: 1153 panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fp.selector)) 1154 } 1155 } 1156 return 1157 } 1158 1159 func (fp *AcceptedPlanAssignee_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 1160 return fp.Get(source.(*AcceptedPlan_Assignee)) 1161 } 1162 1163 // GetSingle returns value pointed by specific field of from source AcceptedPlan_Assignee 1164 func (fp *AcceptedPlanAssignee_FieldTerminalPath) GetSingle(source *AcceptedPlan_Assignee) (interface{}, bool) { 1165 switch fp.selector { 1166 case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee: 1167 // if object nil or oneof not active, return "default" type with false flag. 1168 if source == nil { 1169 return source.GetProjectAssignee(), false 1170 } 1171 _, oneOfSelected := source.Assignee.(*AcceptedPlan_Assignee_ProjectAssignee) 1172 if !oneOfSelected { 1173 return source.GetProjectAssignee(), false // to return "type" information 1174 } 1175 res := source.GetProjectAssignee() 1176 return res, res != nil 1177 case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee: 1178 // if object nil or oneof not active, return "default" type with false flag. 1179 if source == nil { 1180 return source.GetOrganizationAssignee(), false 1181 } 1182 _, oneOfSelected := source.Assignee.(*AcceptedPlan_Assignee_OrganizationAssignee) 1183 if !oneOfSelected { 1184 return source.GetOrganizationAssignee(), false // to return "type" information 1185 } 1186 res := source.GetOrganizationAssignee() 1187 return res, res != nil 1188 case AcceptedPlanAssignee_FieldPathSelectorSystemAssignee: 1189 // if object nil or oneof not active, return "default" type with false flag. 1190 if source == nil { 1191 return source.GetSystemAssignee(), false 1192 } 1193 _, oneOfSelected := source.Assignee.(*AcceptedPlan_Assignee_SystemAssignee) 1194 if !oneOfSelected { 1195 return source.GetSystemAssignee(), false // to return "type" information 1196 } 1197 return source.GetSystemAssignee(), source != nil 1198 default: 1199 panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fp.selector)) 1200 } 1201 } 1202 1203 func (fp *AcceptedPlanAssignee_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 1204 return fp.GetSingle(source.(*AcceptedPlan_Assignee)) 1205 } 1206 1207 // GetDefault returns a default value of the field type 1208 func (fp *AcceptedPlanAssignee_FieldTerminalPath) GetDefault() interface{} { 1209 switch fp.selector { 1210 case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee: 1211 return (*iam_project.Reference)(nil) 1212 case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee: 1213 return (*iam_organization.Reference)(nil) 1214 case AcceptedPlanAssignee_FieldPathSelectorSystemAssignee: 1215 return false 1216 default: 1217 panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fp.selector)) 1218 } 1219 } 1220 1221 func (fp *AcceptedPlanAssignee_FieldTerminalPath) ClearValue(item *AcceptedPlan_Assignee) { 1222 if item != nil { 1223 switch fp.selector { 1224 case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee: 1225 if item, ok := item.Assignee.(*AcceptedPlan_Assignee_ProjectAssignee); ok { 1226 item.ProjectAssignee = nil 1227 } 1228 case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee: 1229 if item, ok := item.Assignee.(*AcceptedPlan_Assignee_OrganizationAssignee); ok { 1230 item.OrganizationAssignee = nil 1231 } 1232 case AcceptedPlanAssignee_FieldPathSelectorSystemAssignee: 1233 if item, ok := item.Assignee.(*AcceptedPlan_Assignee_SystemAssignee); ok { 1234 item.SystemAssignee = false 1235 } 1236 default: 1237 panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fp.selector)) 1238 } 1239 } 1240 } 1241 1242 func (fp *AcceptedPlanAssignee_FieldTerminalPath) ClearValueRaw(item proto.Message) { 1243 fp.ClearValue(item.(*AcceptedPlan_Assignee)) 1244 } 1245 1246 // IsLeaf - whether field path is holds simple value 1247 func (fp *AcceptedPlanAssignee_FieldTerminalPath) IsLeaf() bool { 1248 return fp.selector == AcceptedPlanAssignee_FieldPathSelectorProjectAssignee || 1249 fp.selector == AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee || 1250 fp.selector == AcceptedPlanAssignee_FieldPathSelectorSystemAssignee 1251 } 1252 1253 func (fp *AcceptedPlanAssignee_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 1254 return []gotenobject.FieldPath{fp} 1255 } 1256 1257 func (fp *AcceptedPlanAssignee_FieldTerminalPath) WithIValue(value interface{}) AcceptedPlanAssignee_FieldPathValue { 1258 switch fp.selector { 1259 case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee: 1260 return &AcceptedPlanAssignee_FieldTerminalPathValue{AcceptedPlanAssignee_FieldTerminalPath: *fp, value: value.(*iam_project.Reference)} 1261 case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee: 1262 return &AcceptedPlanAssignee_FieldTerminalPathValue{AcceptedPlanAssignee_FieldTerminalPath: *fp, value: value.(*iam_organization.Reference)} 1263 case AcceptedPlanAssignee_FieldPathSelectorSystemAssignee: 1264 return &AcceptedPlanAssignee_FieldTerminalPathValue{AcceptedPlanAssignee_FieldTerminalPath: *fp, value: value.(bool)} 1265 default: 1266 panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fp.selector)) 1267 } 1268 } 1269 1270 func (fp *AcceptedPlanAssignee_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 1271 return fp.WithIValue(value) 1272 } 1273 1274 func (fp *AcceptedPlanAssignee_FieldTerminalPath) WithIArrayOfValues(values interface{}) AcceptedPlanAssignee_FieldPathArrayOfValues { 1275 fpaov := &AcceptedPlanAssignee_FieldTerminalPathArrayOfValues{AcceptedPlanAssignee_FieldTerminalPath: *fp} 1276 switch fp.selector { 1277 case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee: 1278 return &AcceptedPlanAssignee_FieldTerminalPathArrayOfValues{AcceptedPlanAssignee_FieldTerminalPath: *fp, values: values.([]*iam_project.Reference)} 1279 case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee: 1280 return &AcceptedPlanAssignee_FieldTerminalPathArrayOfValues{AcceptedPlanAssignee_FieldTerminalPath: *fp, values: values.([]*iam_organization.Reference)} 1281 case AcceptedPlanAssignee_FieldPathSelectorSystemAssignee: 1282 return &AcceptedPlanAssignee_FieldTerminalPathArrayOfValues{AcceptedPlanAssignee_FieldTerminalPath: *fp, values: values.([]bool)} 1283 default: 1284 panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fp.selector)) 1285 } 1286 return fpaov 1287 } 1288 1289 func (fp *AcceptedPlanAssignee_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 1290 return fp.WithIArrayOfValues(values) 1291 } 1292 1293 func (fp *AcceptedPlanAssignee_FieldTerminalPath) WithIArrayItemValue(value interface{}) AcceptedPlanAssignee_FieldPathArrayItemValue { 1294 switch fp.selector { 1295 default: 1296 panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fp.selector)) 1297 } 1298 } 1299 1300 func (fp *AcceptedPlanAssignee_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 1301 return fp.WithIArrayItemValue(value) 1302 } 1303 1304 // AcceptedPlanAssignee_FieldPathValue allows storing values for Assignee fields according to their type 1305 type AcceptedPlanAssignee_FieldPathValue interface { 1306 AcceptedPlanAssignee_FieldPath 1307 gotenobject.FieldPathValue 1308 SetTo(target **AcceptedPlan_Assignee) 1309 CompareWith(*AcceptedPlan_Assignee) (cmp int, comparable bool) 1310 } 1311 1312 func ParseAcceptedPlanAssignee_FieldPathValue(pathStr, valueStr string) (AcceptedPlanAssignee_FieldPathValue, error) { 1313 fp, err := ParseAcceptedPlanAssignee_FieldPath(pathStr) 1314 if err != nil { 1315 return nil, err 1316 } 1317 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 1318 if err != nil { 1319 return nil, status.Errorf(codes.InvalidArgument, "error parsing Assignee field path value from %s: %v", valueStr, err) 1320 } 1321 return fpv.(AcceptedPlanAssignee_FieldPathValue), nil 1322 } 1323 1324 func MustParseAcceptedPlanAssignee_FieldPathValue(pathStr, valueStr string) AcceptedPlanAssignee_FieldPathValue { 1325 fpv, err := ParseAcceptedPlanAssignee_FieldPathValue(pathStr, valueStr) 1326 if err != nil { 1327 panic(err) 1328 } 1329 return fpv 1330 } 1331 1332 type AcceptedPlanAssignee_FieldTerminalPathValue struct { 1333 AcceptedPlanAssignee_FieldTerminalPath 1334 value interface{} 1335 } 1336 1337 var _ AcceptedPlanAssignee_FieldPathValue = (*AcceptedPlanAssignee_FieldTerminalPathValue)(nil) 1338 1339 // GetRawValue returns raw value stored under selected path for 'Assignee' as interface{} 1340 func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) GetRawValue() interface{} { 1341 return fpv.value 1342 } 1343 func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) AsProjectAssigneeValue() (*iam_project.Reference, bool) { 1344 res, ok := fpv.value.(*iam_project.Reference) 1345 return res, ok 1346 } 1347 func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) AsOrganizationAssigneeValue() (*iam_organization.Reference, bool) { 1348 res, ok := fpv.value.(*iam_organization.Reference) 1349 return res, ok 1350 } 1351 func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) AsSystemAssigneeValue() (bool, bool) { 1352 res, ok := fpv.value.(bool) 1353 return res, ok 1354 } 1355 1356 // SetTo stores value for selected field for object Assignee 1357 func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) SetTo(target **AcceptedPlan_Assignee) { 1358 if *target == nil { 1359 *target = new(AcceptedPlan_Assignee) 1360 } 1361 switch fpv.selector { 1362 case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee: 1363 if _, ok := (*target).Assignee.(*AcceptedPlan_Assignee_ProjectAssignee); !ok { 1364 (*target).Assignee = &AcceptedPlan_Assignee_ProjectAssignee{} 1365 } 1366 (*target).Assignee.(*AcceptedPlan_Assignee_ProjectAssignee).ProjectAssignee = fpv.value.(*iam_project.Reference) 1367 case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee: 1368 if _, ok := (*target).Assignee.(*AcceptedPlan_Assignee_OrganizationAssignee); !ok { 1369 (*target).Assignee = &AcceptedPlan_Assignee_OrganizationAssignee{} 1370 } 1371 (*target).Assignee.(*AcceptedPlan_Assignee_OrganizationAssignee).OrganizationAssignee = fpv.value.(*iam_organization.Reference) 1372 case AcceptedPlanAssignee_FieldPathSelectorSystemAssignee: 1373 if _, ok := (*target).Assignee.(*AcceptedPlan_Assignee_SystemAssignee); !ok { 1374 (*target).Assignee = &AcceptedPlan_Assignee_SystemAssignee{} 1375 } 1376 (*target).Assignee.(*AcceptedPlan_Assignee_SystemAssignee).SystemAssignee = fpv.value.(bool) 1377 default: 1378 panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fpv.selector)) 1379 } 1380 } 1381 1382 func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) SetToRaw(target proto.Message) { 1383 typedObject := target.(*AcceptedPlan_Assignee) 1384 fpv.SetTo(&typedObject) 1385 } 1386 1387 // CompareWith compares value in the 'AcceptedPlanAssignee_FieldTerminalPathValue' with the value under path in 'AcceptedPlan_Assignee'. 1388 func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) CompareWith(source *AcceptedPlan_Assignee) (int, bool) { 1389 switch fpv.selector { 1390 case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee: 1391 leftValue := fpv.value.(*iam_project.Reference) 1392 rightValue := source.GetProjectAssignee() 1393 if leftValue == nil { 1394 if rightValue != nil { 1395 return -1, true 1396 } 1397 return 0, true 1398 } 1399 if rightValue == nil { 1400 return 1, true 1401 } 1402 if leftValue.String() == rightValue.String() { 1403 return 0, true 1404 } else if leftValue.String() < rightValue.String() { 1405 return -1, true 1406 } else { 1407 return 1, true 1408 } 1409 case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee: 1410 leftValue := fpv.value.(*iam_organization.Reference) 1411 rightValue := source.GetOrganizationAssignee() 1412 if leftValue == nil { 1413 if rightValue != nil { 1414 return -1, true 1415 } 1416 return 0, true 1417 } 1418 if rightValue == nil { 1419 return 1, true 1420 } 1421 if leftValue.String() == rightValue.String() { 1422 return 0, true 1423 } else if leftValue.String() < rightValue.String() { 1424 return -1, true 1425 } else { 1426 return 1, true 1427 } 1428 case AcceptedPlanAssignee_FieldPathSelectorSystemAssignee: 1429 leftValue := fpv.value.(bool) 1430 rightValue := source.GetSystemAssignee() 1431 if (leftValue) == (rightValue) { 1432 return 0, true 1433 } else if !(leftValue) && (rightValue) { 1434 return -1, true 1435 } else { 1436 return 1, true 1437 } 1438 default: 1439 panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fpv.selector)) 1440 } 1441 } 1442 1443 func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 1444 return fpv.CompareWith(source.(*AcceptedPlan_Assignee)) 1445 } 1446 1447 // AcceptedPlanAssignee_FieldPathArrayItemValue allows storing single item in Path-specific values for Assignee according to their type 1448 // Present only for array (repeated) types. 1449 type AcceptedPlanAssignee_FieldPathArrayItemValue interface { 1450 gotenobject.FieldPathArrayItemValue 1451 AcceptedPlanAssignee_FieldPath 1452 ContainsValue(*AcceptedPlan_Assignee) bool 1453 } 1454 1455 // ParseAcceptedPlanAssignee_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 1456 func ParseAcceptedPlanAssignee_FieldPathArrayItemValue(pathStr, valueStr string) (AcceptedPlanAssignee_FieldPathArrayItemValue, error) { 1457 fp, err := ParseAcceptedPlanAssignee_FieldPath(pathStr) 1458 if err != nil { 1459 return nil, err 1460 } 1461 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 1462 if err != nil { 1463 return nil, status.Errorf(codes.InvalidArgument, "error parsing Assignee field path array item value from %s: %v", valueStr, err) 1464 } 1465 return fpaiv.(AcceptedPlanAssignee_FieldPathArrayItemValue), nil 1466 } 1467 1468 func MustParseAcceptedPlanAssignee_FieldPathArrayItemValue(pathStr, valueStr string) AcceptedPlanAssignee_FieldPathArrayItemValue { 1469 fpaiv, err := ParseAcceptedPlanAssignee_FieldPathArrayItemValue(pathStr, valueStr) 1470 if err != nil { 1471 panic(err) 1472 } 1473 return fpaiv 1474 } 1475 1476 type AcceptedPlanAssignee_FieldTerminalPathArrayItemValue struct { 1477 AcceptedPlanAssignee_FieldTerminalPath 1478 value interface{} 1479 } 1480 1481 var _ AcceptedPlanAssignee_FieldPathArrayItemValue = (*AcceptedPlanAssignee_FieldTerminalPathArrayItemValue)(nil) 1482 1483 // GetRawValue returns stored element value for array in object AcceptedPlan_Assignee as interface{} 1484 func (fpaiv *AcceptedPlanAssignee_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 1485 return fpaiv.value 1486 } 1487 1488 func (fpaiv *AcceptedPlanAssignee_FieldTerminalPathArrayItemValue) GetSingle(source *AcceptedPlan_Assignee) (interface{}, bool) { 1489 return nil, false 1490 } 1491 1492 func (fpaiv *AcceptedPlanAssignee_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 1493 return fpaiv.GetSingle(source.(*AcceptedPlan_Assignee)) 1494 } 1495 1496 // Contains returns a boolean indicating if value that is being held is present in given 'Assignee' 1497 func (fpaiv *AcceptedPlanAssignee_FieldTerminalPathArrayItemValue) ContainsValue(source *AcceptedPlan_Assignee) bool { 1498 slice := fpaiv.AcceptedPlanAssignee_FieldTerminalPath.Get(source) 1499 for _, v := range slice { 1500 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 1501 if proto.Equal(asProtoMsg, v.(proto.Message)) { 1502 return true 1503 } 1504 } else if reflect.DeepEqual(v, fpaiv.value) { 1505 return true 1506 } 1507 } 1508 return false 1509 } 1510 1511 // AcceptedPlanAssignee_FieldPathArrayOfValues allows storing slice of values for Assignee fields according to their type 1512 type AcceptedPlanAssignee_FieldPathArrayOfValues interface { 1513 gotenobject.FieldPathArrayOfValues 1514 AcceptedPlanAssignee_FieldPath 1515 } 1516 1517 func ParseAcceptedPlanAssignee_FieldPathArrayOfValues(pathStr, valuesStr string) (AcceptedPlanAssignee_FieldPathArrayOfValues, error) { 1518 fp, err := ParseAcceptedPlanAssignee_FieldPath(pathStr) 1519 if err != nil { 1520 return nil, err 1521 } 1522 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 1523 if err != nil { 1524 return nil, status.Errorf(codes.InvalidArgument, "error parsing Assignee field path array of values from %s: %v", valuesStr, err) 1525 } 1526 return fpaov.(AcceptedPlanAssignee_FieldPathArrayOfValues), nil 1527 } 1528 1529 func MustParseAcceptedPlanAssignee_FieldPathArrayOfValues(pathStr, valuesStr string) AcceptedPlanAssignee_FieldPathArrayOfValues { 1530 fpaov, err := ParseAcceptedPlanAssignee_FieldPathArrayOfValues(pathStr, valuesStr) 1531 if err != nil { 1532 panic(err) 1533 } 1534 return fpaov 1535 } 1536 1537 type AcceptedPlanAssignee_FieldTerminalPathArrayOfValues struct { 1538 AcceptedPlanAssignee_FieldTerminalPath 1539 values interface{} 1540 } 1541 1542 var _ AcceptedPlanAssignee_FieldPathArrayOfValues = (*AcceptedPlanAssignee_FieldTerminalPathArrayOfValues)(nil) 1543 1544 func (fpaov *AcceptedPlanAssignee_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 1545 switch fpaov.selector { 1546 case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee: 1547 for _, v := range fpaov.values.([]*iam_project.Reference) { 1548 values = append(values, v) 1549 } 1550 case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee: 1551 for _, v := range fpaov.values.([]*iam_organization.Reference) { 1552 values = append(values, v) 1553 } 1554 case AcceptedPlanAssignee_FieldPathSelectorSystemAssignee: 1555 for _, v := range fpaov.values.([]bool) { 1556 values = append(values, v) 1557 } 1558 } 1559 return 1560 } 1561 func (fpaov *AcceptedPlanAssignee_FieldTerminalPathArrayOfValues) AsProjectAssigneeArrayOfValues() ([]*iam_project.Reference, bool) { 1562 res, ok := fpaov.values.([]*iam_project.Reference) 1563 return res, ok 1564 } 1565 func (fpaov *AcceptedPlanAssignee_FieldTerminalPathArrayOfValues) AsOrganizationAssigneeArrayOfValues() ([]*iam_organization.Reference, bool) { 1566 res, ok := fpaov.values.([]*iam_organization.Reference) 1567 return res, ok 1568 } 1569 func (fpaov *AcceptedPlanAssignee_FieldTerminalPathArrayOfValues) AsSystemAssigneeArrayOfValues() ([]bool, bool) { 1570 res, ok := fpaov.values.([]bool) 1571 return res, ok 1572 }