GBSModel.py

Go to the documentation of this file.
00001 from GBSLogger import Log, logger 
00002 
00003 class GBSModel :
00004     """Mapping from a model to a set of classes that impliment it
00005 
00006     Note: Would be good if the mapped classes could describe themselves
00007 
00008 
00009     """
00010 
00011     def __init__(self,name,title,description):
00012         self.__name          = name
00013         self.__title         = title
00014         self.__description   = description
00015         self.__class_map     = {}
00016         self.__ctor_list_map = {}
00017         Log(self,logger.SYNOPSIS,"Creating a GBSModel named '" + str(name) + "'")
00018 
00019     def GetName(self): return self.__name
00020     def GetDescription(self): return self.__description
00021     def GetTitle(self): return self.__title
00022     
00023     def AddMapping(self,role,class_obj,ctor_list) :
00024         self.__class_map[role]     = class_obj
00025         self.__ctor_list_map[role] = ctor_list
00026         Log(self,logger.DEBUG,"GBSModel: In model: '" + self.GetName() + "' adding " + str(class_obj) + " in role '" + str(role) + "'")
00027 
00028     def CreateObject(self,role,object_name,parent) :
00029         if not  self.__class_map.has_key(role):
00030             print "Cannot find role " + str(role) + " in model " + str(self.__name)
00031             raise NameError
00032         return self.__class_map[role](object_name,parent,self.__name,self.__ctor_list_map[role])
00033 
00034 

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