blob: ec52589f8751e32a8f6453089799983e2bb2f208 [file] [log] [blame]
class Factory(object):
containers = {}
def __new__(klass, c_type, env={}):
if Factory.containers.has_key(c_type):
return Factory.containers[c_type](env)
else:
raise TypeError("Unknown container type: {0}".format(c_type))
@staticmethod
def register(klass):
Factory.containers[klass.container_type()] = klass