func (country Country) String() string {
	return string(country)
}
String implementation of Stringer interface
package currency
import (
	"database/sql/driver"
	"encoding/json"
	"fmt"
)
type Country string
func (country Country) Value() (value driver.Value, err error) {
	if country == "" {
		return "", nil
	}
	if err = country.Validate(); err != nil {
		return nil, err
	}
	return country.String(), nil
}
func (country *Country) UnmarshalJSON(data []byte) error {
	var str string
	if err := json.Unmarshal(data, &str); err != nil {
		return err
	}
	_, err := ByCountryStrErr(str)
	if err != nil {
		return err
	}
	*country = Country(str)
	return nil
}
func (country Country) Validate() error {
	if _, ok := ByCountryStr(string(country)); !ok {
		return fmt.Errorf("'%s' is not valid ISO-4217 country", country)
	}
	return nil
}
func (country Country) IsSet() bool {
	return len(string(country)) > 0
}