[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