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