github.com/cloudwan/edgelq-sdk@v1.15.4/audit/resources/v1alpha2/method_descriptor/method_descriptor.pb.object_ext.go (about)

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/audit/proto/v1alpha2/method_descriptor.proto
     3  // DO NOT EDIT!!!
     4  
     5  package method_descriptor
     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  	common "github.com/cloudwan/edgelq-sdk/audit/resources/v1alpha2/common"
    20  	meta "github.com/cloudwan/goten-sdk/types/meta"
    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  	_ = &common.Authentication{}
    37  	_ = &meta.Meta{}
    38  )
    39  
    40  func (o *MethodDescriptor) GotenObjectExt() {}
    41  
    42  func (o *MethodDescriptor) MakeFullFieldMask() *MethodDescriptor_FieldMask {
    43  	return FullMethodDescriptor_FieldMask()
    44  }
    45  
    46  func (o *MethodDescriptor) MakeRawFullFieldMask() gotenobject.FieldMask {
    47  	return FullMethodDescriptor_FieldMask()
    48  }
    49  
    50  func (o *MethodDescriptor) MakeDiffFieldMask(other *MethodDescriptor) *MethodDescriptor_FieldMask {
    51  	if o == nil && other == nil {
    52  		return &MethodDescriptor_FieldMask{}
    53  	}
    54  	if o == nil || other == nil {
    55  		return FullMethodDescriptor_FieldMask()
    56  	}
    57  
    58  	res := &MethodDescriptor_FieldMask{}
    59  	if o.GetName().String() != other.GetName().String() {
    60  		res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorName})
    61  	}
    62  	if o.GetDisplayName() != other.GetDisplayName() {
    63  		res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorDisplayName})
    64  	}
    65  	if o.GetDescription() != other.GetDescription() {
    66  		res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorDescription})
    67  	}
    68  
    69  	if len(o.GetLabels()) == len(other.GetLabels()) {
    70  		for i, lValue := range o.GetLabels() {
    71  			rValue := other.GetLabels()[i]
    72  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
    73  				res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorLabels})
    74  				break
    75  			}
    76  		}
    77  	} else {
    78  		res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorLabels})
    79  	}
    80  
    81  	if len(o.GetPromotedLabelKeySets()) == len(other.GetPromotedLabelKeySets()) {
    82  		for i, lValue := range o.GetPromotedLabelKeySets() {
    83  			rValue := other.GetPromotedLabelKeySets()[i]
    84  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
    85  				res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorPromotedLabelKeySets})
    86  				break
    87  			}
    88  		}
    89  	} else {
    90  		res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorPromotedLabelKeySets})
    91  	}
    92  
    93  	if len(o.GetVersions()) == len(other.GetVersions()) {
    94  		for i, lValue := range o.GetVersions() {
    95  			rValue := other.GetVersions()[i]
    96  			if lValue != rValue {
    97  				res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorVersions})
    98  				break
    99  			}
   100  		}
   101  	} else {
   102  		res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorVersions})
   103  	}
   104  	{
   105  		subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata())
   106  		if subMask.IsFull() {
   107  			res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorMetadata})
   108  		} else {
   109  			for _, subpath := range subMask.Paths {
   110  				res.Paths = append(res.Paths, &MethodDescriptor_FieldSubPath{selector: MethodDescriptor_FieldPathSelectorMetadata, subPath: subpath})
   111  			}
   112  		}
   113  	}
   114  	return res
   115  }
   116  
   117  func (o *MethodDescriptor) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   118  	return o.MakeDiffFieldMask(other.(*MethodDescriptor))
   119  }
   120  
   121  func (o *MethodDescriptor) Clone() *MethodDescriptor {
   122  	if o == nil {
   123  		return nil
   124  	}
   125  	result := &MethodDescriptor{}
   126  	if o.Name == nil {
   127  		result.Name = nil
   128  	} else if data, err := o.Name.ProtoString(); err != nil {
   129  		panic(err)
   130  	} else {
   131  		result.Name = &Name{}
   132  		if err := result.Name.ParseProtoString(data); err != nil {
   133  			panic(err)
   134  		}
   135  	}
   136  	result.DisplayName = o.DisplayName
   137  	result.Description = o.Description
   138  	result.Labels = make([]*common.LabelDescriptor, len(o.Labels))
   139  	for i, sourceValue := range o.Labels {
   140  		result.Labels[i] = sourceValue.Clone()
   141  	}
   142  	result.PromotedLabelKeySets = make([]*common.LabelKeySet, len(o.PromotedLabelKeySets))
   143  	for i, sourceValue := range o.PromotedLabelKeySets {
   144  		result.PromotedLabelKeySets[i] = sourceValue.Clone()
   145  	}
   146  	result.Versions = make([]string, len(o.Versions))
   147  	for i, sourceValue := range o.Versions {
   148  		result.Versions[i] = sourceValue
   149  	}
   150  	result.Metadata = o.Metadata.Clone()
   151  	return result
   152  }
   153  
   154  func (o *MethodDescriptor) CloneRaw() gotenobject.GotenObjectExt {
   155  	return o.Clone()
   156  }
   157  
   158  func (o *MethodDescriptor) Merge(source *MethodDescriptor) {
   159  	if source.GetName() != nil {
   160  		if data, err := source.GetName().ProtoString(); err != nil {
   161  			panic(err)
   162  		} else {
   163  			o.Name = &Name{}
   164  			if err := o.Name.ParseProtoString(data); err != nil {
   165  				panic(err)
   166  			}
   167  		}
   168  	} else {
   169  		o.Name = nil
   170  	}
   171  	o.DisplayName = source.GetDisplayName()
   172  	o.Description = source.GetDescription()
   173  	for _, sourceValue := range source.GetLabels() {
   174  		exists := false
   175  		for _, currentValue := range o.Labels {
   176  			if proto.Equal(sourceValue, currentValue) {
   177  				exists = true
   178  				break
   179  			}
   180  		}
   181  		if !exists {
   182  			var newDstElement *common.LabelDescriptor
   183  			if sourceValue != nil {
   184  				newDstElement = new(common.LabelDescriptor)
   185  				newDstElement.Merge(sourceValue)
   186  			}
   187  			o.Labels = append(o.Labels, newDstElement)
   188  		}
   189  	}
   190  
   191  	for _, sourceValue := range source.GetPromotedLabelKeySets() {
   192  		exists := false
   193  		for _, currentValue := range o.PromotedLabelKeySets {
   194  			if proto.Equal(sourceValue, currentValue) {
   195  				exists = true
   196  				break
   197  			}
   198  		}
   199  		if !exists {
   200  			var newDstElement *common.LabelKeySet
   201  			if sourceValue != nil {
   202  				newDstElement = new(common.LabelKeySet)
   203  				newDstElement.Merge(sourceValue)
   204  			}
   205  			o.PromotedLabelKeySets = append(o.PromotedLabelKeySets, newDstElement)
   206  		}
   207  	}
   208  
   209  	for _, sourceValue := range source.GetVersions() {
   210  		exists := false
   211  		for _, currentValue := range o.Versions {
   212  			if currentValue == sourceValue {
   213  				exists = true
   214  				break
   215  			}
   216  		}
   217  		if !exists {
   218  			var newDstElement string
   219  			newDstElement = sourceValue
   220  			o.Versions = append(o.Versions, newDstElement)
   221  		}
   222  	}
   223  
   224  	if source.GetMetadata() != nil {
   225  		if o.Metadata == nil {
   226  			o.Metadata = new(meta.Meta)
   227  		}
   228  		o.Metadata.Merge(source.GetMetadata())
   229  	}
   230  }
   231  
   232  func (o *MethodDescriptor) MergeRaw(source gotenobject.GotenObjectExt) {
   233  	o.Merge(source.(*MethodDescriptor))
   234  }