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

com.google.inject.multibindings.ProvidesIntoSet Maven / Gradle / Ivy

package com.google.inject.multibindings;

import com.google.inject.Module;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * Annotates methods of a {@link Module} to add items to a {@link Multibinder}.
 * The method's return type and binding annotation determines what Set this will
 * contribute to. For example,
 *
 * 
 * {@literal @}ProvidesIntoSet
 * {@literal @}Named("urls")
 * String provideFooUrl(FooManager fm) { returm fm.getUrl(); }
 *
 * {@literal @}ProvidesIntoSet
 * {@literal @}Named("urls")
 * String provideBarUrl(BarManager bm) { return bm.getUrl(); }
 * 
* * will add two items to the {@code @Named("urls") Set} set. The items are bound as * providers and will be evaluated at injection time. */ @Documented @Target(METHOD) @Retention(RUNTIME) public @interface ProvidesIntoSet { }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy