Documentation ¶
Overview ¶
Usage: import(
"github.com/CloudWise-OpenSource/GoCrab/Core/config"
)
cnf, err := config.NewConfig("ini", "config.conf") cnf APIS: cnf.Set(key, val string) error cnf.String(key string) string cnf.Strings(key string) []string cnf.Int(key string) (int, error) cnf.Int64(key string) (int64, error) cnf.Bool(key string) (bool, error) cnf.Float(key string) (float64, error) cnf.DefaultString(key string, defaultval string) string cnf.DefaultStrings(key string, defaultval []string) []string cnf.DefaultInt(key string, defaultval int) int cnf.DefaultInt64(key string, defaultval int64) int64 cnf.DefaultBool(key string, defaultval bool) bool cnf.DefaultFloat(key string, defaultval float64) float64 cnf.DIY(key string) (interface{}, error) cnf.GetSection(section string) (map[string]string, error) cnf.SaveConfigFile(filename string) error
Index ¶
- Variables
- func Register(name string, adapter Config)
- type Config
- type ConfigContainer
- type IniConfig
- type IniConfigContainer
- func (c *IniConfigContainer) Bool(key string) (bool, error)
- func (c *IniConfigContainer) DIY(key string) (v interface{}, err error)
- func (c *IniConfigContainer) DefaultBool(key string, defaultval bool) bool
- func (c *IniConfigContainer) DefaultFloat(key string, defaultval float64) float64
- func (c *IniConfigContainer) DefaultInt(key string, defaultval int) int
- func (c *IniConfigContainer) DefaultInt64(key string, defaultval int64) int64
- func (c *IniConfigContainer) DefaultString(key string, defaultval string) string
- func (c *IniConfigContainer) DefaultStrings(key string, defaultval []string) []string
- func (c *IniConfigContainer) Float(key string) (float64, error)
- func (c *IniConfigContainer) GetSection(section string) (map[string]string, error)
- func (c *IniConfigContainer) Int(key string) (int, error)
- func (c *IniConfigContainer) Int64(key string) (int64, error)
- func (c *IniConfigContainer) SaveConfigFile(filename string) (err error)
- func (c *IniConfigContainer) Set(key, value string) error
- func (c *IniConfigContainer) String(key string) string
- func (c *IniConfigContainer) Strings(key string) []string
- type JsonConfig
- type JsonConfigContainer
- func (c *JsonConfigContainer) Bool(key string) (bool, error)
- func (c *JsonConfigContainer) DIY(key string) (v interface{}, err error)
- func (c *JsonConfigContainer) DefaultBool(key string, defaultval bool) bool
- func (c *JsonConfigContainer) DefaultFloat(key string, defaultval float64) float64
- func (c *JsonConfigContainer) DefaultInt(key string, defaultval int) int
- func (c *JsonConfigContainer) DefaultInt64(key string, defaultval int64) int64
- func (c *JsonConfigContainer) DefaultString(key string, defaultval string) string
- func (c *JsonConfigContainer) DefaultStrings(key string, defaultval []string) []string
- func (c *JsonConfigContainer) Float(key string) (float64, error)
- func (c *JsonConfigContainer) GetSection(section string) (map[string]string, error)
- func (c *JsonConfigContainer) Int(key string) (int, error)
- func (c *JsonConfigContainer) Int64(key string) (int64, error)
- func (c *JsonConfigContainer) SaveConfigFile(filename string) (err error)
- func (c *JsonConfigContainer) Set(key, val string) error
- func (c *JsonConfigContainer) String(key string) string
- func (c *JsonConfigContainer) Strings(key string) []string
Constants ¶
This section is empty.
Variables ¶
var (
DEFAULT_SECTION = "default" // default section means if some ini items not in a section, make them in default section,
)
Functions ¶
Types ¶
type Config ¶
type Config interface { Parse(key string) (ConfigContainer, error) ParseData(data []byte) (ConfigContainer, error) }
Config is the adapter interface for parsing config file to get raw data to ConfigContainer.
type ConfigContainer ¶
type ConfigContainer interface { Set(key, val string) error // support section::key type in given key when using ini type. String(key string) string // support section::key type in key string when using ini and json type; Int,Int64,Bool,Float,DIY are same. Strings(key string) []string //get string slice Int(key string) (int, error) Int64(key string) (int64, error) Bool(key string) (bool, error) Float(key string) (float64, error) DefaultString(key string, defaultval string) string // support section::key type in key string when using ini and json type; Int,Int64,Bool,Float,DIY are same. DefaultStrings(key string, defaultval []string) []string //get string slice DefaultInt(key string, defaultval int) int DefaultInt64(key string, defaultval int64) int64 DefaultBool(key string, defaultval bool) bool DefaultFloat(key string, defaultval float64) float64 DIY(key string) (interface{}, error) GetSection(section string) (map[string]string, error) SaveConfigFile(filename string) error }
ConfigContainer defines how to get and set value from configuration raw data.
func NewConfig ¶
func NewConfig(adapterName, fileaname string) (ConfigContainer, error)
adapterName is ini/json/xml/yaml. filename is the config file path.
func NewConfigData ¶
func NewConfigData(adapterName string, data []byte) (ConfigContainer, error)
adapterName is ini/json/xml/yaml. data is the config data.
func NewFakeConfig ¶
func NewFakeConfig() ConfigContainer
type IniConfig ¶
type IniConfig struct { }
IniConfig implements Config to parse ini file.
type IniConfigContainer ¶
A Config represents the ini configuration. When set and get value, support key as section:name type.
func (*IniConfigContainer) Bool ¶
func (c *IniConfigContainer) Bool(key string) (bool, error)
Bool returns the boolean value for a given key.
func (*IniConfigContainer) DIY ¶
func (c *IniConfigContainer) DIY(key string) (v interface{}, err error)
DIY returns the raw value by a given key.
func (*IniConfigContainer) DefaultBool ¶
func (c *IniConfigContainer) DefaultBool(key string, defaultval bool) bool
DefaultBool returns the boolean value for a given key. if err != nil return defaltval
func (*IniConfigContainer) DefaultFloat ¶
func (c *IniConfigContainer) DefaultFloat(key string, defaultval float64) float64
DefaultFloat returns the float64 value for a given key. if err != nil return defaltval
func (*IniConfigContainer) DefaultInt ¶
func (c *IniConfigContainer) DefaultInt(key string, defaultval int) int
DefaultInt returns the integer value for a given key. if err != nil return defaltval
func (*IniConfigContainer) DefaultInt64 ¶
func (c *IniConfigContainer) DefaultInt64(key string, defaultval int64) int64
DefaultInt64 returns the int64 value for a given key. if err != nil return defaltval
func (*IniConfigContainer) DefaultString ¶
func (c *IniConfigContainer) DefaultString(key string, defaultval string) string
DefaultString returns the string value for a given key. if err != nil return defaltval
func (*IniConfigContainer) DefaultStrings ¶
func (c *IniConfigContainer) DefaultStrings(key string, defaultval []string) []string
DefaultStrings returns the []string value for a given key. if err != nil return defaltval
func (*IniConfigContainer) Float ¶
func (c *IniConfigContainer) Float(key string) (float64, error)
Float returns the float value for a given key.
func (*IniConfigContainer) GetSection ¶
func (c *IniConfigContainer) GetSection(section string) (map[string]string, error)
GetSection returns map for the given section
func (*IniConfigContainer) Int ¶
func (c *IniConfigContainer) Int(key string) (int, error)
Int returns the integer value for a given key.
func (*IniConfigContainer) Int64 ¶
func (c *IniConfigContainer) Int64(key string) (int64, error)
Int64 returns the int64 value for a given key.
func (*IniConfigContainer) SaveConfigFile ¶
func (c *IniConfigContainer) SaveConfigFile(filename string) (err error)
SaveConfigFile save the config into file
func (*IniConfigContainer) Set ¶
func (c *IniConfigContainer) Set(key, value string) error
WriteValue writes a new value for key. if write to one section, the key need be "section::key". if the section is not existed, it panics.
func (*IniConfigContainer) String ¶
func (c *IniConfigContainer) String(key string) string
String returns the string value for a given key.
func (*IniConfigContainer) Strings ¶
func (c *IniConfigContainer) Strings(key string) []string
Strings returns the []string value for a given key.
type JsonConfig ¶
type JsonConfig struct { }
JsonConfig is a json config parser and implements Config interface.
func (*JsonConfig) Parse ¶
func (js *JsonConfig) Parse(filename string) (ConfigContainer, error)
Parse returns a ConfigContainer with parsed json config map.
func (*JsonConfig) ParseData ¶
func (js *JsonConfig) ParseData(data []byte) (ConfigContainer, error)
ParseData returns a ConfigContainer with json string
type JsonConfigContainer ¶
A Config represents the json configuration. Only when get value, support key as section:name type.
func (*JsonConfigContainer) Bool ¶
func (c *JsonConfigContainer) Bool(key string) (bool, error)
Bool returns the boolean value for a given key.
func (*JsonConfigContainer) DIY ¶
func (c *JsonConfigContainer) DIY(key string) (v interface{}, err error)
DIY returns the raw value by a given key.
func (*JsonConfigContainer) DefaultBool ¶
func (c *JsonConfigContainer) DefaultBool(key string, defaultval bool) bool
DefaultBool return the bool value if has no error otherwise return the defaultval
func (*JsonConfigContainer) DefaultFloat ¶
func (c *JsonConfigContainer) DefaultFloat(key string, defaultval float64) float64
DefaultFloat returns the float64 value for a given key. if err != nil return defaltval
func (*JsonConfigContainer) DefaultInt ¶
func (c *JsonConfigContainer) DefaultInt(key string, defaultval int) int
DefaultInt returns the integer value for a given key. if err != nil return defaltval
func (*JsonConfigContainer) DefaultInt64 ¶
func (c *JsonConfigContainer) DefaultInt64(key string, defaultval int64) int64
DefaultInt64 returns the int64 value for a given key. if err != nil return defaltval
func (*JsonConfigContainer) DefaultString ¶
func (c *JsonConfigContainer) DefaultString(key string, defaultval string) string
DefaultString returns the string value for a given key. if err != nil return defaltval
func (*JsonConfigContainer) DefaultStrings ¶
func (c *JsonConfigContainer) DefaultStrings(key string, defaultval []string) []string
DefaultStrings returns the []string value for a given key. if err != nil return defaltval
func (*JsonConfigContainer) Float ¶
func (c *JsonConfigContainer) Float(key string) (float64, error)
Float returns the float value for a given key.
func (*JsonConfigContainer) GetSection ¶
func (c *JsonConfigContainer) GetSection(section string) (map[string]string, error)
GetSection returns map for the given section
func (*JsonConfigContainer) Int ¶
func (c *JsonConfigContainer) Int(key string) (int, error)
Int returns the integer value for a given key.
func (*JsonConfigContainer) Int64 ¶
func (c *JsonConfigContainer) Int64(key string) (int64, error)
Int64 returns the int64 value for a given key.
func (*JsonConfigContainer) SaveConfigFile ¶
func (c *JsonConfigContainer) SaveConfigFile(filename string) (err error)
SaveConfigFile save the config into file
func (*JsonConfigContainer) Set ¶
func (c *JsonConfigContainer) Set(key, val string) error
Set writes a new value for key.
func (*JsonConfigContainer) String ¶
func (c *JsonConfigContainer) String(key string) string
String returns the string value for a given key.
func (*JsonConfigContainer) Strings ¶
func (c *JsonConfigContainer) Strings(key string) []string
Strings returns the []string value for a given key.