// Path: src/main/java/com/google/inject/internal/DynamicSingletonProvider.java
// @Singleton
// public class DynamicSingletonProvider extends DynamicClassProvider {
// 
//     @Inject
//     public DynamicSingletonProvider(final Injector injector) {
//         super(injector);
//     }
// 
//     @Override
//     protected Class<? extends Annotation> getScopeAnnotation() {
//         return Singleton.class;
//     }
// }
// 
// Path: src/test/java/ru/vyarus/guice/ext/generator/support/ProvidedInterfaceBean.java
// @ScopeAnnotation(Singleton.class)
// @ProvidedBy(DynamicClassProvider.class)
// public interface ProvidedInterfaceBean {
// 
//     @CustomAop
//     String hello();
// 
//     String badMethod();
// }


import com.google.inject.ProvidedBy;
import com.google.inject.internal.DynamicSingletonProvider;
import ru.vyarus.guice.ext.generator.support.ProvidedInterfaceBean;
import javax.inject.Inject;
import javax.inject.Provider;
package ru.vyarus.guice.ext.generator.support.ctor;



/**
 * @author Vyacheslav Rusakov
 * @since 05.01.2015
 */
@ProvidedBy(DynamicSingletonProvider.class)
public abstract class GenerifiedConstructorBean {

// Path: src/main/java/com/google/inject/internal/DynamicSingletonProvider.java
// @Singleton
// public class DynamicSingletonProvider extends DynamicClassProvider {
// 
//     @Inject
//     public DynamicSingletonProvider(final Injector injector) {
//         super(injector);
//     }
// 
//     @Override
//     protected Class<? extends Annotation> getScopeAnnotation() {
//         return Singleton.class;
//     }
// }
// 
// Path: src/test/java/ru/vyarus/guice/ext/generator/support/ProvidedInterfaceBean.java
// @ScopeAnnotation(Singleton.class)
// @ProvidedBy(DynamicClassProvider.class)
// public interface ProvidedInterfaceBean {
// 
//     @CustomAop
//     String hello();
// 
//     String badMethod();
// }


// Path: src/test/java/ru/vyarus/guice/ext/generator/support/ctor/GenerifiedConstructorBean.java
import com.google.inject.ProvidedBy;
import com.google.inject.internal.DynamicSingletonProvider;
import ru.vyarus.guice.ext.generator.support.ProvidedInterfaceBean;
import javax.inject.Inject;
import javax.inject.Provider;

package ru.vyarus.guice.ext.generator.support.ctor;



/**
 * @author Vyacheslav Rusakov
 * @since 05.01.2015
 */
@ProvidedBy(DynamicSingletonProvider.class)
public abstract class GenerifiedConstructorBean {

    Provider<ProvidedInterfaceBean> beanProvider;