package com.artemzin.qualitymatters.models;
import android.support.annotation.NonNull;
import com.artemzin.qualitymatters.api.QualityMattersRestApi;
import com.artemzin.qualitymatters.api.entities.Item;
import java.util.List;
import rx.Single;
/**
* Model is not an entity. It's a container for business logic code. M(VC), M(VP), M(VVM).
* <p>
* Why create Model classes? Such classes hide complex logic required to fetch/cache/process/etc data.
* So Presentation layer won't know the details of implementation and each class will do only one job (SOLID).
*/
public class ItemsModel {
@NonNull
private final QualityMattersRestApi qualityMattersRestApi;
public ItemsModel(@NonNull QualityMattersRestApi qualityMattersRestApi) {
this.qualityMattersRestApi = qualityMattersRestApi;
}
@NonNull
public Single<List<Item>> getItems() {
return qualityMattersRestApi.items();
}
}