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 extends Annotation> annotationType, IScope scope);
@Experimental
@Deprecated
IScope getScope(Class extends Annotation> annotationType);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy