Skip to content

Commit

Permalink
- register itself to container
Browse files Browse the repository at this point in the history
  • Loading branch information
jwdeveloper committed Jun 5, 2024
1 parent 18a8da9 commit 9a927ee
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public class DependanceContainerBuilder extends ContainerBuilderImpl<DependanceC

private final DecoratorBuilder decoratorBuilder;
private final JarScannerOptions options;
private List<JarScanner> additionalScanners = new ArrayList<>();
private final List<JarScanner> additionalScanners = new ArrayList<>();
private boolean scanEnabled;

@Getter
Expand Down Expand Up @@ -109,10 +109,12 @@ public DependanceContainer build() {
}
var scanner = new InjectionsScanner(this, options, jarScanner);
var toInitialize = scanner.scanAndRegister();

registerSingleton(DependanceContainer.class, DepenDanceContainerImpl::new);
var container = super.build();
for (var clazz : toInitialize) {
container.find(clazz);
}
return new DepenDanceContainerImpl(container);
return (DependanceContainer) container.find(DependanceContainer.class);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import io.github.jwdeveloper.dependance.injector.api.containers.Container;
import io.github.jwdeveloper.dependance.injector.api.containers.Registrable;
import io.github.jwdeveloper.dependance.injector.api.enums.LifeTime;
import io.github.jwdeveloper.dependance.injector.api.enums.RegistrationType;
import io.github.jwdeveloper.dependance.injector.api.events.EventHandler;
import io.github.jwdeveloper.dependance.injector.api.events.events.OnInjectionEvent;
import io.github.jwdeveloper.dependance.injector.api.events.events.OnRegistrationEvent;
Expand Down Expand Up @@ -37,7 +39,10 @@ public DefaultContainer(
this.logger = logger;
this.injectionInfoFactory = injectionInfoFactory;
this.injections = new HashMap<>();

register(new RegistrationInfo(Container.class, this.getClass(), container ->
{
return this;
}, LifeTime.SINGLETON, RegistrationType.InterfaceAndProvider));
for (var registration : registrationInfos) {
register(registration);
}
Expand Down

0 comments on commit 9a927ee

Please sign in to comment.