GBSModelRegistry.py

Go to the documentation of this file.
00001 from GBSLogger import Log, logger 
00002 
00003 class GBSModelRegistry :
00004     """A registry for holding GBSModels"""
00005 
00006     def __init__(self):
00007         self.__registry = {}
00008 
00009     def AddModel(self,model) :
00010         Log(self,logger.SYNOPSIS,"Registering a GBSModel named '" + str(model.GetName()) + "'")
00011         self.__registry[model.GetName()] = model
00012 
00013     def GetModel(self,model) :
00014         if not  self.__registry.has_key(model):
00015             print "Cannot find model " + str(model) + " in GBSModelRegistry"
00016             raise NameError
00017         return self.__registry[model]
00018 
00019     def GetRegistry(self): return self.__registry
00020 
00021     def CreateObject(self,model,role,object_name,parent) :
00022         Log(self,logger.DEBUG,"GBSModelRegistry: Locating model '" + str(model) + "'")
00023         m = self.GetModel(model)
00024         Log(self,logger.DEBUG,"GBSModelRegistry: Model located, now creating object for role '" + str(role) + "'")
00025         return m.CreateObject(role,object_name,parent)
00026         
00027 
00028 #  Singleton object with getter.
00029 
00030 __modelRegistry = GBSModelRegistry()
00031 
00032 def GetModelRegistry(): return __modelRegistry

Generated on Fri Mar 5 09:25:41 2010 for gbs by  doxygen 1.4.7