| Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
| PicsDao |
|
| 1.0;1 |
| 1 | /****************************************************************************** | |
| 2 | * PicsDao.java - Dao interface for the pics | |
| 3 | * | |
| 4 | * PicMan - The BuckoSoft Picture Manager in Java | |
| 5 | * Copyright(c) 2005 - Dick Balaska | |
| 6 | * | |
| 7 | */ | |
| 8 | package com.buckosoft.PicMan.db; | |
| 9 | ||
| 10 | import java.util.Calendar; | |
| 11 | import java.util.Date; | |
| 12 | import java.util.HashMap; | |
| 13 | import java.util.List; | |
| 14 | ||
| 15 | import com.buckosoft.PicMan.domain.Pic; | |
| 16 | ||
| 17 | /** Dao interface for the {@link com.buckosoft.PicMan.domain.Pic}s. | |
| 18 | * @author Dick Balaska | |
| 19 | * @since 2005/07/31 | |
| 20 | * @see <a href="http://cvs.buckosoft.com/Projects/java/PicMan/PicMan/src/com/buckosoft/PicMan/db/PicsDao.java">PicsDao.java</a> | |
| 21 | */ | |
| 22 | public interface PicsDao { | |
| 23 | ||
| 24 | /** Get a List of all of the <code>Pic</code>s in the database. | |
| 25 | * @return A pretty big List | |
| 26 | */ | |
| 27 | List<Pic> getPics(); | |
| 28 | ||
| 29 | /** Get a List of names all of the pics in the database. | |
| 30 | * @return A big List of picNames | |
| 31 | */ | |
| 32 | List<String> getPicNames(); | |
| 33 | ||
| 34 | /** Get a List of all of the <code>Pic</code>s in the database that match this name. Wildcards are supported. | |
| 35 | * @param name The name (or partial name) of the pics to fetch. | |
| 36 | * @return A List of <code>Pic</code>s. | |
| 37 | */ | |
| 38 | List<Pic> getPics(String name); | |
| 39 | ||
| 40 | /** Get a List of Pics from this List of picNames. | |
| 41 | * @param list A List of picNames to fetch | |
| 42 | * @return The List | |
| 43 | */ | |
| 44 | List<Pic> getPics(List<String> list); | |
| 45 | ||
| 46 | /** Get a list of Pics that are in this subdirectory | |
| 47 | * @param rid Root id to search under | |
| 48 | * @param dirName The directory, i.e. "2002/20021225" | |
| 49 | * @return A List of Pic. The dirname will match any and all <code>Root</code>s | |
| 50 | */ | |
| 51 | List<Pic> getPicsInDir(int rid, String dirName); | |
| 52 | ||
| 53 | /** Get a list of Pics that are newer than this date | |
| 54 | * @param calendar The date to compare to | |
| 55 | * @return A List of <code>Pic</code>s. | |
| 56 | */ | |
| 57 | List<Pic> getPicsNewerThan(Calendar calendar); | |
| 58 | ||
| 59 | /** Return a list of Pics that have this md5Sum | |
| 60 | * @param md5sum | |
| 61 | * @return The list, may be empty | |
| 62 | */ | |
| 63 | List<Pic> getPicsByMD5Sum(long md5sum); | |
| 64 | ||
| 65 | /** Get a list of pic names that pass this date function. | |
| 66 | * @param operator An index into the MetaSet rateOps table. i.e. = != < > | |
| 67 | * @param operand the date to check. i.e. "2009-07-26" | |
| 68 | * @return A List of pic names | |
| 69 | */ | |
| 70 | List<String> getPicNamesByDateFunc(String operator, String operand); | |
| 71 | ||
| 72 | List<String> getPicNamesByRootFunc(String operator, int rid); | |
| 73 | ||
| 74 | /** Get a HashMap of all of the Pic names in the database. | |
| 75 | * @return The map | |
| 76 | */ | |
| 77 | HashMap<String, Date> getPicsMap(); | |
| 78 | ||
| 79 | /** Add this <code>Pic</code> to the database. | |
| 80 | * @param pic The Pic to add. pid is assumed to be 0. | |
| 81 | */ | |
| 82 | void addPic(Pic pic); | |
| 83 | ||
| 84 | /** Update this <code>Pic</code> in the database. | |
| 85 | * Pic is assumed to exist and pid must not be 0. | |
| 86 | * @param pic The Pic to update. | |
| 87 | */ | |
| 88 | void updatePic(Pic pic); | |
| 89 | ||
| 90 | /** Get a Pic | |
| 91 | * @param pid The pid to query | |
| 92 | * @return The Pic | |
| 93 | */ | |
| 94 | Pic getPic(int pid); | |
| 95 | ||
| 96 | /** Get a Pic who's name matches this picName. | |
| 97 | * @param picName The name of the <code>Pic</code> to query. | |
| 98 | * @return The Pic that matches this picName or <code>null</code>. | |
| 99 | */ | |
| 100 | Pic getPic(String picName); | |
| 101 | ||
| 102 | /** Get the newest pic in the database. | |
| 103 | * @return The Pic with the newest Timestamp | |
| 104 | */ | |
| 105 | Pic getNewestPic(); | |
| 106 | ||
| 107 | /** Return a random pic from the database | |
| 108 | * @return Any pic from the database | |
| 109 | */ | |
| 110 | Pic getRandomPic(); | |
| 111 | ||
| 112 | /** Return a random pic from the database that lives in this root | |
| 113 | * @return Any pic from the database | |
| 114 | */ | |
| 115 | Pic getRandomPic(int rid); | |
| 116 | ||
| 117 | /** Determine the highest numbered thumb cache subdirectory used. | |
| 118 | * @return the highest number, or 0 if no thumbs are cached. | |
| 119 | */ | |
| 120 | int getMaxThumbCacheDirUsed(); | |
| 121 | ||
| 122 | /** Determine how many thumb cache entries are in this thumb dir | |
| 123 | * @param cacheDir Which thumb cache directory to check | |
| 124 | * @return The Count | |
| 125 | */ | |
| 126 | int getThumbCacheFillCount(int cacheDir); | |
| 127 | ||
| 128 | /** Return how many pics live in this root. | |
| 129 | * @param rid The root id to query. | |
| 130 | * @return The number of Pics in this root. | |
| 131 | */ | |
| 132 | int getPicCount(int rid); | |
| 133 | } |