config

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 6, 2017 License: MIT Imports: 14 Imported by: 6

Documentation

Overview

Package config is used to parse config Usage: import(

"github.com/astaxie/beego/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

more docs http://beego.me/docs/module/config.md

Index

Constants

View Source
const DefaultSection = "default" // default section means if some ini items not in a section, make them in default section,

Variables

This section is empty.

Functions

func ParseBool

func ParseBool(val interface{}) (value bool, err error)

ParseBool returns the boolean value represented by the string.

It accepts 1, 1.0, t, T, TRUE, true, True, YES, yes, Yes,Y, y, ON, on, On, 0, 0.0, f, F, FALSE, false, False, NO, no, No, N,n, OFF, off, Off. Any other value returns an error.

func Register

func Register(name string, adapter Config)

Register makes a config adapter available by the adapter name. If Register is called twice with the same name or if driver is nil, it panics.

Types

type Config

type Config interface {
	Parse(key string) (Configer, error)
	ParseData(data []byte) (Configer, error)
}

Config is the adapter interface for parsing config file to get raw data to Configer.

type Configer

type Configer 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
}

Configer defines how to get and set value from configuration raw data.

func NewConfig

func NewConfig(adapterName, filename string) (Configer, error)

NewConfig adapterName is ini/json/xml/yaml. filename is the config file path.

func NewConfigData

func NewConfigData(adapterName string, data []byte) (Configer, error)

NewConfigData adapterName is ini/json/xml/yaml. data is the config data.

func NewFakeConfig

func NewFakeConfig() Configer

NewFakeConfig return a fake Congiger

type IniConfig

type IniConfig struct {
}

IniConfig implements Config to parse ini file.

func (*IniConfig) Parse

func (ini *IniConfig) Parse(name string) (Configer, error)

Parse creates a new Config and parses the file configuration from the named file.

func (*IniConfig) ParseData

func (ini *IniConfig) ParseData(data []byte) (Configer, error)

ParseData parse ini the data

type IniConfigContainer

type IniConfigContainer struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

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) GetAllSections

func (c *IniConfigContainer) GetAllSections() map[string]map[string]string

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) MainKeys

func (c *IniConfigContainer) MainKeys() []string

func (*IniConfigContainer) SaveConfigFile

func (c *IniConfigContainer) SaveConfigFile(filename string) (err error)

SaveConfigFile save the config into file

func (*IniConfigContainer) SectionKeys

func (c *IniConfigContainer) SectionKeys(section string) []string

func (*IniConfigContainer) Sections

func (c *IniConfigContainer) Sections() []string

func (*IniConfigContainer) Set

func (c *IniConfigContainer) Set(key, value string) error

Set 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. Return nil if config value does not exist or is empty.

type JSONConfig

type JSONConfig struct {
}

JSONConfig is a json config parser and implements Config interface.

func (*JSONConfig) Parse

func (js *JSONConfig) Parse(filename string) (Configer, error)

Parse returns a ConfigContainer with parsed json config map.

func (*JSONConfig) ParseData

func (js *JSONConfig) ParseData(data []byte) (Configer, error)

ParseData returns a ConfigContainer with json string

type JSONConfigContainer

type JSONConfigContainer struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

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.

Directories

Path Synopsis
xml
Package xml for config provider depend on github.com/beego/x2j go install github.com/beego/x2j Usage: import( _ "github.com/henrylee2cn/lessgo/config/xml" "github.com/henrylee2cn/lessgo/config" ) cnf, err := config.NewConfig("xml", "config.xml") more docs http://beego.me/docs/module/config.md
Package xml for config provider depend on github.com/beego/x2j go install github.com/beego/x2j Usage: import( _ "github.com/henrylee2cn/lessgo/config/xml" "github.com/henrylee2cn/lessgo/config" ) cnf, err := config.NewConfig("xml", "config.xml") more docs http://beego.me/docs/module/config.md
x2j
Unmarshal dynamic / arbitrary XML docs and extract values (using wildcards, if necessary).
Unmarshal dynamic / arbitrary XML docs and extract values (using wildcards, if necessary).
Package yaml for config provider depend on github.com/beego/goyaml2 go install github.com/beego/goyaml2 Usage: import( _ "github.com/henrylee2cn/lessgo/config/yaml" "github.com/henrylee2cn/lessgo/config" ) cnf, err := config.NewConfig("yaml", "config.yaml") more docs http://beego.me/docs/module/config.md
Package yaml for config provider depend on github.com/beego/goyaml2 go install github.com/beego/goyaml2 Usage: import( _ "github.com/henrylee2cn/lessgo/config/yaml" "github.com/henrylee2cn/lessgo/config" ) cnf, err := config.NewConfig("yaml", "config.yaml") more docs http://beego.me/docs/module/config.md

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL