Working on fp and di.
This commit is contained in:
parent
11312c2807
commit
ebe778fbaf
@ -8,6 +8,7 @@ plugins {
|
||||
|
||||
dependencies {
|
||||
api libs.jakarta.inject
|
||||
api libs.groovy
|
||||
compileOnlyApi libs.jetbrains.anotations
|
||||
implementation libs.slf4j.api, libs.groovy
|
||||
}
|
||||
|
@ -75,8 +75,8 @@ public abstract class AbstractRegistryObjectFactory extends AbstractInjectingObj
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configureRegistry(Consumer<? super Registry> use) {
|
||||
use.accept(this.registry);
|
||||
public Registry getRegistry() {
|
||||
return this.registry;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -6,6 +6,7 @@ import java.util.function.Consumer;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public interface Registry extends ExtensionContainer, QualifierHandlerContainer, ScopeHandlerContainer {
|
||||
|
||||
<T> void bind(Class<T> key, Consumer<? super BindingConfigurator<T>> configure);
|
||||
@Nullable <T> Binding<T> getBinding(Class<T> key);
|
||||
void removeBinding(Class<?> key);
|
||||
|
@ -1,5 +1,9 @@
|
||||
package groowt.util.di;
|
||||
|
||||
import groovy.lang.Closure;
|
||||
import groovy.lang.DelegatesTo;
|
||||
import groovy.transform.stc.ClosureParams;
|
||||
import groovy.transform.stc.FromString;
|
||||
import groowt.util.di.filters.FilterHandler;
|
||||
import groowt.util.di.filters.IterableFilterHandler;
|
||||
import jakarta.inject.Provider;
|
||||
@ -22,7 +26,21 @@ public interface RegistryObjectFactory extends ObjectFactory {
|
||||
T build();
|
||||
}
|
||||
|
||||
void configureRegistry(Consumer<? super Registry> use);
|
||||
Registry getRegistry();
|
||||
|
||||
default void configureRegistry(Consumer<? super Registry> use) {
|
||||
use.accept(this.getRegistry());
|
||||
}
|
||||
|
||||
default void configureRegistry(
|
||||
@DelegatesTo(Registry.class)
|
||||
@ClosureParams(value = FromString.class, options = "groowt.util.di.Registry")
|
||||
Closure<?> configureClosure
|
||||
) {
|
||||
final Registry registry = this.getRegistry();
|
||||
configureClosure.setDelegate(registry);
|
||||
configureClosure.call(registry);
|
||||
}
|
||||
|
||||
<A extends Annotation> @Nullable ScopeHandler<A> findScopeHandler(Class<A> scopeType);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user