def registerAllSubtypes(self, baseType, alias=None): """ Registers all inheritors of the baseType as types by classname for this entity. @ In, baseType, object, base class type (e.g. Sampler.Sampler) @ In, alias, dict, optional, alias names to use for registration names as {"ObjectName": "AliasName"} @ Out, None """ if alias is None: alias = {} for obj in utils.getAllSubclasses(baseType): name = alias.get(obj.__name__, obj.__name__) self.registerType(name, obj)
from DataObjects.PointSet import PointSet from DataObjects.HistorySet import HistorySet ## [ Add new class here ] ################################################################################ ## Alternatively, to fully automate this file: # from DataObjects import * ################################################################################ """ Interface Dictionary (factory) (private) """ # This machinery will automatically populate the "knownTypes" given the # imports defined above. __base = 'Data' __interFaceDict = {} for classObj in utils.getAllSubclasses(eval(__base)): __interFaceDict[classObj.__name__] = classObj def knownTypes(): """ Returns a list of strings that define the types of instantiable objects for this base factory. @ In, None @ Out, knownTypes, list, the known types """ return __interFaceDict.keys() def returnInstance(Type, caller): """