Skip to main content
Skip to main content

ConfigurationManager

ConfigurationManager

Description

This class handles all configuration types

Parent

AbstractManager

Functions

configurationKeyIterator

Description

Definition

configurationKeyIterator()

Code

function ConfigurationManager:configurationKeyIterator()
local currentIndex = 0
local numElements = # self.intToConfigurationName

return function ()
if currentIndex > = numElements then
return nil
end

currentIndex = currentIndex + 1

local name = self.intToConfigurationName[currentIndex]

local configurationsKey, configurationKey = self:getConfigurationKeys(name)
return configurationsKey, configurationKey .. "(?)"
end
end

getConfigurationAttribute

Description

Returns configuration attribute by given name and attribute

Definition

getConfigurationAttribute(string configurationName, string attribute)

Arguments

stringconfigurationNamename of config
stringattributename of attribute

Return Values

stringvaluevalue of attribute

Code

function ConfigurationManager:getConfigurationAttribute(configurationName, attribute)
local config = self:getConfigurationDescByName(configurationName)
return config[attribute]
end

getConfigurationDescByName

Description

Returns configuration desc by name

Definition

getConfigurationDescByName(string name)

Arguments

stringnamename of config

Return Values

stringconfigurationconfiguration

Code

function ConfigurationManager:getConfigurationDescByName(name)
return self.configurations[name]
end

getConfigurationIndexByName

Description

Returns configuration index by given name

Definition

getConfigurationIndexByName(string name)

Arguments

stringnamename of config

Return Values

stringindexindex of config

Code

function ConfigurationManager:getConfigurationIndexByName(name)
return self.configurationNameToInt[name]
end

getConfigurationKeys

Description

Returns the xml keys for a given configuration name

Definition

getConfigurationKeys(string configurationsKey, string configurationKey)

Arguments

stringconfigurationsKeyPath to the main configuration element
stringconfigurationKeyPath to the individual configuration element

Code

function ConfigurationManager:getConfigurationKeys(configurationName)
local config = self:getConfigurationDescByName(configurationName)
if config ~ = nil then
return config.configurationsKey, config.configurationKey
end

return nil , nil
end

getConfigurationNameByIndex

Description

Returns configuration name by given index

Definition

getConfigurationNameByIndex(integer index)

Arguments

integerindexindex of config

Return Values

integernamename of config

Code

function ConfigurationManager:getConfigurationNameByIndex(index)
return self.intToConfigurationName[index]
end

getConfigurations

Description

Returns table with all available configurations

Definition

getConfigurations()

Return Values

integerconfigurationsconfigurations

Code

function ConfigurationManager:getConfigurations()
return self.configurations
end

getConfigurationSelectorType

Description

Returns the selector type for a given configuration name

Definition

getConfigurationSelectorType(string configurationName)

Arguments

stringconfigurationNamename of config

Return Values

stringselectorTypeSelector type

Code

function ConfigurationManager:getConfigurationSelectorType(configurationName)
local config = self:getConfigurationDescByName(configurationName)
if config ~ = nil then
return config.itemClass.SELECTOR
end

return ConfigurationUtil.SELECTOR_MULTIOPTION
end

getConfigurationTypes

Description

Returns a table of the available configuration types

Definition

getConfigurationTypes()

Return Values

stringListof configuration types (names)

Code

function ConfigurationManager:getConfigurationTypes()
return self.intToConfigurationName
end

getNumOfConfigurationTypes

Description

Returns number of configuration types

Definition

getNumOfConfigurationTypes()

Return Values

stringnumOfConfigurationTypesnumber of configuration types

Code

function ConfigurationManager:getNumOfConfigurationTypes()
return # self.intToConfigurationName
end

getSortedConfigurationTypes

Description

Returns a table of the available configuration types sorted by priority

Definition

getSortedConfigurationTypes()

Return Values

stringListof configuration types (names)

Code

function ConfigurationManager:getSortedConfigurationTypes()
return self.sortedConfigurationNames
end

initDataStructures

Description

Initialize data structures

Definition

initDataStructures()

Code

function ConfigurationManager:initDataStructures()
self.configurations = { }
self.intToConfigurationName = { }
self.configurationNameToInt = { }
self.sortedConfigurationNames = { }
end

new

Description

Creating manager

Definition

new()

Arguments

anytypeName
anyrootElementName
anycustomMt

Return Values

anyinstanceinstance of object

Code

function ConfigurationManager.new(typeName, rootElementName, customMt)
local self = AbstractManager.new(customMt or ConfigurationManager _mt)

self.typeName = typeName
self.rootElementName = rootElementName
self:initDataStructures()

return self
end