// Path: napkin/src/main/java/com/github/aleksandermielczarek/napkin/ComponentProvider.java
// public interface ComponentProvider<T> {
// 
//     T provideComponent();
// }
// 
// Path: app/src/main/java/com/github/aleksandermielczarek/napkinexample/component/AppComponent.java
// @Component(modules = AppModule.class)
// @AppScope
// public interface AppComponent {
// 
//     ActivityComponent with(ActivityModule activityModule);
// }
// 
// Path: app/src/main/java/com/github/aleksandermielczarek/napkinexample/module/AppModule.java
// @Module
// @AppScope
// public class AppModule extends NapkinAppModule {
// 
//     public AppModule(Application application) {
//         super(application);
//     }
// 
//     @Provides
//     @AppString
//     String provideNapkinString() {
//         return "Hello Napkin in App!";
//     }
// 
// }


import android.app.Application;
import com.github.aleksandermielczarek.napkin.ComponentProvider;
import com.github.aleksandermielczarek.napkinexample.component.AppComponent;
import com.github.aleksandermielczarek.napkinexample.component.DaggerAppComponent;
import com.github.aleksandermielczarek.napkinexample.module.AppModule;
package com.github.aleksandermielczarek.napkinexample;



/**
 * Created by Aleksander Mielczarek on 13.05.2016.
 */
public class NapkinApplication extends Application implements ComponentProvider<AppComponent> {

    private AppComponent appComponent;

    @Override
    public void onCreate() {
        super.onCreate();
        appComponent = DaggerAppComponent.builder()
// Path: napkin/src/main/java/com/github/aleksandermielczarek/napkin/ComponentProvider.java
// public interface ComponentProvider<T> {
// 
//     T provideComponent();
// }
// 
// Path: app/src/main/java/com/github/aleksandermielczarek/napkinexample/component/AppComponent.java
// @Component(modules = AppModule.class)
// @AppScope
// public interface AppComponent {
// 
//     ActivityComponent with(ActivityModule activityModule);
// }
// 
// Path: app/src/main/java/com/github/aleksandermielczarek/napkinexample/module/AppModule.java
// @Module
// @AppScope
// public class AppModule extends NapkinAppModule {
// 
//     public AppModule(Application application) {
//         super(application);
//     }
// 
//     @Provides
//     @AppString
//     String provideNapkinString() {
//         return "Hello Napkin in App!";
//     }
// 
// }


// Path: app/src/main/java/com/github/aleksandermielczarek/napkinexample/NapkinApplication.java
import android.app.Application;
import com.github.aleksandermielczarek.napkin.ComponentProvider;
import com.github.aleksandermielczarek.napkinexample.component.AppComponent;
import com.github.aleksandermielczarek.napkinexample.component.DaggerAppComponent;
import com.github.aleksandermielczarek.napkinexample.module.AppModule;

package com.github.aleksandermielczarek.napkinexample;



/**
 * Created by Aleksander Mielczarek on 13.05.2016.
 */
public class NapkinApplication extends Application implements ComponentProvider<AppComponent> {

    private AppComponent appComponent;

    @Override
    public void onCreate() {
        super.onCreate();
        appComponent = DaggerAppComponent.builder()
                .appModule(new AppModule(this))