Helping out ssg.
This commit is contained in:
parent
ebe778fbaf
commit
4dcab43b6a
@ -13,6 +13,10 @@ dependencies {
|
||||
implementation libs.slf4j.api, libs.groovy
|
||||
}
|
||||
|
||||
java {
|
||||
withSourcesJar()
|
||||
}
|
||||
|
||||
jar {
|
||||
archiveBaseName = 'groowt-util-di'
|
||||
}
|
||||
|
@ -27,6 +27,10 @@ public final class BindingUtil {
|
||||
return bc -> {};
|
||||
}
|
||||
|
||||
public static <T> KeyHolder<NamedRegistryExtension, String, T> named(String name, Class<T> type) {
|
||||
return new SimpleKeyHolder<>(NamedRegistryExtension.class, type, name);
|
||||
}
|
||||
|
||||
private BindingUtil() {}
|
||||
|
||||
}
|
||||
|
@ -1,9 +1,3 @@
|
||||
package groowt.util.di;
|
||||
|
||||
public interface NamedRegistryExtension extends RegistryExtension, KeyBinder<String>, QualifierHandlerContainer {
|
||||
|
||||
static <T> KeyHolder<NamedRegistryExtension, String, T> named(String name, Class<T> type) {
|
||||
return new SimpleKeyHolder<>(NamedRegistryExtension.class, type, name);
|
||||
}
|
||||
|
||||
}
|
||||
public interface NamedRegistryExtension extends RegistryExtension, KeyBinder<String>, QualifierHandlerContainer {}
|
||||
|
@ -2,8 +2,6 @@ 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;
|
||||
@ -20,10 +18,22 @@ import java.util.function.Consumer;
|
||||
public interface RegistryObjectFactory extends ObjectFactory {
|
||||
|
||||
interface Builder<T extends RegistryObjectFactory> {
|
||||
|
||||
void configureRegistry(Consumer<? super Registry> configure);
|
||||
|
||||
default void configureRegistry(@DelegatesTo(Registry.class) Closure<?> configureClosure) {
|
||||
this.configureRegistry(registry -> {
|
||||
configureClosure.setDelegate(registry);
|
||||
configureClosure.call();
|
||||
});
|
||||
}
|
||||
|
||||
void addFilterHandler(FilterHandler<?, ?> handler);
|
||||
|
||||
void addIterableFilterHandler(IterableFilterHandler<?, ?> handler);
|
||||
|
||||
T build();
|
||||
|
||||
}
|
||||
|
||||
Registry getRegistry();
|
||||
@ -33,13 +43,12 @@ public interface RegistryObjectFactory extends ObjectFactory {
|
||||
}
|
||||
|
||||
default void configureRegistry(
|
||||
@DelegatesTo(Registry.class)
|
||||
@ClosureParams(value = FromString.class, options = "groowt.util.di.Registry")
|
||||
@DelegatesTo(value = Registry.class)
|
||||
Closure<?> configureClosure
|
||||
) {
|
||||
final Registry registry = this.getRegistry();
|
||||
configureClosure.setDelegate(registry);
|
||||
configureClosure.call(registry);
|
||||
configureClosure.call();
|
||||
}
|
||||
|
||||
<A extends Annotation> @Nullable ScopeHandler<A> findScopeHandler(Class<A> scopeType);
|
||||
|
@ -5,7 +5,6 @@ import jakarta.inject.Named;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static groowt.util.di.BindingUtil.*;
|
||||
import static groowt.util.di.NamedRegistryExtension.named;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class DefaultRegistryObjectFactoryTests {
|
||||
|
Loading…
Reference in New Issue
Block a user