com.google.inject.multibindings.MultibindingsTargetVisitor Maven / Gradle / Ivy
package com.google.inject.multibindings;
import com.google.inject.spi.BindingTargetVisitor;
/**
* A visitor for the multibinder extension.
*
* If your {@link BindingTargetVisitor} implements this interface, bindings created by using
* {@link Multibinder}, {@link MapBinder} or {@link OptionalBinderBinding} will be visited through
* this interface.
*/
public interface MultibindingsTargetVisitor extends BindingTargetVisitor {
/**
* Visits a binding created through {@link Multibinder}.
*/
V visit(MultibinderBinding extends T> multibinding);
/**
* Visits a binding created through {@link MapBinder}.
*/
V visit(MapBinderBinding extends T> mapbinding);
/**
* Visits a binding created through {@link OptionalBinder}.
*/
V visit(OptionalBinderBinding extends T> optionalbinding);
}