Source code for orbit.utils.ParamsDictObject

import os

from .orbitFinalize import orbitFinalize
from .NamedObject import NamedObject
from .TypedObject import TypedObject


[docs]class ParamsDictObject: """ Class. Object that has a parameters dictionary. """
[docs] def __init__(self): """ Constructor. Object that has a parameters dictionary. """ self.__paramsDict = {}
def addParam(self, key, value): """ Method. Adds a parameter to the object. """ self.__paramsDict[key] = value def removeParam(self, key): """ Method. Removes a parameter. """ if key in self.__paramsDict: del self.__paramsDict[key] def setParam(self, key, value): """ Method. Sets a parameter to the object. """ self.__paramsDict[key] = value def setParamsDict(self, params): """ Method. Sets an external dictionary as a parameter dictionary for this element. """ self.__paramsDict = params def updateParamsDict(self, params): """ Method. Updates the dictionary with external dictionary data. """ self.__paramsDict.update(params) def getParam(self, key): """ Method. Returns requested parameters of the object. """ if not self.hasParam(key): msg = "The object does not have a parameter for the key you requested!" msg = msg + os.linesep msg = msg + "method getParam(self, key)" msg = msg + os.linesep if isinstance(self, NamedObject) == True: msg = msg + "Name of element = " + self.getName() msg = msg + os.linesep if isinstance(self, TypedObject) == True: msg = msg + "Type of element = " + self.getType() msg = msg + os.linesep msg = msg + "key = " + str(key) orbitFinalize(msg) return self.__paramsDict[key] def getParamsDict(self): """ Method. Returns the whole parameters dictionary. """ return self.__paramsDict def hasParam(self, key): """ Method. Returns True if the object has a parameter for this key. Returns False otherwise. """ return key in self.__paramsDict def keys(self): """return the list of the keys for the parameters""" return self.__paramsDict.keys()