Coverage Report - com.buckosoft.PicMan.db.PicsDao
 
Classes in this File Line Coverage Branch Coverage Complexity
PicsDao
N/A
N/A
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. = != &lt; &gt;
 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  
 }