github.com/cloudwan/edgelq-sdk@v1.15.4/monitoring/resources/v4/project/project.pb.object_ext.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/monitoring/proto/v4/project.proto 3 // DO NOT EDIT!!! 4 5 package project 6 7 import ( 8 "fmt" 9 "sort" 10 11 "google.golang.org/protobuf/proto" 12 googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 13 14 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 15 ) 16 17 // proto imports 18 import ( 19 meta "github.com/cloudwan/goten-sdk/types/meta" 20 multi_region_policy "github.com/cloudwan/goten-sdk/types/multi_region_policy" 21 ) 22 23 // ensure the imports are used 24 var ( 25 _ = new(fmt.Stringer) 26 _ = new(sort.Interface) 27 28 _ = new(proto.Message) 29 _ = googlefieldmaskpb.FieldMask{} 30 31 _ = new(gotenobject.FieldPath) 32 ) 33 34 // make sure we're using proto imports 35 var ( 36 _ = &meta.Meta{} 37 _ = &multi_region_policy.MultiRegionPolicy{} 38 ) 39 40 func (o *Project) GotenObjectExt() {} 41 42 func (o *Project) MakeFullFieldMask() *Project_FieldMask { 43 return FullProject_FieldMask() 44 } 45 46 func (o *Project) MakeRawFullFieldMask() gotenobject.FieldMask { 47 return FullProject_FieldMask() 48 } 49 50 func (o *Project) MakeDiffFieldMask(other *Project) *Project_FieldMask { 51 if o == nil && other == nil { 52 return &Project_FieldMask{} 53 } 54 if o == nil || other == nil { 55 return FullProject_FieldMask() 56 } 57 58 res := &Project_FieldMask{} 59 if o.GetName().String() != other.GetName().String() { 60 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorName}) 61 } 62 if o.GetTitle() != other.GetTitle() { 63 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorTitle}) 64 } 65 { 66 subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata()) 67 if subMask.IsFull() { 68 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorMetadata}) 69 } else { 70 for _, subpath := range subMask.Paths { 71 res.Paths = append(res.Paths, &Project_FieldSubPath{selector: Project_FieldPathSelectorMetadata, subPath: subpath}) 72 } 73 } 74 } 75 { 76 subMask := o.GetMultiRegionPolicy().MakeDiffFieldMask(other.GetMultiRegionPolicy()) 77 if subMask.IsFull() { 78 res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorMultiRegionPolicy}) 79 } else { 80 for _, subpath := range subMask.Paths { 81 res.Paths = append(res.Paths, &Project_FieldSubPath{selector: Project_FieldPathSelectorMultiRegionPolicy, subPath: subpath}) 82 } 83 } 84 } 85 return res 86 } 87 88 func (o *Project) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 89 return o.MakeDiffFieldMask(other.(*Project)) 90 } 91 92 func (o *Project) Clone() *Project { 93 if o == nil { 94 return nil 95 } 96 result := &Project{} 97 if o.Name == nil { 98 result.Name = nil 99 } else if data, err := o.Name.ProtoString(); err != nil { 100 panic(err) 101 } else { 102 result.Name = &Name{} 103 if err := result.Name.ParseProtoString(data); err != nil { 104 panic(err) 105 } 106 } 107 result.Title = o.Title 108 result.Metadata = o.Metadata.Clone() 109 result.MultiRegionPolicy = o.MultiRegionPolicy.Clone() 110 return result 111 } 112 113 func (o *Project) CloneRaw() gotenobject.GotenObjectExt { 114 return o.Clone() 115 } 116 117 func (o *Project) Merge(source *Project) { 118 if source.GetName() != nil { 119 if data, err := source.GetName().ProtoString(); err != nil { 120 panic(err) 121 } else { 122 o.Name = &Name{} 123 if err := o.Name.ParseProtoString(data); err != nil { 124 panic(err) 125 } 126 } 127 } else { 128 o.Name = nil 129 } 130 o.Title = source.GetTitle() 131 if source.GetMetadata() != nil { 132 if o.Metadata == nil { 133 o.Metadata = new(meta.Meta) 134 } 135 o.Metadata.Merge(source.GetMetadata()) 136 } 137 if source.GetMultiRegionPolicy() != nil { 138 if o.MultiRegionPolicy == nil { 139 o.MultiRegionPolicy = new(multi_region_policy.MultiRegionPolicy) 140 } 141 o.MultiRegionPolicy.Merge(source.GetMultiRegionPolicy()) 142 } 143 } 144 145 func (o *Project) MergeRaw(source gotenobject.GotenObjectExt) { 146 o.Merge(source.(*Project)) 147 }