// Path: app/src/main/java/org/kaerdan/mvp_navigation/core/data/Article.java
// public class Article {
//     private final int id;
//     private final String title;
//     private final String body;
//     private final boolean isFavourite;
// 
//     public Article(int id, String title, String body, boolean isFavourite) {
//         this.id = id;
//         this.title = title;
//         this.body = body;
//         this.isFavourite = isFavourite;
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public String getBody() {
//         return body;
//     }
// 
//     public boolean isFavourite() {
//         return isFavourite;
//     }
// }
// 
// Path: app/src/main/java/org/kaerdan/mvp_navigation/core/ui/OnArticleClickListener.java
// public interface OnArticleClickListener {
//     void onArticleClick(int id);
// }


import java.util.List;
import org.kaerdan.mvp_navigation.core.data.Article;
import org.kaerdan.mvp_navigation.core.ui.OnArticleClickListener;
import android.support.annotation.NonNull;
package org.kaerdan.mvp_navigation.example5_retainpresenter;




public interface RetainPresenterArticleListContract {
    interface Presenter extends org.kaerdan.presenterretainer.Presenter<View> {
        void setNavigator(@NonNull Navigator navigator);

        void onFavoriteArticleClick();
    }

    interface View extends org.kaerdan.presenterretainer.Presenter.View {
        void displayArticles(@NonNull List<Article> articles, @NonNull OnArticleClickListener onArticleClickListener);
    }

    interface Navigator {
        void openArticle(int id);

// Path: app/src/main/java/org/kaerdan/mvp_navigation/core/data/Article.java
// public class Article {
//     private final int id;
//     private final String title;
//     private final String body;
//     private final boolean isFavourite;
// 
//     public Article(int id, String title, String body, boolean isFavourite) {
//         this.id = id;
//         this.title = title;
//         this.body = body;
//         this.isFavourite = isFavourite;
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public String getBody() {
//         return body;
//     }
// 
//     public boolean isFavourite() {
//         return isFavourite;
//     }
// }
// 
// Path: app/src/main/java/org/kaerdan/mvp_navigation/core/ui/OnArticleClickListener.java
// public interface OnArticleClickListener {
//     void onArticleClick(int id);
// }


// Path: app/src/main/java/org/kaerdan/mvp_navigation/example5_retainpresenter/RetainPresenterArticleListContract.java
import java.util.List;
import org.kaerdan.mvp_navigation.core.data.Article;
import org.kaerdan.mvp_navigation.core.ui.OnArticleClickListener;
import android.support.annotation.NonNull;

package org.kaerdan.mvp_navigation.example5_retainpresenter;




public interface RetainPresenterArticleListContract {
    interface Presenter extends org.kaerdan.presenterretainer.Presenter<View> {
        void setNavigator(@NonNull Navigator navigator);

        void onFavoriteArticleClick();
    }

    interface View extends org.kaerdan.presenterretainer.Presenter.View {
        void displayArticles(@NonNull List<Article> articles, @NonNull OnArticleClickListener onArticleClickListener);
    }

    interface Navigator {
        void openArticle(int id);

        void openFavoriteArticles();