Source code for jivago.inject.annoted_class_binder

from jivago.config.abstract_binder import AbstractBinder
from jivago.inject.service_locator import ServiceLocator
from jivago.lang.annotations import Override
from jivago.lang.registry import Registry, Annotation


[docs] class AnnotatedClassBinder(AbstractBinder): def __init__(self, root_package: str, registry: Registry, annotation: Annotation): self.annotation = annotation self.rootPackage = root_package self.registry = registry
[docs] @Override def bind(self, service_locator: ServiceLocator): for registration in self.registry.get_annotated_in_package(self.annotation, self.rootPackage): component = registration.registered service_locator.bind(component, component)