config

package
v0.0.0-...-861d2e8 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2016 License: BSD-2-Clause Imports: 12 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DEFAULT_SECTION = "default" // default section means if some ini items not in a section, make them in default section,

)

Functions

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) (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)
	DIY(key string) (interface{}, 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 NewFakeConfig

func NewFakeConfig() ConfigContainer

type IniConfig

type IniConfig struct {
}

IniConfig implements Config to parse ini file.

func (*IniConfig) Parse

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

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

type IniConfigContainer

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

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

func (c *IniConfigContainer) Float(key string) (float64, error)

Float returns the float value for a given key.

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

type JsonConfigContainer

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

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

func (c *JsonConfigContainer) Float(key string) (float64, error)

Float returns the float value for a given key.

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

func (c *JsonConfigContainer) Set(key, val string) error

WriteValue 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.

Jump to

Keyboard shortcuts

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