~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/registry.py

  • Committer: John Arbash Meinel
  • Date: 2006-09-09 17:03:55 UTC
  • mto: This revision was merged to the branch mainline in revision 2074.
  • Revision ID: john@arbash-meinel.com-20060909170355-487019ff329aea61
first_is_default was not a good design

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
class Registry(object):
21
21
    """A class that registers objects to a name."""
22
22
 
23
 
    def __init__(self, first_is_default=False):
24
 
        """Create a new Registry.
25
 
 
26
 
        :param first_is_default: If True, then the first key to be registered
27
 
            will be set as the default key for get() to use.
28
 
        """
29
 
        self._first_is_default = first_is_default
 
23
    def __init__(self):
 
24
        """Create a new Registry."""
30
25
        self._default_key = None
31
26
        # Map from key => (is_lazy, info)
32
27
        self._dict = {}
37
32
        :param key: This is the key to use to request the object later.
38
33
        :param object: The object to register.
39
34
        """
40
 
        if self._first_is_default and not self._dict:
41
 
            self._default_key = key
42
35
        self._dict[key] = (False, object)
43
36
 
44
37
    __setitem__ = register
50
43
        :param member_name: The member of the module to return, if empty or 
51
44
                None get() will return the module itself.
52
45
        """
53
 
        if self._first_is_default and not self._dict:
54
 
            self._default_key = key
55
46
        self._dict[key] = (True, (module_name, member_name))
56
47
 
57
48
    def get(self, key=None):