-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfiguration_manager.go
76 lines (59 loc) · 2.21 KB
/
configuration_manager.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package manyfaced
import "github.com/nienie/manyfaced/configuration"
var (
configManager *configurationManager
)
func init() {
configManager = newConfigurationManager()
propertyFactory = newDynamicPropertyFactory()
propertyFactory.initWithConfigurationSource(configManager.getCompositeConfiguration())
}
type configurationManager struct {
configContainer *configuration.CompositeConfiguration
}
func newConfigurationManager() *configurationManager {
return &configurationManager{
configContainer: configuration.NewCompositeConfiguration(),
}
}
func (c *configurationManager) addNamedConfiguration(config configuration.Configuration, name string) {
c.configContainer.AddNamedConfiguration(config, name)
}
func (c *configurationManager) removeNamedConfiguration(name string) configuration.Configuration {
return c.configContainer.RemoveConfigurationByName(name)
}
func (c *configurationManager) getNamedConfiguration(name string) configuration.Configuration {
return c.configContainer.GetConfigurationByName(name)
}
func (c *configurationManager) addConfiguration(config configuration.Configuration) {
c.configContainer.AddConfiguration(config)
}
func (c *configurationManager) getConfigurations() []configuration.Configuration {
return c.configContainer.GetConfigurations()
}
func (c *configurationManager) removeConfiguration(config configuration.Configuration) {
c.configContainer.RemoveConfiguration(config)
}
func (c *configurationManager) getCompositeConfiguration() configuration.Configuration {
return c.configContainer
}
//AddNamedConfiguration ...
func AddNamedConfiguration(config configuration.Configuration, name string) {
configManager.addNamedConfiguration(config, name)
}
//RemoveNamedConfiguration ...
func RemoveNamedConfiguration(name string) configuration.Configuration {
return configManager.removeNamedConfiguration(name)
}
//AddConfiguration ....
func AddConfiguration(config configuration.Configuration) {
configManager.addConfiguration(config)
}
//RemoveConfiguration ...
func RemoveConfiguration(config configuration.Configuration) {
configManager.removeConfiguration(config)
}
//GetConfigurations ...
func GetConfigurations() []configuration.Configuration {
return configManager.getConfigurations()
}