View Javadoc
1   /******************************************************************************
2    * ContactsDao.java - Dao interface for the contacts.  Store info about how a contact was built.
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.Date;
11  import java.util.HashMap;
12  
13  import com.buckosoft.PicMan.domain.Chain;
14  import com.buckosoft.PicMan.domain.Contact;
15  
16  /** Dao interface for the {@link com.buckosoft.PicMan.domain.Contact}s
17   * @author Dick Balaska
18   * @since 2005/08/07
19   */
20  public interface ContactsDao {
21  
22  	/** Add this <code>Contact</code> to the database.
23  	 * @param contact
24  	 */
25  	void		addContact(Contact contact);
26  	
27  	/** Fetch a Contact from the database
28  	 * @param cid The Chain Id of the Chain to query
29  	 * @param uuid The uuid of the contact i.e. G-100-02
30  	 * @return The contact found, or null
31  	 */
32  	Contact		getContact(int cid, String uuid);
33  
34  	/** Fetch a Contact from the database.  This is used like to edit filters in an existing contact.
35  	 * @param cid The Chain Id of the Chain to query
36  	 * @param setName The name of the Set
37  	 * @param size The thumbnail size
38  	 * @param index which contact number in this series  
39  	 * @return The contact found, or null
40  	 */
41  	Contact		getContact(int cid, String setName, int size, int index);
42  	
43  	/** Fetch the newest contact we made
44  	 * @return The contact that was the last one made.
45  	 */
46  	Contact		getNewestContact();
47  	
48  	/** Return a map of the oldest contacts in this chain. <br>
49  	 * Each set/size is a key "PG-100".  The value is the date of the oldest contact in that set/size. <br>
50  	 * This is useful when processed against filter dates to determine which contacts need to be remade.
51  	 * @param chain The Chain to process
52  	 * @return The map of oldest contacts.
53  	 */
54  	HashMap<String, Date>	getContactOldestMap(Chain chain);
55  }