config

package
v0.0.0-...-d032931 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2018 License: GPL-3.0 Imports: 14 Imported by: 0

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

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

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.

func (*IniConfig) ParseData

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

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

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

Jump to

Keyboard shortcuts

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