Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
EntityDao |
|
| 1.0;1 |
1 | package org.kuali.student.enrollment.lpr.dao; | |
2 | ||
3 | import java.io.Serializable; | |
4 | import java.util.List; | |
5 | ||
6 | /** | |
7 | * Interface, that describes default methods of Dao objects for entity. | |
8 | * | |
9 | * @author ihar | |
10 | */ | |
11 | public interface EntityDao<T> { | |
12 | ||
13 | /** | |
14 | * Find object by primary key. | |
15 | * | |
16 | * @param primaryKey Primary key | |
17 | * @return Entity for given key | |
18 | */ | |
19 | T find(Serializable primaryKey); | |
20 | ||
21 | /** | |
22 | * Find objects of specified class by primary keys. | |
23 | * | |
24 | * @param primaryKeys - list of Primary keys | |
25 | * @return Entity for given key | |
26 | */ | |
27 | public List<T> findByIds(List<? extends Serializable> primaryKeys); | |
28 | ||
29 | /** | |
30 | * Load all entities of this type. | |
31 | * | |
32 | * @return List of entities | |
33 | */ | |
34 | List<T> findAll(); | |
35 | ||
36 | /** | |
37 | * Persist unsaved object. | |
38 | * | |
39 | * @param entity Entity to save | |
40 | */ | |
41 | void persist(T entity); | |
42 | ||
43 | /** | |
44 | * Update detached object. | |
45 | * | |
46 | * @param entity Entity to update | |
47 | */ | |
48 | void update(T entity); | |
49 | ||
50 | ||
51 | /** | |
52 | * Merge detached object. | |
53 | * | |
54 | * @param entity Entity to save | |
55 | * @param <T> the Entity type | |
56 | * @return Merged entity. | |
57 | */ | |
58 | <T> T merge(T entity); | |
59 | ||
60 | /** | |
61 | * Remove entity from the persistent store. | |
62 | * | |
63 | * @param entity Entity to remove | |
64 | */ | |
65 | void remove(T entity); | |
66 | } |