io.datakernel.di.core.Multibinder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of datakernel-di Show documentation
Show all versions of datakernel-di Show documentation
DataKernel has an extremely lightweight DI with ground-breaking design principles.
It supports nested scopes, singletons, object factories, modules and plugins which
allow to transform graph of dependencies at startup time without any reflection.
The newest version!
package io.datakernel.di.core;
import io.datakernel.di.impl.AbstractCompiledBinding;
import io.datakernel.di.impl.CompiledBinding;
import io.datakernel.di.util.Utils;
import java.util.*;
import java.util.concurrent.atomic.AtomicReferenceArray;
import java.util.function.BiFunction;
import java.util.function.BinaryOperator;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static io.datakernel.di.core.BindingType.TRANSIENT;
import static java.util.stream.Collectors.joining;
/**
* This is a function that is used to resolve binding conflicts.
*/
@FunctionalInterface
public interface Multibinder {
Binding multibind(Key key, BindingSet> bindings);
/**
* Default multibinder that just throws an exception if there is more than one binding per key.
*/
Multibinder © 2015 - 2025 Weber Informatics LLC | Privacy Policy