All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.datakernel.di.util.MarkedBinding Maven / Gradle / Ivy

Go to download

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.util;

import io.datakernel.di.core.Binding;
import io.datakernel.di.core.BindingType;

import static io.datakernel.di.core.BindingType.EAGER;
import static io.datakernel.di.core.BindingType.TRANSIENT;

/**
 * A container that groups together a bindings and its type, only for internal use
 */
public final class MarkedBinding {
	private final Binding binding;
	private final BindingType type;

	public MarkedBinding(Binding binding, BindingType type) {
		this.binding = binding;
		this.type = type;
	}

	public Binding getBinding() {
		return binding;
	}

	public BindingType getType() {
		return type;
	}

	@Override
	public String toString() {
		return (type == TRANSIENT ? "*" : type == EAGER ? "!" : "") + binding.toString();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy