github.com/cloudwan/edgelq-sdk@v1.15.4/cellular-api/resources/v1/sim_card_stock/sim_card_stock.pb.fieldpath.go (about)

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/cellular-api/proto/v1/sim_card_stock.proto
     3  // DO NOT EDIT!!!
     4  
     5  package sim_card_stock
     6  
     7  import (
     8  	"encoding/json"
     9  	"fmt"
    10  	"reflect"
    11  	"strings"
    12  	"time"
    13  
    14  	"google.golang.org/grpc/codes"
    15  	"google.golang.org/grpc/status"
    16  	"google.golang.org/protobuf/encoding/protojson"
    17  	"google.golang.org/protobuf/proto"
    18  	"google.golang.org/protobuf/reflect/protoregistry"
    19  
    20  	gotenobject "github.com/cloudwan/goten-sdk/runtime/object"
    21  	"github.com/cloudwan/goten-sdk/runtime/strcase"
    22  )
    23  
    24  // proto imports
    25  import (
    26  	contract "github.com/cloudwan/edgelq-sdk/cellular-api/resources/v1/contract"
    27  	sim_card "github.com/cloudwan/edgelq-sdk/cellular-api/resources/v1/sim_card"
    28  	meta "github.com/cloudwan/goten-sdk/types/meta"
    29  )
    30  
    31  // ensure the imports are used
    32  var (
    33  	_ = new(json.Marshaler)
    34  	_ = new(fmt.Stringer)
    35  	_ = reflect.DeepEqual
    36  	_ = strings.Builder{}
    37  	_ = time.Second
    38  
    39  	_ = strcase.ToLowerCamel
    40  	_ = codes.NotFound
    41  	_ = status.Status{}
    42  	_ = protojson.UnmarshalOptions{}
    43  	_ = new(proto.Message)
    44  	_ = protoregistry.GlobalTypes
    45  
    46  	_ = new(gotenobject.FieldPath)
    47  )
    48  
    49  // make sure we're using proto imports
    50  var (
    51  	_ = &contract.Contract{}
    52  	_ = &sim_card.SimCard{}
    53  	_ = &meta.Meta{}
    54  )
    55  
    56  // FieldPath provides implementation to handle
    57  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
    58  type SimCardStock_FieldPath interface {
    59  	gotenobject.FieldPath
    60  	Selector() SimCardStock_FieldPathSelector
    61  	Get(source *SimCardStock) []interface{}
    62  	GetSingle(source *SimCardStock) (interface{}, bool)
    63  	ClearValue(item *SimCardStock)
    64  
    65  	// Those methods build corresponding SimCardStock_FieldPathValue
    66  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
    67  	WithIValue(value interface{}) SimCardStock_FieldPathValue
    68  	WithIArrayOfValues(values interface{}) SimCardStock_FieldPathArrayOfValues
    69  	WithIArrayItemValue(value interface{}) SimCardStock_FieldPathArrayItemValue
    70  }
    71  
    72  type SimCardStock_FieldPathSelector int32
    73  
    74  const (
    75  	SimCardStock_FieldPathSelectorName     SimCardStock_FieldPathSelector = 0
    76  	SimCardStock_FieldPathSelectorMetadata SimCardStock_FieldPathSelector = 1
    77  	SimCardStock_FieldPathSelectorContract SimCardStock_FieldPathSelector = 2
    78  	SimCardStock_FieldPathSelectorState    SimCardStock_FieldPathSelector = 3
    79  	SimCardStock_FieldPathSelectorSimCard  SimCardStock_FieldPathSelector = 4
    80  )
    81  
    82  func (s SimCardStock_FieldPathSelector) String() string {
    83  	switch s {
    84  	case SimCardStock_FieldPathSelectorName:
    85  		return "name"
    86  	case SimCardStock_FieldPathSelectorMetadata:
    87  		return "metadata"
    88  	case SimCardStock_FieldPathSelectorContract:
    89  		return "contract"
    90  	case SimCardStock_FieldPathSelectorState:
    91  		return "state"
    92  	case SimCardStock_FieldPathSelectorSimCard:
    93  		return "sim_card"
    94  	default:
    95  		panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", s))
    96  	}
    97  }
    98  
    99  func BuildSimCardStock_FieldPath(fp gotenobject.RawFieldPath) (SimCardStock_FieldPath, error) {
   100  	if len(fp) == 0 {
   101  		return nil, status.Error(codes.InvalidArgument, "empty field path for object SimCardStock")
   102  	}
   103  	if len(fp) == 1 {
   104  		switch fp[0] {
   105  		case "name":
   106  			return &SimCardStock_FieldTerminalPath{selector: SimCardStock_FieldPathSelectorName}, nil
   107  		case "metadata":
   108  			return &SimCardStock_FieldTerminalPath{selector: SimCardStock_FieldPathSelectorMetadata}, nil
   109  		case "contract":
   110  			return &SimCardStock_FieldTerminalPath{selector: SimCardStock_FieldPathSelectorContract}, nil
   111  		case "state":
   112  			return &SimCardStock_FieldTerminalPath{selector: SimCardStock_FieldPathSelectorState}, nil
   113  		case "sim_card", "simCard", "sim-card":
   114  			return &SimCardStock_FieldTerminalPath{selector: SimCardStock_FieldPathSelectorSimCard}, nil
   115  		}
   116  	} else {
   117  		switch fp[0] {
   118  		case "metadata":
   119  			if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil {
   120  				return nil, err
   121  			} else {
   122  				return &SimCardStock_FieldSubPath{selector: SimCardStock_FieldPathSelectorMetadata, subPath: subpath}, nil
   123  			}
   124  		}
   125  	}
   126  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object SimCardStock", fp)
   127  }
   128  
   129  func ParseSimCardStock_FieldPath(rawField string) (SimCardStock_FieldPath, error) {
   130  	fp, err := gotenobject.ParseRawFieldPath(rawField)
   131  	if err != nil {
   132  		return nil, err
   133  	}
   134  	return BuildSimCardStock_FieldPath(fp)
   135  }
   136  
   137  func MustParseSimCardStock_FieldPath(rawField string) SimCardStock_FieldPath {
   138  	fp, err := ParseSimCardStock_FieldPath(rawField)
   139  	if err != nil {
   140  		panic(err)
   141  	}
   142  	return fp
   143  }
   144  
   145  type SimCardStock_FieldTerminalPath struct {
   146  	selector SimCardStock_FieldPathSelector
   147  }
   148  
   149  var _ SimCardStock_FieldPath = (*SimCardStock_FieldTerminalPath)(nil)
   150  
   151  func (fp *SimCardStock_FieldTerminalPath) Selector() SimCardStock_FieldPathSelector {
   152  	return fp.selector
   153  }
   154  
   155  // String returns path representation in proto convention
   156  func (fp *SimCardStock_FieldTerminalPath) String() string {
   157  	return fp.selector.String()
   158  }
   159  
   160  // JSONString returns path representation is JSON convention
   161  func (fp *SimCardStock_FieldTerminalPath) JSONString() string {
   162  	return strcase.ToLowerCamel(fp.String())
   163  }
   164  
   165  // Get returns all values pointed by specific field from source SimCardStock
   166  func (fp *SimCardStock_FieldTerminalPath) Get(source *SimCardStock) (values []interface{}) {
   167  	if source != nil {
   168  		switch fp.selector {
   169  		case SimCardStock_FieldPathSelectorName:
   170  			if source.Name != nil {
   171  				values = append(values, source.Name)
   172  			}
   173  		case SimCardStock_FieldPathSelectorMetadata:
   174  			if source.Metadata != nil {
   175  				values = append(values, source.Metadata)
   176  			}
   177  		case SimCardStock_FieldPathSelectorContract:
   178  			if source.Contract != nil {
   179  				values = append(values, source.Contract)
   180  			}
   181  		case SimCardStock_FieldPathSelectorState:
   182  			values = append(values, source.State)
   183  		case SimCardStock_FieldPathSelectorSimCard:
   184  			if source.SimCard != nil {
   185  				values = append(values, source.SimCard)
   186  			}
   187  		default:
   188  			panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fp.selector))
   189  		}
   190  	}
   191  	return
   192  }
   193  
   194  func (fp *SimCardStock_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
   195  	return fp.Get(source.(*SimCardStock))
   196  }
   197  
   198  // GetSingle returns value pointed by specific field of from source SimCardStock
   199  func (fp *SimCardStock_FieldTerminalPath) GetSingle(source *SimCardStock) (interface{}, bool) {
   200  	switch fp.selector {
   201  	case SimCardStock_FieldPathSelectorName:
   202  		res := source.GetName()
   203  		return res, res != nil
   204  	case SimCardStock_FieldPathSelectorMetadata:
   205  		res := source.GetMetadata()
   206  		return res, res != nil
   207  	case SimCardStock_FieldPathSelectorContract:
   208  		res := source.GetContract()
   209  		return res, res != nil
   210  	case SimCardStock_FieldPathSelectorState:
   211  		return source.GetState(), source != nil
   212  	case SimCardStock_FieldPathSelectorSimCard:
   213  		res := source.GetSimCard()
   214  		return res, res != nil
   215  	default:
   216  		panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fp.selector))
   217  	}
   218  }
   219  
   220  func (fp *SimCardStock_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   221  	return fp.GetSingle(source.(*SimCardStock))
   222  }
   223  
   224  // GetDefault returns a default value of the field type
   225  func (fp *SimCardStock_FieldTerminalPath) GetDefault() interface{} {
   226  	switch fp.selector {
   227  	case SimCardStock_FieldPathSelectorName:
   228  		return (*Name)(nil)
   229  	case SimCardStock_FieldPathSelectorMetadata:
   230  		return (*meta.Meta)(nil)
   231  	case SimCardStock_FieldPathSelectorContract:
   232  		return (*contract.Reference)(nil)
   233  	case SimCardStock_FieldPathSelectorState:
   234  		return SimCardStock_STATE_UNSPECIFIED
   235  	case SimCardStock_FieldPathSelectorSimCard:
   236  		return (*sim_card.Reference)(nil)
   237  	default:
   238  		panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fp.selector))
   239  	}
   240  }
   241  
   242  func (fp *SimCardStock_FieldTerminalPath) ClearValue(item *SimCardStock) {
   243  	if item != nil {
   244  		switch fp.selector {
   245  		case SimCardStock_FieldPathSelectorName:
   246  			item.Name = nil
   247  		case SimCardStock_FieldPathSelectorMetadata:
   248  			item.Metadata = nil
   249  		case SimCardStock_FieldPathSelectorContract:
   250  			item.Contract = nil
   251  		case SimCardStock_FieldPathSelectorState:
   252  			item.State = SimCardStock_STATE_UNSPECIFIED
   253  		case SimCardStock_FieldPathSelectorSimCard:
   254  			item.SimCard = nil
   255  		default:
   256  			panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fp.selector))
   257  		}
   258  	}
   259  }
   260  
   261  func (fp *SimCardStock_FieldTerminalPath) ClearValueRaw(item proto.Message) {
   262  	fp.ClearValue(item.(*SimCardStock))
   263  }
   264  
   265  // IsLeaf - whether field path is holds simple value
   266  func (fp *SimCardStock_FieldTerminalPath) IsLeaf() bool {
   267  	return fp.selector == SimCardStock_FieldPathSelectorName ||
   268  		fp.selector == SimCardStock_FieldPathSelectorContract ||
   269  		fp.selector == SimCardStock_FieldPathSelectorState ||
   270  		fp.selector == SimCardStock_FieldPathSelectorSimCard
   271  }
   272  
   273  func (fp *SimCardStock_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   274  	return []gotenobject.FieldPath{fp}
   275  }
   276  
   277  func (fp *SimCardStock_FieldTerminalPath) WithIValue(value interface{}) SimCardStock_FieldPathValue {
   278  	switch fp.selector {
   279  	case SimCardStock_FieldPathSelectorName:
   280  		return &SimCardStock_FieldTerminalPathValue{SimCardStock_FieldTerminalPath: *fp, value: value.(*Name)}
   281  	case SimCardStock_FieldPathSelectorMetadata:
   282  		return &SimCardStock_FieldTerminalPathValue{SimCardStock_FieldTerminalPath: *fp, value: value.(*meta.Meta)}
   283  	case SimCardStock_FieldPathSelectorContract:
   284  		return &SimCardStock_FieldTerminalPathValue{SimCardStock_FieldTerminalPath: *fp, value: value.(*contract.Reference)}
   285  	case SimCardStock_FieldPathSelectorState:
   286  		return &SimCardStock_FieldTerminalPathValue{SimCardStock_FieldTerminalPath: *fp, value: value.(SimCardStock_State)}
   287  	case SimCardStock_FieldPathSelectorSimCard:
   288  		return &SimCardStock_FieldTerminalPathValue{SimCardStock_FieldTerminalPath: *fp, value: value.(*sim_card.Reference)}
   289  	default:
   290  		panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fp.selector))
   291  	}
   292  }
   293  
   294  func (fp *SimCardStock_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   295  	return fp.WithIValue(value)
   296  }
   297  
   298  func (fp *SimCardStock_FieldTerminalPath) WithIArrayOfValues(values interface{}) SimCardStock_FieldPathArrayOfValues {
   299  	fpaov := &SimCardStock_FieldTerminalPathArrayOfValues{SimCardStock_FieldTerminalPath: *fp}
   300  	switch fp.selector {
   301  	case SimCardStock_FieldPathSelectorName:
   302  		return &SimCardStock_FieldTerminalPathArrayOfValues{SimCardStock_FieldTerminalPath: *fp, values: values.([]*Name)}
   303  	case SimCardStock_FieldPathSelectorMetadata:
   304  		return &SimCardStock_FieldTerminalPathArrayOfValues{SimCardStock_FieldTerminalPath: *fp, values: values.([]*meta.Meta)}
   305  	case SimCardStock_FieldPathSelectorContract:
   306  		return &SimCardStock_FieldTerminalPathArrayOfValues{SimCardStock_FieldTerminalPath: *fp, values: values.([]*contract.Reference)}
   307  	case SimCardStock_FieldPathSelectorState:
   308  		return &SimCardStock_FieldTerminalPathArrayOfValues{SimCardStock_FieldTerminalPath: *fp, values: values.([]SimCardStock_State)}
   309  	case SimCardStock_FieldPathSelectorSimCard:
   310  		return &SimCardStock_FieldTerminalPathArrayOfValues{SimCardStock_FieldTerminalPath: *fp, values: values.([]*sim_card.Reference)}
   311  	default:
   312  		panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fp.selector))
   313  	}
   314  	return fpaov
   315  }
   316  
   317  func (fp *SimCardStock_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   318  	return fp.WithIArrayOfValues(values)
   319  }
   320  
   321  func (fp *SimCardStock_FieldTerminalPath) WithIArrayItemValue(value interface{}) SimCardStock_FieldPathArrayItemValue {
   322  	switch fp.selector {
   323  	default:
   324  		panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fp.selector))
   325  	}
   326  }
   327  
   328  func (fp *SimCardStock_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   329  	return fp.WithIArrayItemValue(value)
   330  }
   331  
   332  type SimCardStock_FieldSubPath struct {
   333  	selector SimCardStock_FieldPathSelector
   334  	subPath  gotenobject.FieldPath
   335  }
   336  
   337  var _ SimCardStock_FieldPath = (*SimCardStock_FieldSubPath)(nil)
   338  
   339  func (fps *SimCardStock_FieldSubPath) Selector() SimCardStock_FieldPathSelector {
   340  	return fps.selector
   341  }
   342  func (fps *SimCardStock_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) {
   343  	res, ok := fps.subPath.(meta.Meta_FieldPath)
   344  	return res, ok
   345  }
   346  
   347  // String returns path representation in proto convention
   348  func (fps *SimCardStock_FieldSubPath) String() string {
   349  	return fps.selector.String() + "." + fps.subPath.String()
   350  }
   351  
   352  // JSONString returns path representation is JSON convention
   353  func (fps *SimCardStock_FieldSubPath) JSONString() string {
   354  	return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString()
   355  }
   356  
   357  // Get returns all values pointed by selected field from source SimCardStock
   358  func (fps *SimCardStock_FieldSubPath) Get(source *SimCardStock) (values []interface{}) {
   359  	switch fps.selector {
   360  	case SimCardStock_FieldPathSelectorMetadata:
   361  		values = append(values, fps.subPath.GetRaw(source.GetMetadata())...)
   362  	default:
   363  		panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fps.selector))
   364  	}
   365  	return
   366  }
   367  
   368  func (fps *SimCardStock_FieldSubPath) GetRaw(source proto.Message) []interface{} {
   369  	return fps.Get(source.(*SimCardStock))
   370  }
   371  
   372  // GetSingle returns value of selected field from source SimCardStock
   373  func (fps *SimCardStock_FieldSubPath) GetSingle(source *SimCardStock) (interface{}, bool) {
   374  	switch fps.selector {
   375  	case SimCardStock_FieldPathSelectorMetadata:
   376  		if source.GetMetadata() == nil {
   377  			return nil, false
   378  		}
   379  		return fps.subPath.GetSingleRaw(source.GetMetadata())
   380  	default:
   381  		panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fps.selector))
   382  	}
   383  }
   384  
   385  func (fps *SimCardStock_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   386  	return fps.GetSingle(source.(*SimCardStock))
   387  }
   388  
   389  // GetDefault returns a default value of the field type
   390  func (fps *SimCardStock_FieldSubPath) GetDefault() interface{} {
   391  	return fps.subPath.GetDefault()
   392  }
   393  
   394  func (fps *SimCardStock_FieldSubPath) ClearValue(item *SimCardStock) {
   395  	if item != nil {
   396  		switch fps.selector {
   397  		case SimCardStock_FieldPathSelectorMetadata:
   398  			fps.subPath.ClearValueRaw(item.Metadata)
   399  		default:
   400  			panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fps.selector))
   401  		}
   402  	}
   403  }
   404  
   405  func (fps *SimCardStock_FieldSubPath) ClearValueRaw(item proto.Message) {
   406  	fps.ClearValue(item.(*SimCardStock))
   407  }
   408  
   409  // IsLeaf - whether field path is holds simple value
   410  func (fps *SimCardStock_FieldSubPath) IsLeaf() bool {
   411  	return fps.subPath.IsLeaf()
   412  }
   413  
   414  func (fps *SimCardStock_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   415  	iPaths := []gotenobject.FieldPath{&SimCardStock_FieldTerminalPath{selector: fps.selector}}
   416  	iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...)
   417  	return iPaths
   418  }
   419  
   420  func (fps *SimCardStock_FieldSubPath) WithIValue(value interface{}) SimCardStock_FieldPathValue {
   421  	return &SimCardStock_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)}
   422  }
   423  
   424  func (fps *SimCardStock_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   425  	return fps.WithIValue(value)
   426  }
   427  
   428  func (fps *SimCardStock_FieldSubPath) WithIArrayOfValues(values interface{}) SimCardStock_FieldPathArrayOfValues {
   429  	return &SimCardStock_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)}
   430  }
   431  
   432  func (fps *SimCardStock_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   433  	return fps.WithIArrayOfValues(values)
   434  }
   435  
   436  func (fps *SimCardStock_FieldSubPath) WithIArrayItemValue(value interface{}) SimCardStock_FieldPathArrayItemValue {
   437  	return &SimCardStock_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)}
   438  }
   439  
   440  func (fps *SimCardStock_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   441  	return fps.WithIArrayItemValue(value)
   442  }
   443  
   444  // SimCardStock_FieldPathValue allows storing values for SimCardStock fields according to their type
   445  type SimCardStock_FieldPathValue interface {
   446  	SimCardStock_FieldPath
   447  	gotenobject.FieldPathValue
   448  	SetTo(target **SimCardStock)
   449  	CompareWith(*SimCardStock) (cmp int, comparable bool)
   450  }
   451  
   452  func ParseSimCardStock_FieldPathValue(pathStr, valueStr string) (SimCardStock_FieldPathValue, error) {
   453  	fp, err := ParseSimCardStock_FieldPath(pathStr)
   454  	if err != nil {
   455  		return nil, err
   456  	}
   457  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
   458  	if err != nil {
   459  		return nil, status.Errorf(codes.InvalidArgument, "error parsing SimCardStock field path value from %s: %v", valueStr, err)
   460  	}
   461  	return fpv.(SimCardStock_FieldPathValue), nil
   462  }
   463  
   464  func MustParseSimCardStock_FieldPathValue(pathStr, valueStr string) SimCardStock_FieldPathValue {
   465  	fpv, err := ParseSimCardStock_FieldPathValue(pathStr, valueStr)
   466  	if err != nil {
   467  		panic(err)
   468  	}
   469  	return fpv
   470  }
   471  
   472  type SimCardStock_FieldTerminalPathValue struct {
   473  	SimCardStock_FieldTerminalPath
   474  	value interface{}
   475  }
   476  
   477  var _ SimCardStock_FieldPathValue = (*SimCardStock_FieldTerminalPathValue)(nil)
   478  
   479  // GetRawValue returns raw value stored under selected path for 'SimCardStock' as interface{}
   480  func (fpv *SimCardStock_FieldTerminalPathValue) GetRawValue() interface{} {
   481  	return fpv.value
   482  }
   483  func (fpv *SimCardStock_FieldTerminalPathValue) AsNameValue() (*Name, bool) {
   484  	res, ok := fpv.value.(*Name)
   485  	return res, ok
   486  }
   487  func (fpv *SimCardStock_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) {
   488  	res, ok := fpv.value.(*meta.Meta)
   489  	return res, ok
   490  }
   491  func (fpv *SimCardStock_FieldTerminalPathValue) AsContractValue() (*contract.Reference, bool) {
   492  	res, ok := fpv.value.(*contract.Reference)
   493  	return res, ok
   494  }
   495  func (fpv *SimCardStock_FieldTerminalPathValue) AsStateValue() (SimCardStock_State, bool) {
   496  	res, ok := fpv.value.(SimCardStock_State)
   497  	return res, ok
   498  }
   499  func (fpv *SimCardStock_FieldTerminalPathValue) AsSimCardValue() (*sim_card.Reference, bool) {
   500  	res, ok := fpv.value.(*sim_card.Reference)
   501  	return res, ok
   502  }
   503  
   504  // SetTo stores value for selected field for object SimCardStock
   505  func (fpv *SimCardStock_FieldTerminalPathValue) SetTo(target **SimCardStock) {
   506  	if *target == nil {
   507  		*target = new(SimCardStock)
   508  	}
   509  	switch fpv.selector {
   510  	case SimCardStock_FieldPathSelectorName:
   511  		(*target).Name = fpv.value.(*Name)
   512  	case SimCardStock_FieldPathSelectorMetadata:
   513  		(*target).Metadata = fpv.value.(*meta.Meta)
   514  	case SimCardStock_FieldPathSelectorContract:
   515  		(*target).Contract = fpv.value.(*contract.Reference)
   516  	case SimCardStock_FieldPathSelectorState:
   517  		(*target).State = fpv.value.(SimCardStock_State)
   518  	case SimCardStock_FieldPathSelectorSimCard:
   519  		(*target).SimCard = fpv.value.(*sim_card.Reference)
   520  	default:
   521  		panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fpv.selector))
   522  	}
   523  }
   524  
   525  func (fpv *SimCardStock_FieldTerminalPathValue) SetToRaw(target proto.Message) {
   526  	typedObject := target.(*SimCardStock)
   527  	fpv.SetTo(&typedObject)
   528  }
   529  
   530  // CompareWith compares value in the 'SimCardStock_FieldTerminalPathValue' with the value under path in 'SimCardStock'.
   531  func (fpv *SimCardStock_FieldTerminalPathValue) CompareWith(source *SimCardStock) (int, bool) {
   532  	switch fpv.selector {
   533  	case SimCardStock_FieldPathSelectorName:
   534  		leftValue := fpv.value.(*Name)
   535  		rightValue := source.GetName()
   536  		if leftValue == nil {
   537  			if rightValue != nil {
   538  				return -1, true
   539  			}
   540  			return 0, true
   541  		}
   542  		if rightValue == nil {
   543  			return 1, true
   544  		}
   545  		if leftValue.String() == rightValue.String() {
   546  			return 0, true
   547  		} else if leftValue.String() < rightValue.String() {
   548  			return -1, true
   549  		} else {
   550  			return 1, true
   551  		}
   552  	case SimCardStock_FieldPathSelectorMetadata:
   553  		return 0, false
   554  	case SimCardStock_FieldPathSelectorContract:
   555  		leftValue := fpv.value.(*contract.Reference)
   556  		rightValue := source.GetContract()
   557  		if leftValue == nil {
   558  			if rightValue != nil {
   559  				return -1, true
   560  			}
   561  			return 0, true
   562  		}
   563  		if rightValue == nil {
   564  			return 1, true
   565  		}
   566  		if leftValue.String() == rightValue.String() {
   567  			return 0, true
   568  		} else if leftValue.String() < rightValue.String() {
   569  			return -1, true
   570  		} else {
   571  			return 1, true
   572  		}
   573  	case SimCardStock_FieldPathSelectorState:
   574  		leftValue := fpv.value.(SimCardStock_State)
   575  		rightValue := source.GetState()
   576  		if (leftValue) == (rightValue) {
   577  			return 0, true
   578  		} else if (leftValue) < (rightValue) {
   579  			return -1, true
   580  		} else {
   581  			return 1, true
   582  		}
   583  	case SimCardStock_FieldPathSelectorSimCard:
   584  		leftValue := fpv.value.(*sim_card.Reference)
   585  		rightValue := source.GetSimCard()
   586  		if leftValue == nil {
   587  			if rightValue != nil {
   588  				return -1, true
   589  			}
   590  			return 0, true
   591  		}
   592  		if rightValue == nil {
   593  			return 1, true
   594  		}
   595  		if leftValue.String() == rightValue.String() {
   596  			return 0, true
   597  		} else if leftValue.String() < rightValue.String() {
   598  			return -1, true
   599  		} else {
   600  			return 1, true
   601  		}
   602  	default:
   603  		panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fpv.selector))
   604  	}
   605  }
   606  
   607  func (fpv *SimCardStock_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
   608  	return fpv.CompareWith(source.(*SimCardStock))
   609  }
   610  
   611  type SimCardStock_FieldSubPathValue struct {
   612  	SimCardStock_FieldPath
   613  	subPathValue gotenobject.FieldPathValue
   614  }
   615  
   616  var _ SimCardStock_FieldPathValue = (*SimCardStock_FieldSubPathValue)(nil)
   617  
   618  func (fpvs *SimCardStock_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) {
   619  	res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue)
   620  	return res, ok
   621  }
   622  
   623  func (fpvs *SimCardStock_FieldSubPathValue) SetTo(target **SimCardStock) {
   624  	if *target == nil {
   625  		*target = new(SimCardStock)
   626  	}
   627  	switch fpvs.Selector() {
   628  	case SimCardStock_FieldPathSelectorMetadata:
   629  		fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata)
   630  	default:
   631  		panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fpvs.Selector()))
   632  	}
   633  }
   634  
   635  func (fpvs *SimCardStock_FieldSubPathValue) SetToRaw(target proto.Message) {
   636  	typedObject := target.(*SimCardStock)
   637  	fpvs.SetTo(&typedObject)
   638  }
   639  
   640  func (fpvs *SimCardStock_FieldSubPathValue) GetRawValue() interface{} {
   641  	return fpvs.subPathValue.GetRawValue()
   642  }
   643  
   644  func (fpvs *SimCardStock_FieldSubPathValue) CompareWith(source *SimCardStock) (int, bool) {
   645  	switch fpvs.Selector() {
   646  	case SimCardStock_FieldPathSelectorMetadata:
   647  		return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata())
   648  	default:
   649  		panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fpvs.Selector()))
   650  	}
   651  }
   652  
   653  func (fpvs *SimCardStock_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) {
   654  	return fpvs.CompareWith(source.(*SimCardStock))
   655  }
   656  
   657  // SimCardStock_FieldPathArrayItemValue allows storing single item in Path-specific values for SimCardStock according to their type
   658  // Present only for array (repeated) types.
   659  type SimCardStock_FieldPathArrayItemValue interface {
   660  	gotenobject.FieldPathArrayItemValue
   661  	SimCardStock_FieldPath
   662  	ContainsValue(*SimCardStock) bool
   663  }
   664  
   665  // ParseSimCardStock_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
   666  func ParseSimCardStock_FieldPathArrayItemValue(pathStr, valueStr string) (SimCardStock_FieldPathArrayItemValue, error) {
   667  	fp, err := ParseSimCardStock_FieldPath(pathStr)
   668  	if err != nil {
   669  		return nil, err
   670  	}
   671  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
   672  	if err != nil {
   673  		return nil, status.Errorf(codes.InvalidArgument, "error parsing SimCardStock field path array item value from %s: %v", valueStr, err)
   674  	}
   675  	return fpaiv.(SimCardStock_FieldPathArrayItemValue), nil
   676  }
   677  
   678  func MustParseSimCardStock_FieldPathArrayItemValue(pathStr, valueStr string) SimCardStock_FieldPathArrayItemValue {
   679  	fpaiv, err := ParseSimCardStock_FieldPathArrayItemValue(pathStr, valueStr)
   680  	if err != nil {
   681  		panic(err)
   682  	}
   683  	return fpaiv
   684  }
   685  
   686  type SimCardStock_FieldTerminalPathArrayItemValue struct {
   687  	SimCardStock_FieldTerminalPath
   688  	value interface{}
   689  }
   690  
   691  var _ SimCardStock_FieldPathArrayItemValue = (*SimCardStock_FieldTerminalPathArrayItemValue)(nil)
   692  
   693  // GetRawValue returns stored element value for array in object SimCardStock as interface{}
   694  func (fpaiv *SimCardStock_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
   695  	return fpaiv.value
   696  }
   697  
   698  func (fpaiv *SimCardStock_FieldTerminalPathArrayItemValue) GetSingle(source *SimCardStock) (interface{}, bool) {
   699  	return nil, false
   700  }
   701  
   702  func (fpaiv *SimCardStock_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
   703  	return fpaiv.GetSingle(source.(*SimCardStock))
   704  }
   705  
   706  // Contains returns a boolean indicating if value that is being held is present in given 'SimCardStock'
   707  func (fpaiv *SimCardStock_FieldTerminalPathArrayItemValue) ContainsValue(source *SimCardStock) bool {
   708  	slice := fpaiv.SimCardStock_FieldTerminalPath.Get(source)
   709  	for _, v := range slice {
   710  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
   711  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
   712  				return true
   713  			}
   714  		} else if reflect.DeepEqual(v, fpaiv.value) {
   715  			return true
   716  		}
   717  	}
   718  	return false
   719  }
   720  
   721  type SimCardStock_FieldSubPathArrayItemValue struct {
   722  	SimCardStock_FieldPath
   723  	subPathItemValue gotenobject.FieldPathArrayItemValue
   724  }
   725  
   726  // GetRawValue returns stored array item value
   727  func (fpaivs *SimCardStock_FieldSubPathArrayItemValue) GetRawItemValue() interface{} {
   728  	return fpaivs.subPathItemValue.GetRawItemValue()
   729  }
   730  func (fpaivs *SimCardStock_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) {
   731  	res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue)
   732  	return res, ok
   733  }
   734  
   735  // Contains returns a boolean indicating if value that is being held is present in given 'SimCardStock'
   736  func (fpaivs *SimCardStock_FieldSubPathArrayItemValue) ContainsValue(source *SimCardStock) bool {
   737  	switch fpaivs.Selector() {
   738  	case SimCardStock_FieldPathSelectorMetadata:
   739  		return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata())
   740  	default:
   741  		panic(fmt.Sprintf("Invalid selector for SimCardStock: %d", fpaivs.Selector()))
   742  	}
   743  }
   744  
   745  // SimCardStock_FieldPathArrayOfValues allows storing slice of values for SimCardStock fields according to their type
   746  type SimCardStock_FieldPathArrayOfValues interface {
   747  	gotenobject.FieldPathArrayOfValues
   748  	SimCardStock_FieldPath
   749  }
   750  
   751  func ParseSimCardStock_FieldPathArrayOfValues(pathStr, valuesStr string) (SimCardStock_FieldPathArrayOfValues, error) {
   752  	fp, err := ParseSimCardStock_FieldPath(pathStr)
   753  	if err != nil {
   754  		return nil, err
   755  	}
   756  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
   757  	if err != nil {
   758  		return nil, status.Errorf(codes.InvalidArgument, "error parsing SimCardStock field path array of values from %s: %v", valuesStr, err)
   759  	}
   760  	return fpaov.(SimCardStock_FieldPathArrayOfValues), nil
   761  }
   762  
   763  func MustParseSimCardStock_FieldPathArrayOfValues(pathStr, valuesStr string) SimCardStock_FieldPathArrayOfValues {
   764  	fpaov, err := ParseSimCardStock_FieldPathArrayOfValues(pathStr, valuesStr)
   765  	if err != nil {
   766  		panic(err)
   767  	}
   768  	return fpaov
   769  }
   770  
   771  type SimCardStock_FieldTerminalPathArrayOfValues struct {
   772  	SimCardStock_FieldTerminalPath
   773  	values interface{}
   774  }
   775  
   776  var _ SimCardStock_FieldPathArrayOfValues = (*SimCardStock_FieldTerminalPathArrayOfValues)(nil)
   777  
   778  func (fpaov *SimCardStock_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
   779  	switch fpaov.selector {
   780  	case SimCardStock_FieldPathSelectorName:
   781  		for _, v := range fpaov.values.([]*Name) {
   782  			values = append(values, v)
   783  		}
   784  	case SimCardStock_FieldPathSelectorMetadata:
   785  		for _, v := range fpaov.values.([]*meta.Meta) {
   786  			values = append(values, v)
   787  		}
   788  	case SimCardStock_FieldPathSelectorContract:
   789  		for _, v := range fpaov.values.([]*contract.Reference) {
   790  			values = append(values, v)
   791  		}
   792  	case SimCardStock_FieldPathSelectorState:
   793  		for _, v := range fpaov.values.([]SimCardStock_State) {
   794  			values = append(values, v)
   795  		}
   796  	case SimCardStock_FieldPathSelectorSimCard:
   797  		for _, v := range fpaov.values.([]*sim_card.Reference) {
   798  			values = append(values, v)
   799  		}
   800  	}
   801  	return
   802  }
   803  func (fpaov *SimCardStock_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) {
   804  	res, ok := fpaov.values.([]*Name)
   805  	return res, ok
   806  }
   807  func (fpaov *SimCardStock_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) {
   808  	res, ok := fpaov.values.([]*meta.Meta)
   809  	return res, ok
   810  }
   811  func (fpaov *SimCardStock_FieldTerminalPathArrayOfValues) AsContractArrayOfValues() ([]*contract.Reference, bool) {
   812  	res, ok := fpaov.values.([]*contract.Reference)
   813  	return res, ok
   814  }
   815  func (fpaov *SimCardStock_FieldTerminalPathArrayOfValues) AsStateArrayOfValues() ([]SimCardStock_State, bool) {
   816  	res, ok := fpaov.values.([]SimCardStock_State)
   817  	return res, ok
   818  }
   819  func (fpaov *SimCardStock_FieldTerminalPathArrayOfValues) AsSimCardArrayOfValues() ([]*sim_card.Reference, bool) {
   820  	res, ok := fpaov.values.([]*sim_card.Reference)
   821  	return res, ok
   822  }
   823  
   824  type SimCardStock_FieldSubPathArrayOfValues struct {
   825  	SimCardStock_FieldPath
   826  	subPathArrayOfValues gotenobject.FieldPathArrayOfValues
   827  }
   828  
   829  var _ SimCardStock_FieldPathArrayOfValues = (*SimCardStock_FieldSubPathArrayOfValues)(nil)
   830  
   831  func (fpsaov *SimCardStock_FieldSubPathArrayOfValues) GetRawValues() []interface{} {
   832  	return fpsaov.subPathArrayOfValues.GetRawValues()
   833  }
   834  func (fpsaov *SimCardStock_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) {
   835  	res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues)
   836  	return res, ok
   837  }