1 package org.kuali.mobility.library.dao;
2
3 import java.util.List;
4
5 import org.kuali.mobility.library.entity.Library;
6 import org.kuali.mobility.library.entity.LibraryHourPeriod;
7 import org.kuali.mobility.library.entity.LibraryHourSet;
8
9 /**
10 * Data Access Objecr for the Library Tool
11 * @author Kuali Mobility Team (mobility.collab@kuali.org)
12 * @since 2.3.0
13 */
14 public interface LibraryDao {
15
16 /**
17 * Get all active libraries
18 * @return All the active libraries.
19 */
20 public List<Library> getLibraries();
21
22 /**
23 * Returns the libraries for a campus
24 * @param campusCode
25 * @return
26 */
27 public List<Library> getLibariesForCampus(String campusCode);
28
29 /**
30 * Returns a list of campus codes of campuses that have libraries
31 * @return
32 */
33 public List<String> getCampusWithLibraries();
34
35 /**
36 * Gets a library for the specified id
37 * @param libraryId Id of the library to retrieve.
38 * @return The library instance
39 */
40 public Library getLibrary(long libraryId);
41
42 /**
43 * Persists the state of a library
44 * @param library The library to persist.
45 * @return A updated version of the library as persisted.
46 */
47 public Library saveLibrary(Library library);
48
49 /**
50 * Saves a library hour period
51 * @param libraryHourPeriod
52 * @return
53 */
54 public LibraryHourPeriod saveLibraryHourPeriod(LibraryHourPeriod libraryHourPeriod);
55
56 /**
57 * Gets the hour sets for a library
58 * @param libraryId
59 * @return
60 */
61 public List<LibraryHourSet> getLibraryHourSets(long libraryId);
62
63 /**
64 * Saves a LibraryHourSet
65 * @param lhs
66 * @return
67 */
68 public LibraryHourSet saveLibraryHourSets(LibraryHourSet lhs);
69
70 }