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 }