539 def __init__(cls, name, bases, dct):
540 """Class constructor.
541
542 Keyword Parameters:
543
544 cls -- This is a pointer to the class being constructed
545
546 name -- The name that the class will have
547
548 bases -- These are the classes, objects of the new generated type will
549 inherit from. It is useful in our context, to express the OKS
550 inheritance relations between the classes.
551
552 dct -- This is a dictionary that will contain mappings between
553 methods/attributes of the newly generated class and values or methods
554 that will be bound to it. The dictionary should contain a pointer to
555 the class schema, and that should be called '__schema__'.
556 """
557
558 alltypes = [name]
559 for b in bases:
560 if hasattr(b, 'pyoksTypes'):
561 for t in b.pyoksTypes():
562 if t not in alltypes:
563 alltypes.append(t)
564
565 super(DalType, cls).__init__(name, bases, dct)
566 cls.__okstypes__ = alltypes
567