github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1/common/common.pb.fieldmask.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/iam/proto/v1/common.proto 3 // DO NOT EDIT!!! 4 5 package iam_common 6 7 import ( 8 "encoding/json" 9 "strings" 10 11 "google.golang.org/grpc/codes" 12 "google.golang.org/grpc/status" 13 "google.golang.org/protobuf/proto" 14 preflect "google.golang.org/protobuf/reflect/protoreflect" 15 googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 16 17 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 18 ) 19 20 // proto imports 21 import ( 22 meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service" 23 ) 24 25 // ensure the imports are used 26 var ( 27 _ = new(json.Marshaler) 28 _ = strings.Builder{} 29 30 _ = codes.NotFound 31 _ = status.Status{} 32 _ = new(proto.Message) 33 _ = new(preflect.Message) 34 _ = googlefieldmaskpb.FieldMask{} 35 36 _ = new(gotenobject.FieldMask) 37 ) 38 39 // make sure we're using proto imports 40 var ( 41 _ = &meta_service.Service{} 42 ) 43 44 type PCR_FieldMask struct { 45 Paths []PCR_FieldPath 46 } 47 48 func FullPCR_FieldMask() *PCR_FieldMask { 49 res := &PCR_FieldMask{} 50 res.Paths = append(res.Paths, &PCR_FieldTerminalPath{selector: PCR_FieldPathSelectorIndex}) 51 res.Paths = append(res.Paths, &PCR_FieldTerminalPath{selector: PCR_FieldPathSelectorDigestHex}) 52 res.Paths = append(res.Paths, &PCR_FieldTerminalPath{selector: PCR_FieldPathSelectorDigestAlg}) 53 res.Paths = append(res.Paths, &PCR_FieldTerminalPath{selector: PCR_FieldPathSelectorComment}) 54 return res 55 } 56 57 func (fieldMask *PCR_FieldMask) String() string { 58 if fieldMask == nil { 59 return "<nil>" 60 } 61 pathsStr := make([]string, 0, len(fieldMask.Paths)) 62 for _, path := range fieldMask.Paths { 63 pathsStr = append(pathsStr, path.String()) 64 } 65 return strings.Join(pathsStr, ", ") 66 } 67 68 func (fieldMask *PCR_FieldMask) IsFull() bool { 69 if fieldMask == nil { 70 return false 71 } 72 presentSelectors := make([]bool, 4) 73 for _, path := range fieldMask.Paths { 74 if asFinal, ok := path.(*PCR_FieldTerminalPath); ok { 75 presentSelectors[int(asFinal.selector)] = true 76 } 77 } 78 for _, flag := range presentSelectors { 79 if !flag { 80 return false 81 } 82 } 83 return true 84 } 85 86 func (fieldMask *PCR_FieldMask) ProtoReflect() preflect.Message { 87 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 88 return ParsePCR_FieldPath(raw) 89 }) 90 } 91 92 func (fieldMask *PCR_FieldMask) ProtoMessage() {} 93 94 func (fieldMask *PCR_FieldMask) Reset() { 95 if fieldMask != nil { 96 fieldMask.Paths = nil 97 } 98 } 99 100 func (fieldMask *PCR_FieldMask) Subtract(other *PCR_FieldMask) *PCR_FieldMask { 101 result := &PCR_FieldMask{} 102 removedSelectors := make([]bool, 4) 103 104 for _, path := range other.GetPaths() { 105 switch tp := path.(type) { 106 case *PCR_FieldTerminalPath: 107 removedSelectors[int(tp.selector)] = true 108 } 109 } 110 for _, path := range fieldMask.GetPaths() { 111 if !removedSelectors[int(path.Selector())] { 112 result.Paths = append(result.Paths, path) 113 } 114 } 115 116 if len(result.Paths) == 0 { 117 return nil 118 } 119 return result 120 } 121 122 func (fieldMask *PCR_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 123 return fieldMask.Subtract(other.(*PCR_FieldMask)) 124 } 125 126 // FilterInputFields generates copy of field paths with output_only field paths removed 127 func (fieldMask *PCR_FieldMask) FilterInputFields() *PCR_FieldMask { 128 result := &PCR_FieldMask{} 129 result.Paths = append(result.Paths, fieldMask.Paths...) 130 return result 131 } 132 133 // ToFieldMask is used for proto conversions 134 func (fieldMask *PCR_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 135 protoFieldMask := &googlefieldmaskpb.FieldMask{} 136 for _, path := range fieldMask.Paths { 137 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 138 } 139 return protoFieldMask 140 } 141 142 func (fieldMask *PCR_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 143 if fieldMask == nil { 144 return status.Error(codes.Internal, "target field mask is nil") 145 } 146 fieldMask.Paths = make([]PCR_FieldPath, 0, len(protoFieldMask.Paths)) 147 for _, strPath := range protoFieldMask.Paths { 148 path, err := ParsePCR_FieldPath(strPath) 149 if err != nil { 150 return err 151 } 152 fieldMask.Paths = append(fieldMask.Paths, path) 153 } 154 return nil 155 } 156 157 // implement methods required by customType 158 func (fieldMask PCR_FieldMask) Marshal() ([]byte, error) { 159 protoFieldMask := fieldMask.ToProtoFieldMask() 160 return proto.Marshal(protoFieldMask) 161 } 162 163 func (fieldMask *PCR_FieldMask) Unmarshal(data []byte) error { 164 protoFieldMask := &googlefieldmaskpb.FieldMask{} 165 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 166 return err 167 } 168 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 169 return err 170 } 171 return nil 172 } 173 174 func (fieldMask *PCR_FieldMask) Size() int { 175 return proto.Size(fieldMask.ToProtoFieldMask()) 176 } 177 178 func (fieldMask PCR_FieldMask) MarshalJSON() ([]byte, error) { 179 return json.Marshal(fieldMask.ToProtoFieldMask()) 180 } 181 182 func (fieldMask *PCR_FieldMask) UnmarshalJSON(data []byte) error { 183 protoFieldMask := &googlefieldmaskpb.FieldMask{} 184 if err := json.Unmarshal(data, protoFieldMask); err != nil { 185 return err 186 } 187 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 188 return err 189 } 190 return nil 191 } 192 193 func (fieldMask *PCR_FieldMask) AppendPath(path PCR_FieldPath) { 194 fieldMask.Paths = append(fieldMask.Paths, path) 195 } 196 197 func (fieldMask *PCR_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 198 fieldMask.Paths = append(fieldMask.Paths, path.(PCR_FieldPath)) 199 } 200 201 func (fieldMask *PCR_FieldMask) GetPaths() []PCR_FieldPath { 202 if fieldMask == nil { 203 return nil 204 } 205 return fieldMask.Paths 206 } 207 208 func (fieldMask *PCR_FieldMask) GetRawPaths() []gotenobject.FieldPath { 209 if fieldMask == nil { 210 return nil 211 } 212 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 213 for _, path := range fieldMask.Paths { 214 rawPaths = append(rawPaths, path) 215 } 216 return rawPaths 217 } 218 219 func (fieldMask *PCR_FieldMask) SetFromCliFlag(raw string) error { 220 path, err := ParsePCR_FieldPath(raw) 221 if err != nil { 222 return err 223 } 224 fieldMask.Paths = append(fieldMask.Paths, path) 225 return nil 226 } 227 228 func (fieldMask *PCR_FieldMask) Set(target, source *PCR) { 229 for _, path := range fieldMask.Paths { 230 val, _ := path.GetSingle(source) 231 // if val is nil, then field does not exist in source, skip 232 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 233 if val != nil { 234 path.WithIValue(val).SetTo(&target) 235 } 236 } 237 } 238 239 func (fieldMask *PCR_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 240 fieldMask.Set(target.(*PCR), source.(*PCR)) 241 } 242 243 func (fieldMask *PCR_FieldMask) Project(source *PCR) *PCR { 244 if source == nil { 245 return nil 246 } 247 if fieldMask == nil { 248 return source 249 } 250 result := &PCR{} 251 252 for _, p := range fieldMask.Paths { 253 switch tp := p.(type) { 254 case *PCR_FieldTerminalPath: 255 switch tp.selector { 256 case PCR_FieldPathSelectorIndex: 257 result.Index = source.Index 258 case PCR_FieldPathSelectorDigestHex: 259 result.DigestHex = source.DigestHex 260 case PCR_FieldPathSelectorDigestAlg: 261 result.DigestAlg = source.DigestAlg 262 case PCR_FieldPathSelectorComment: 263 result.Comment = source.Comment 264 } 265 } 266 } 267 return result 268 } 269 270 func (fieldMask *PCR_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 271 return fieldMask.Project(source.(*PCR)) 272 } 273 274 func (fieldMask *PCR_FieldMask) PathsCount() int { 275 if fieldMask == nil { 276 return 0 277 } 278 return len(fieldMask.Paths) 279 } 280 281 type ServiceBusinessTier_FieldMask struct { 282 Paths []ServiceBusinessTier_FieldPath 283 } 284 285 func FullServiceBusinessTier_FieldMask() *ServiceBusinessTier_FieldMask { 286 res := &ServiceBusinessTier_FieldMask{} 287 res.Paths = append(res.Paths, &ServiceBusinessTier_FieldTerminalPath{selector: ServiceBusinessTier_FieldPathSelectorService}) 288 res.Paths = append(res.Paths, &ServiceBusinessTier_FieldTerminalPath{selector: ServiceBusinessTier_FieldPathSelectorBusinessTier}) 289 return res 290 } 291 292 func (fieldMask *ServiceBusinessTier_FieldMask) String() string { 293 if fieldMask == nil { 294 return "<nil>" 295 } 296 pathsStr := make([]string, 0, len(fieldMask.Paths)) 297 for _, path := range fieldMask.Paths { 298 pathsStr = append(pathsStr, path.String()) 299 } 300 return strings.Join(pathsStr, ", ") 301 } 302 303 func (fieldMask *ServiceBusinessTier_FieldMask) IsFull() bool { 304 if fieldMask == nil { 305 return false 306 } 307 presentSelectors := make([]bool, 2) 308 for _, path := range fieldMask.Paths { 309 if asFinal, ok := path.(*ServiceBusinessTier_FieldTerminalPath); ok { 310 presentSelectors[int(asFinal.selector)] = true 311 } 312 } 313 for _, flag := range presentSelectors { 314 if !flag { 315 return false 316 } 317 } 318 return true 319 } 320 321 func (fieldMask *ServiceBusinessTier_FieldMask) ProtoReflect() preflect.Message { 322 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 323 return ParseServiceBusinessTier_FieldPath(raw) 324 }) 325 } 326 327 func (fieldMask *ServiceBusinessTier_FieldMask) ProtoMessage() {} 328 329 func (fieldMask *ServiceBusinessTier_FieldMask) Reset() { 330 if fieldMask != nil { 331 fieldMask.Paths = nil 332 } 333 } 334 335 func (fieldMask *ServiceBusinessTier_FieldMask) Subtract(other *ServiceBusinessTier_FieldMask) *ServiceBusinessTier_FieldMask { 336 result := &ServiceBusinessTier_FieldMask{} 337 removedSelectors := make([]bool, 2) 338 339 for _, path := range other.GetPaths() { 340 switch tp := path.(type) { 341 case *ServiceBusinessTier_FieldTerminalPath: 342 removedSelectors[int(tp.selector)] = true 343 } 344 } 345 for _, path := range fieldMask.GetPaths() { 346 if !removedSelectors[int(path.Selector())] { 347 result.Paths = append(result.Paths, path) 348 } 349 } 350 351 if len(result.Paths) == 0 { 352 return nil 353 } 354 return result 355 } 356 357 func (fieldMask *ServiceBusinessTier_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 358 return fieldMask.Subtract(other.(*ServiceBusinessTier_FieldMask)) 359 } 360 361 // FilterInputFields generates copy of field paths with output_only field paths removed 362 func (fieldMask *ServiceBusinessTier_FieldMask) FilterInputFields() *ServiceBusinessTier_FieldMask { 363 result := &ServiceBusinessTier_FieldMask{} 364 result.Paths = append(result.Paths, fieldMask.Paths...) 365 return result 366 } 367 368 // ToFieldMask is used for proto conversions 369 func (fieldMask *ServiceBusinessTier_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 370 protoFieldMask := &googlefieldmaskpb.FieldMask{} 371 for _, path := range fieldMask.Paths { 372 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 373 } 374 return protoFieldMask 375 } 376 377 func (fieldMask *ServiceBusinessTier_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 378 if fieldMask == nil { 379 return status.Error(codes.Internal, "target field mask is nil") 380 } 381 fieldMask.Paths = make([]ServiceBusinessTier_FieldPath, 0, len(protoFieldMask.Paths)) 382 for _, strPath := range protoFieldMask.Paths { 383 path, err := ParseServiceBusinessTier_FieldPath(strPath) 384 if err != nil { 385 return err 386 } 387 fieldMask.Paths = append(fieldMask.Paths, path) 388 } 389 return nil 390 } 391 392 // implement methods required by customType 393 func (fieldMask ServiceBusinessTier_FieldMask) Marshal() ([]byte, error) { 394 protoFieldMask := fieldMask.ToProtoFieldMask() 395 return proto.Marshal(protoFieldMask) 396 } 397 398 func (fieldMask *ServiceBusinessTier_FieldMask) Unmarshal(data []byte) error { 399 protoFieldMask := &googlefieldmaskpb.FieldMask{} 400 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 401 return err 402 } 403 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 404 return err 405 } 406 return nil 407 } 408 409 func (fieldMask *ServiceBusinessTier_FieldMask) Size() int { 410 return proto.Size(fieldMask.ToProtoFieldMask()) 411 } 412 413 func (fieldMask ServiceBusinessTier_FieldMask) MarshalJSON() ([]byte, error) { 414 return json.Marshal(fieldMask.ToProtoFieldMask()) 415 } 416 417 func (fieldMask *ServiceBusinessTier_FieldMask) UnmarshalJSON(data []byte) error { 418 protoFieldMask := &googlefieldmaskpb.FieldMask{} 419 if err := json.Unmarshal(data, protoFieldMask); err != nil { 420 return err 421 } 422 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 423 return err 424 } 425 return nil 426 } 427 428 func (fieldMask *ServiceBusinessTier_FieldMask) AppendPath(path ServiceBusinessTier_FieldPath) { 429 fieldMask.Paths = append(fieldMask.Paths, path) 430 } 431 432 func (fieldMask *ServiceBusinessTier_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 433 fieldMask.Paths = append(fieldMask.Paths, path.(ServiceBusinessTier_FieldPath)) 434 } 435 436 func (fieldMask *ServiceBusinessTier_FieldMask) GetPaths() []ServiceBusinessTier_FieldPath { 437 if fieldMask == nil { 438 return nil 439 } 440 return fieldMask.Paths 441 } 442 443 func (fieldMask *ServiceBusinessTier_FieldMask) GetRawPaths() []gotenobject.FieldPath { 444 if fieldMask == nil { 445 return nil 446 } 447 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 448 for _, path := range fieldMask.Paths { 449 rawPaths = append(rawPaths, path) 450 } 451 return rawPaths 452 } 453 454 func (fieldMask *ServiceBusinessTier_FieldMask) SetFromCliFlag(raw string) error { 455 path, err := ParseServiceBusinessTier_FieldPath(raw) 456 if err != nil { 457 return err 458 } 459 fieldMask.Paths = append(fieldMask.Paths, path) 460 return nil 461 } 462 463 func (fieldMask *ServiceBusinessTier_FieldMask) Set(target, source *ServiceBusinessTier) { 464 for _, path := range fieldMask.Paths { 465 val, _ := path.GetSingle(source) 466 // if val is nil, then field does not exist in source, skip 467 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 468 if val != nil { 469 path.WithIValue(val).SetTo(&target) 470 } 471 } 472 } 473 474 func (fieldMask *ServiceBusinessTier_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 475 fieldMask.Set(target.(*ServiceBusinessTier), source.(*ServiceBusinessTier)) 476 } 477 478 func (fieldMask *ServiceBusinessTier_FieldMask) Project(source *ServiceBusinessTier) *ServiceBusinessTier { 479 if source == nil { 480 return nil 481 } 482 if fieldMask == nil { 483 return source 484 } 485 result := &ServiceBusinessTier{} 486 487 for _, p := range fieldMask.Paths { 488 switch tp := p.(type) { 489 case *ServiceBusinessTier_FieldTerminalPath: 490 switch tp.selector { 491 case ServiceBusinessTier_FieldPathSelectorService: 492 result.Service = source.Service 493 case ServiceBusinessTier_FieldPathSelectorBusinessTier: 494 result.BusinessTier = source.BusinessTier 495 } 496 } 497 } 498 return result 499 } 500 501 func (fieldMask *ServiceBusinessTier_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 502 return fieldMask.Project(source.(*ServiceBusinessTier)) 503 } 504 505 func (fieldMask *ServiceBusinessTier_FieldMask) PathsCount() int { 506 if fieldMask == nil { 507 return 0 508 } 509 return len(fieldMask.Paths) 510 } 511 512 type ServiceErrors_FieldMask struct { 513 Paths []ServiceErrors_FieldPath 514 } 515 516 func FullServiceErrors_FieldMask() *ServiceErrors_FieldMask { 517 res := &ServiceErrors_FieldMask{} 518 res.Paths = append(res.Paths, &ServiceErrors_FieldTerminalPath{selector: ServiceErrors_FieldPathSelectorErrors}) 519 return res 520 } 521 522 func (fieldMask *ServiceErrors_FieldMask) String() string { 523 if fieldMask == nil { 524 return "<nil>" 525 } 526 pathsStr := make([]string, 0, len(fieldMask.Paths)) 527 for _, path := range fieldMask.Paths { 528 pathsStr = append(pathsStr, path.String()) 529 } 530 return strings.Join(pathsStr, ", ") 531 } 532 533 func (fieldMask *ServiceErrors_FieldMask) IsFull() bool { 534 if fieldMask == nil { 535 return false 536 } 537 presentSelectors := make([]bool, 1) 538 for _, path := range fieldMask.Paths { 539 if asFinal, ok := path.(*ServiceErrors_FieldTerminalPath); ok { 540 presentSelectors[int(asFinal.selector)] = true 541 } 542 } 543 for _, flag := range presentSelectors { 544 if !flag { 545 return false 546 } 547 } 548 return true 549 } 550 551 func (fieldMask *ServiceErrors_FieldMask) ProtoReflect() preflect.Message { 552 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 553 return ParseServiceErrors_FieldPath(raw) 554 }) 555 } 556 557 func (fieldMask *ServiceErrors_FieldMask) ProtoMessage() {} 558 559 func (fieldMask *ServiceErrors_FieldMask) Reset() { 560 if fieldMask != nil { 561 fieldMask.Paths = nil 562 } 563 } 564 565 func (fieldMask *ServiceErrors_FieldMask) Subtract(other *ServiceErrors_FieldMask) *ServiceErrors_FieldMask { 566 result := &ServiceErrors_FieldMask{} 567 removedSelectors := make([]bool, 1) 568 otherSubMasks := map[ServiceErrors_FieldPathSelector]gotenobject.FieldMask{ 569 ServiceErrors_FieldPathSelectorErrors: &ServiceErrors_Error_FieldMask{}, 570 } 571 mySubMasks := map[ServiceErrors_FieldPathSelector]gotenobject.FieldMask{ 572 ServiceErrors_FieldPathSelectorErrors: &ServiceErrors_Error_FieldMask{}, 573 } 574 575 for _, path := range other.GetPaths() { 576 switch tp := path.(type) { 577 case *ServiceErrors_FieldTerminalPath: 578 removedSelectors[int(tp.selector)] = true 579 case *ServiceErrors_FieldSubPath: 580 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 581 } 582 } 583 for _, path := range fieldMask.GetPaths() { 584 if !removedSelectors[int(path.Selector())] { 585 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 586 if tp, ok := path.(*ServiceErrors_FieldTerminalPath); ok { 587 switch tp.selector { 588 case ServiceErrors_FieldPathSelectorErrors: 589 mySubMasks[ServiceErrors_FieldPathSelectorErrors] = FullServiceErrors_Error_FieldMask() 590 } 591 } else if tp, ok := path.(*ServiceErrors_FieldSubPath); ok { 592 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 593 } 594 } else { 595 result.Paths = append(result.Paths, path) 596 } 597 } 598 } 599 for selector, mySubMask := range mySubMasks { 600 if mySubMask.PathsCount() > 0 { 601 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 602 result.Paths = append(result.Paths, &ServiceErrors_FieldSubPath{selector: selector, subPath: allowedPath}) 603 } 604 } 605 } 606 607 if len(result.Paths) == 0 { 608 return nil 609 } 610 return result 611 } 612 613 func (fieldMask *ServiceErrors_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 614 return fieldMask.Subtract(other.(*ServiceErrors_FieldMask)) 615 } 616 617 // FilterInputFields generates copy of field paths with output_only field paths removed 618 func (fieldMask *ServiceErrors_FieldMask) FilterInputFields() *ServiceErrors_FieldMask { 619 result := &ServiceErrors_FieldMask{} 620 result.Paths = append(result.Paths, fieldMask.Paths...) 621 return result 622 } 623 624 // ToFieldMask is used for proto conversions 625 func (fieldMask *ServiceErrors_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 626 protoFieldMask := &googlefieldmaskpb.FieldMask{} 627 for _, path := range fieldMask.Paths { 628 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 629 } 630 return protoFieldMask 631 } 632 633 func (fieldMask *ServiceErrors_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 634 if fieldMask == nil { 635 return status.Error(codes.Internal, "target field mask is nil") 636 } 637 fieldMask.Paths = make([]ServiceErrors_FieldPath, 0, len(protoFieldMask.Paths)) 638 for _, strPath := range protoFieldMask.Paths { 639 path, err := ParseServiceErrors_FieldPath(strPath) 640 if err != nil { 641 return err 642 } 643 fieldMask.Paths = append(fieldMask.Paths, path) 644 } 645 return nil 646 } 647 648 // implement methods required by customType 649 func (fieldMask ServiceErrors_FieldMask) Marshal() ([]byte, error) { 650 protoFieldMask := fieldMask.ToProtoFieldMask() 651 return proto.Marshal(protoFieldMask) 652 } 653 654 func (fieldMask *ServiceErrors_FieldMask) Unmarshal(data []byte) error { 655 protoFieldMask := &googlefieldmaskpb.FieldMask{} 656 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 657 return err 658 } 659 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 660 return err 661 } 662 return nil 663 } 664 665 func (fieldMask *ServiceErrors_FieldMask) Size() int { 666 return proto.Size(fieldMask.ToProtoFieldMask()) 667 } 668 669 func (fieldMask ServiceErrors_FieldMask) MarshalJSON() ([]byte, error) { 670 return json.Marshal(fieldMask.ToProtoFieldMask()) 671 } 672 673 func (fieldMask *ServiceErrors_FieldMask) UnmarshalJSON(data []byte) error { 674 protoFieldMask := &googlefieldmaskpb.FieldMask{} 675 if err := json.Unmarshal(data, protoFieldMask); err != nil { 676 return err 677 } 678 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 679 return err 680 } 681 return nil 682 } 683 684 func (fieldMask *ServiceErrors_FieldMask) AppendPath(path ServiceErrors_FieldPath) { 685 fieldMask.Paths = append(fieldMask.Paths, path) 686 } 687 688 func (fieldMask *ServiceErrors_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 689 fieldMask.Paths = append(fieldMask.Paths, path.(ServiceErrors_FieldPath)) 690 } 691 692 func (fieldMask *ServiceErrors_FieldMask) GetPaths() []ServiceErrors_FieldPath { 693 if fieldMask == nil { 694 return nil 695 } 696 return fieldMask.Paths 697 } 698 699 func (fieldMask *ServiceErrors_FieldMask) GetRawPaths() []gotenobject.FieldPath { 700 if fieldMask == nil { 701 return nil 702 } 703 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 704 for _, path := range fieldMask.Paths { 705 rawPaths = append(rawPaths, path) 706 } 707 return rawPaths 708 } 709 710 func (fieldMask *ServiceErrors_FieldMask) SetFromCliFlag(raw string) error { 711 path, err := ParseServiceErrors_FieldPath(raw) 712 if err != nil { 713 return err 714 } 715 fieldMask.Paths = append(fieldMask.Paths, path) 716 return nil 717 } 718 719 func (fieldMask *ServiceErrors_FieldMask) Set(target, source *ServiceErrors) { 720 for _, path := range fieldMask.Paths { 721 val, _ := path.GetSingle(source) 722 // if val is nil, then field does not exist in source, skip 723 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 724 if val != nil { 725 path.WithIValue(val).SetTo(&target) 726 } 727 } 728 } 729 730 func (fieldMask *ServiceErrors_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 731 fieldMask.Set(target.(*ServiceErrors), source.(*ServiceErrors)) 732 } 733 734 func (fieldMask *ServiceErrors_FieldMask) Project(source *ServiceErrors) *ServiceErrors { 735 if source == nil { 736 return nil 737 } 738 if fieldMask == nil { 739 return source 740 } 741 result := &ServiceErrors{} 742 errorsMask := &ServiceErrors_Error_FieldMask{} 743 wholeErrorsAccepted := false 744 745 for _, p := range fieldMask.Paths { 746 switch tp := p.(type) { 747 case *ServiceErrors_FieldTerminalPath: 748 switch tp.selector { 749 case ServiceErrors_FieldPathSelectorErrors: 750 result.Errors = source.Errors 751 wholeErrorsAccepted = true 752 } 753 case *ServiceErrors_FieldSubPath: 754 switch tp.selector { 755 case ServiceErrors_FieldPathSelectorErrors: 756 errorsMask.AppendPath(tp.subPath.(ServiceErrorsError_FieldPath)) 757 } 758 } 759 } 760 if wholeErrorsAccepted == false && len(errorsMask.Paths) > 0 { 761 for _, sourceItem := range source.GetErrors() { 762 result.Errors = append(result.Errors, errorsMask.Project(sourceItem)) 763 } 764 } 765 return result 766 } 767 768 func (fieldMask *ServiceErrors_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 769 return fieldMask.Project(source.(*ServiceErrors)) 770 } 771 772 func (fieldMask *ServiceErrors_FieldMask) PathsCount() int { 773 if fieldMask == nil { 774 return 0 775 } 776 return len(fieldMask.Paths) 777 } 778 779 type ServiceErrors_Error_FieldMask struct { 780 Paths []ServiceErrorsError_FieldPath 781 } 782 783 func FullServiceErrors_Error_FieldMask() *ServiceErrors_Error_FieldMask { 784 res := &ServiceErrors_Error_FieldMask{} 785 res.Paths = append(res.Paths, &ServiceErrorsError_FieldTerminalPath{selector: ServiceErrorsError_FieldPathSelectorService}) 786 res.Paths = append(res.Paths, &ServiceErrorsError_FieldTerminalPath{selector: ServiceErrorsError_FieldPathSelectorMessage}) 787 return res 788 } 789 790 func (fieldMask *ServiceErrors_Error_FieldMask) String() string { 791 if fieldMask == nil { 792 return "<nil>" 793 } 794 pathsStr := make([]string, 0, len(fieldMask.Paths)) 795 for _, path := range fieldMask.Paths { 796 pathsStr = append(pathsStr, path.String()) 797 } 798 return strings.Join(pathsStr, ", ") 799 } 800 801 func (fieldMask *ServiceErrors_Error_FieldMask) IsFull() bool { 802 if fieldMask == nil { 803 return false 804 } 805 presentSelectors := make([]bool, 2) 806 for _, path := range fieldMask.Paths { 807 if asFinal, ok := path.(*ServiceErrorsError_FieldTerminalPath); ok { 808 presentSelectors[int(asFinal.selector)] = true 809 } 810 } 811 for _, flag := range presentSelectors { 812 if !flag { 813 return false 814 } 815 } 816 return true 817 } 818 819 func (fieldMask *ServiceErrors_Error_FieldMask) ProtoReflect() preflect.Message { 820 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 821 return ParseServiceErrorsError_FieldPath(raw) 822 }) 823 } 824 825 func (fieldMask *ServiceErrors_Error_FieldMask) ProtoMessage() {} 826 827 func (fieldMask *ServiceErrors_Error_FieldMask) Reset() { 828 if fieldMask != nil { 829 fieldMask.Paths = nil 830 } 831 } 832 833 func (fieldMask *ServiceErrors_Error_FieldMask) Subtract(other *ServiceErrors_Error_FieldMask) *ServiceErrors_Error_FieldMask { 834 result := &ServiceErrors_Error_FieldMask{} 835 removedSelectors := make([]bool, 2) 836 837 for _, path := range other.GetPaths() { 838 switch tp := path.(type) { 839 case *ServiceErrorsError_FieldTerminalPath: 840 removedSelectors[int(tp.selector)] = true 841 } 842 } 843 for _, path := range fieldMask.GetPaths() { 844 if !removedSelectors[int(path.Selector())] { 845 result.Paths = append(result.Paths, path) 846 } 847 } 848 849 if len(result.Paths) == 0 { 850 return nil 851 } 852 return result 853 } 854 855 func (fieldMask *ServiceErrors_Error_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 856 return fieldMask.Subtract(other.(*ServiceErrors_Error_FieldMask)) 857 } 858 859 // FilterInputFields generates copy of field paths with output_only field paths removed 860 func (fieldMask *ServiceErrors_Error_FieldMask) FilterInputFields() *ServiceErrors_Error_FieldMask { 861 result := &ServiceErrors_Error_FieldMask{} 862 result.Paths = append(result.Paths, fieldMask.Paths...) 863 return result 864 } 865 866 // ToFieldMask is used for proto conversions 867 func (fieldMask *ServiceErrors_Error_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 868 protoFieldMask := &googlefieldmaskpb.FieldMask{} 869 for _, path := range fieldMask.Paths { 870 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 871 } 872 return protoFieldMask 873 } 874 875 func (fieldMask *ServiceErrors_Error_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 876 if fieldMask == nil { 877 return status.Error(codes.Internal, "target field mask is nil") 878 } 879 fieldMask.Paths = make([]ServiceErrorsError_FieldPath, 0, len(protoFieldMask.Paths)) 880 for _, strPath := range protoFieldMask.Paths { 881 path, err := ParseServiceErrorsError_FieldPath(strPath) 882 if err != nil { 883 return err 884 } 885 fieldMask.Paths = append(fieldMask.Paths, path) 886 } 887 return nil 888 } 889 890 // implement methods required by customType 891 func (fieldMask ServiceErrors_Error_FieldMask) Marshal() ([]byte, error) { 892 protoFieldMask := fieldMask.ToProtoFieldMask() 893 return proto.Marshal(protoFieldMask) 894 } 895 896 func (fieldMask *ServiceErrors_Error_FieldMask) Unmarshal(data []byte) error { 897 protoFieldMask := &googlefieldmaskpb.FieldMask{} 898 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 899 return err 900 } 901 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 902 return err 903 } 904 return nil 905 } 906 907 func (fieldMask *ServiceErrors_Error_FieldMask) Size() int { 908 return proto.Size(fieldMask.ToProtoFieldMask()) 909 } 910 911 func (fieldMask ServiceErrors_Error_FieldMask) MarshalJSON() ([]byte, error) { 912 return json.Marshal(fieldMask.ToProtoFieldMask()) 913 } 914 915 func (fieldMask *ServiceErrors_Error_FieldMask) UnmarshalJSON(data []byte) error { 916 protoFieldMask := &googlefieldmaskpb.FieldMask{} 917 if err := json.Unmarshal(data, protoFieldMask); err != nil { 918 return err 919 } 920 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 921 return err 922 } 923 return nil 924 } 925 926 func (fieldMask *ServiceErrors_Error_FieldMask) AppendPath(path ServiceErrorsError_FieldPath) { 927 fieldMask.Paths = append(fieldMask.Paths, path) 928 } 929 930 func (fieldMask *ServiceErrors_Error_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 931 fieldMask.Paths = append(fieldMask.Paths, path.(ServiceErrorsError_FieldPath)) 932 } 933 934 func (fieldMask *ServiceErrors_Error_FieldMask) GetPaths() []ServiceErrorsError_FieldPath { 935 if fieldMask == nil { 936 return nil 937 } 938 return fieldMask.Paths 939 } 940 941 func (fieldMask *ServiceErrors_Error_FieldMask) GetRawPaths() []gotenobject.FieldPath { 942 if fieldMask == nil { 943 return nil 944 } 945 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 946 for _, path := range fieldMask.Paths { 947 rawPaths = append(rawPaths, path) 948 } 949 return rawPaths 950 } 951 952 func (fieldMask *ServiceErrors_Error_FieldMask) SetFromCliFlag(raw string) error { 953 path, err := ParseServiceErrorsError_FieldPath(raw) 954 if err != nil { 955 return err 956 } 957 fieldMask.Paths = append(fieldMask.Paths, path) 958 return nil 959 } 960 961 func (fieldMask *ServiceErrors_Error_FieldMask) Set(target, source *ServiceErrors_Error) { 962 for _, path := range fieldMask.Paths { 963 val, _ := path.GetSingle(source) 964 // if val is nil, then field does not exist in source, skip 965 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 966 if val != nil { 967 path.WithIValue(val).SetTo(&target) 968 } 969 } 970 } 971 972 func (fieldMask *ServiceErrors_Error_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 973 fieldMask.Set(target.(*ServiceErrors_Error), source.(*ServiceErrors_Error)) 974 } 975 976 func (fieldMask *ServiceErrors_Error_FieldMask) Project(source *ServiceErrors_Error) *ServiceErrors_Error { 977 if source == nil { 978 return nil 979 } 980 if fieldMask == nil { 981 return source 982 } 983 result := &ServiceErrors_Error{} 984 985 for _, p := range fieldMask.Paths { 986 switch tp := p.(type) { 987 case *ServiceErrorsError_FieldTerminalPath: 988 switch tp.selector { 989 case ServiceErrorsError_FieldPathSelectorService: 990 result.Service = source.Service 991 case ServiceErrorsError_FieldPathSelectorMessage: 992 result.Message = source.Message 993 } 994 } 995 } 996 return result 997 } 998 999 func (fieldMask *ServiceErrors_Error_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 1000 return fieldMask.Project(source.(*ServiceErrors_Error)) 1001 } 1002 1003 func (fieldMask *ServiceErrors_Error_FieldMask) PathsCount() int { 1004 if fieldMask == nil { 1005 return 0 1006 } 1007 return len(fieldMask.Paths) 1008 }