github.com/oam-dev/kubevela@v1.9.11/pkg/definition/gen_sdk/openapi-generator/templates/go/nullable_model.mustache (about)

     1  type Nullable{{{classname}}} struct {
     2  	value {{^isArray}}{{^isFreeFormObject}}*{{/isFreeFormObject}}{{/isArray}}{{{classname}}}
     3  	isSet bool
     4  }
     5  
     6  func (v *Nullable{{classname}}) Get() {{^isArray}}{{^isFreeFormObject}}*{{/isFreeFormObject}}{{/isArray}}{{classname}} {
     7  	return v.value
     8  }
     9  
    10  func (v *Nullable{{classname}}) Set(val {{^isArray}}{{^isFreeFormObject}}*{{/isFreeFormObject}}{{/isArray}}{{classname}}) {
    11  	v.value = val
    12  	v.isSet = true
    13  }
    14  
    15  func (v *Nullable{{classname}}) IsSet() bool {
    16  	return v.isSet
    17  }
    18  
    19  func (v *Nullable{{classname}}) Unset() {
    20  	v.value = nil
    21  	v.isSet = false
    22  }
    23  
    24  func NewNullable{{classname}}(val {{^isArray}}{{^isFreeFormObject}}*{{/isFreeFormObject}}{{/isArray}}{{classname}}) *Nullable{{classname}} {
    25  	return &Nullable{{classname}}{value: val, isSet: true}
    26  }
    27  
    28  func (v Nullable{{{classname}}}) MarshalJSON() ([]byte, error) {
    29  	return json.Marshal(v.value)
    30  }
    31  
    32  func (v *Nullable{{{classname}}}) UnmarshalJSON(src []byte) error {
    33  	v.isSet = true
    34  	return json.Unmarshal(src, &v.value)
    35  }