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

net.spals.appbuilder.annotations.service.AutoBindProvider Maven / Gradle / Ivy

package net.spals.appbuilder.annotations.service;

import java.lang.annotation.*;

import static net.spals.appbuilder.annotations.service.AutoBindProvider.ProviderScope.SINGLETON;

/**
 * Marks a service provider to be auto-bound
 * within an application.
 *
 * See https://github.com/google/guice/wiki/ProviderBindings
 *
 * @author tkral
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface AutoBindProvider {

    ProviderScope value() default SINGLETON;

    Class bindingAnnotation() default AutoBindProvider.class;

    enum ProviderScope {
        LAZY_SINGLETON,
        NONE,
        REQUEST,
        SESSION,
        SINGLETON,
        ;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy