package org.qinshuihepan.bbs.model; import android.database.Cursor; import org.qinshuihepan.bbs.dao.ImagesDataHelper; import java.util.ArrayList; import java.util.HashMap; /** * Created by liurongchan on 14-4-25. */ public class Image { private static final HashMap<String, Image> CACHE = new HashMap<String, Image>(); public String url; public int pid; public Image(String url, int pid) { this.url = url; this.pid = pid; } private static void addToCache(Image image) { CACHE.put(image.url, image); } private static Image getFromCache(String url) { return CACHE.get(url); } public static Image fromCursor(Cursor cursor) { String url = cursor.getString(cursor.getColumnIndex(ImagesDataHelper.ImagesDBInfo.URL)); Image image = getFromCache(url); if (image != null) { return image; } int pid = cursor.getInt(cursor.getColumnIndex(ImagesDataHelper.ImagesDBInfo.PID)); image = new Image(url, pid); addToCache(image); return image; } public static ArrayList<Image> listfromCursor(Cursor cursor) { ArrayList<Image> images = new ArrayList<Image>(); if (cursor.getCount() == 0) { return images; } for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { int pid = cursor.getInt(cursor.getColumnIndex(ImagesDataHelper.ImagesDBInfo.PID)); String url = cursor.getString(cursor.getColumnIndex(ImagesDataHelper.ImagesDBInfo.URL)); images.add(new Image(url, pid)); } return images; } }