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

com.github.nill14.utils.init.binding.Binder Maven / Gradle / Ivy

package com.github.nill14.utils.init.binding;

import java.lang.annotation.Annotation;

import com.github.nill14.utils.annotation.Experimental;
import com.github.nill14.utils.init.api.IScope;
import com.google.common.reflect.TypeToken;

public interface Binder {

	 AnnotatedBindingBuilder bind(TypeToken typeToken);

	 AnnotatedBindingBuilder bind(Class type);
	
	/**
	 * Binds a scope to a a scope annotation. 
	 * The scope annotation must be annotated with {@link IScope}
	 */
	void bindScope(Class annotationType, IScope scope);
	
	@Experimental
	@Deprecated
	IScope getScope(Class annotationType);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy