package com.netflix.governator.spi;
import com.google.inject.Binder;
import com.google.inject.Key;
import java.lang.annotation.Annotation;
/**
* @see ScanningModuleBuidler
*/
public interface AnnotatedClassScanner {
/**
* @return Annotation class handled by this scanner
*/
Class<? extends Annotation> annotationClass();
/**
* Apply the found class on the provided binder. This can result in 0 or more bindings being
* created
*
* @param binder The binder on which to create new bindings
* @param annotation The found annotation
* @param key Key for the found class
*/
<T> void applyTo(Binder binder, Annotation annotation, Key<T> key);
}