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  }