[docs]class ScopeCache(object):
def __init__(self, name: str):
"""
:param name: human-readable name
:param scoped_components: components managed by this scope
"""
self.name = name
[docs] def handles_component(self, component: type) -> bool:
raise NotImplementedError
[docs] def is_stored(self, component: type) -> bool:
raise NotImplementedError
[docs] def get(self, component: type) -> object:
raise NotImplementedError
[docs] def store(self, component: type, instance: object):
raise NotImplementedError
[docs]class ComponentNotHandledByScopeException(Exception):
pass
[docs]class UninstantiatedObjectException(Exception):
pass