View Javadoc
1   package org.itracker.persistence.dao;
2   
3   import org.itracker.model.Project;
4   
5   import java.util.Date;
6   import java.util.List;
7   
8   /**
9    *
10   */
11  public interface ProjectDAO extends BaseDAO<Project> {
12  
13      /**
14       * Finds a project by ID.
15       *
16       * @param projectId sytem ID
17       * @return project instance or <tt>null</tt>
18       */
19      Project findByPrimaryKey(Integer projectId);
20  
21      /**
22       * Finds all projects.
23       *
24       * @return list of all existing projects, in unspecified order
25       */
26      List<Project> findAll();
27  
28      /**
29       * Finds all projects with a given status.
30       *
31       * @param status project status
32       * @return list of projects in unspecified order
33       */
34      List<Project> findByStatus(int status);
35  
36      /**
37       * Finds all projects that are active or viewable.
38       *
39       * @return list of projects in unspecified order
40       */
41      List<Project> findAllAvailable();
42  
43      /**
44       * Returns the projects with id projectId latest modified issues modification date
45       */
46      public Date getLastIssueUpdateDate(Integer projectId);
47  
48      /**
49       * Finds a project by name.
50       *
51       * @param name project
52       * @return the project by name or null if it does not exist in database.
53       */
54      Project findByName(String name);
55  }