package com.wangdaye.mysplash.collection.model.widget; import android.support.annotation.IntDef; import com.wangdaye.mysplash.common.data.service.PhotoService; import com.wangdaye.mysplash.common.i.model.PhotosModel; import com.wangdaye.mysplash.common.ui.adapter.PhotoAdapter; import java.util.List; /** * Photos object. * */ public class PhotosObject implements PhotosModel { private PhotoAdapter adapter; private PhotoService service; private Object key; @TypeRule private int photosType; private int photosPage; private boolean refreshing; private boolean loading; private boolean over; public static final int PHOTOS_TYPE_NORMAL = 0; public static final int PHOTOS_TYPE_CURATED = 1; @IntDef({PHOTOS_TYPE_NORMAL, PHOTOS_TYPE_CURATED}) private @interface TypeRule {} public PhotosObject(PhotoAdapter adapter, Object key, @TypeRule int photosType) { this.adapter = adapter; this.service = PhotoService.getService(); this.key = key; this.photosType = photosType; this.photosPage = 0; this.refreshing = false; this.loading = false; this.over = false; } @Override public PhotoAdapter getAdapter() { return adapter; } @Override public PhotoService getService() { return service; } // control HTTP request parameters. @Override public Object getRequestKey() { return key; } @Override public void setRequestKey(Object key) { this.key = key; } @Override @TypeRule public int getPhotosType() { return photosType; } @Override public String getPhotosOrder() { return null; } @Override public void setPhotosOrder(String order) { // do nothing. } @Override public boolean isRandomType() { return false; } @Override public int getPhotosPage() { return photosPage; } @Override public void setPhotosPage(int page) { photosPage = page; } @Override public List<Integer> getPageList() { return null; } @Override public void setPageList(List<Integer> list) { // do nothing. } // control load state. @Override public boolean isRefreshing() { return refreshing; } @Override public void setRefreshing(boolean refreshing) { this.refreshing = refreshing; } @Override public boolean isLoading() { return loading; } @Override public void setLoading(boolean loading) { this.loading = loading; } @Override public boolean isOver() { return over; } @Override public void setOver(boolean over) { this.over = over; } }