"""
$RCSfile: GeneratorRegistry.py,v $

GeneratorRegistry for result objects

Author: Philipp von Weitershausen <philikon@philikon.de>

$Id: GeneratorRegistry.py,v 1.2 2003/04/29 09:22:08 philikon Exp $
"""

from interfaces import IGeneratorRegistry

class GeneratorRegistry:
    """
    Registry for output generators
    """

    __implements__ = IGeneratorRegistry

    def __init__(self):
        self._reg = {}

    def register(self, meta_type, obj):
        self._reg[meta_type] = obj

    def getGenerator(self, meta_type):
        return self._reg.get(meta_type, None)

    def getDefaultGenerator(self):
        return self._reg.get('DTML Method', None)

    def supportedMetaTypes(self):
        return tuple(self._reg.keys())

GeneratorRegistry = GeneratorRegistry()

# load default generators
# they register themselves
import Generators
