DataHandler angepasst
[staff/due1/sed-hs15-srs-purple.git] / src / main / java / ch / bfh / ti / srs / datahandler / DataHandler.java
index 9c488b3..6fc44bd 100644 (file)
-/*\r
- * Copyright (c) 2015 Berner Fachhochschule, Switzerland.\r
- *\r
- * Project Smart Reservation System.\r
- *\r
- * Distributable under GPL license. See terms of license at gnu.org.\r
- */\r
-package ch.bfh.ti.srs.datahandler;\r
-\r
-import ch.bfh.ti.srs.core.User;\r
-\r
-/**\r
- * @author Michael Grossen\r
- */\r
-public interface DataHandler {\r
-       \r
-       /**\r
-        * Finds the user by userName param in the Datacontext and returns the User object or null if not found\r
-        * \r
-        * @param userName      userName of the user you are looking for\r
-        * @return                      <code>User</code>user object\r
-        *                                      <code>null</code>if no user found with this userName\r
-        */\r
-       public User findUser(String userName);\r
-       \r
-       /**\r
-        * Adds a user to the Datacontext from a given user object\r
-        * \r
-        * @param user                  User object\r
-        * @throws Exception\r
-        */\r
-       public void addUser(User user) throws Exception;\r
-}\r
+/*
+ * Copyright (c) 2015 Berner Fachhochschule, Switzerland.
+ *
+ * Project Smart Reservation System.
+ *
+ * Distributable under GPL license. See terms of license at gnu.org.
+ */
+package ch.bfh.ti.srs.datahandler;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.UUID;
+
+import ch.bfh.ti.daterange.DateRange;
+import ch.bfh.ti.srs.dataschema.Reservation;
+import ch.bfh.ti.srs.dataschema.Resource;
+import ch.bfh.ti.srs.dataschema.User;
+
+/**
+ * @author Michael Grossen
+ */
+public interface DataHandler {
+
+       /**
+        * Finds the user by userName param in the Datacontext and returns the User
+        * object or null if not found
+        * @param userName
+        *            userName of the user you are looking for
+        * @return <code>User</code>user object <code>null</code>if no user found
+        *         with this userName
+        */
+       public User findUser(String userName);
+
+       /**
+        * Adds a user to the Datacontext from a given User object
+        * @param user
+        *            User object
+        * @throws Exception
+        */
+       public void addUser(User user) throws Exception;
+
+       /**
+        * Finds the resourceName in the Datacontext and returns the Resource object
+        * or null if not found
+        * @param resourceName
+        *            resource name of the recource you are looking for
+        * @return <code>Resource</code>resource object <code>null</code>if no
+        *         resource found with this recourceName
+        */
+       public Resource findResource(String resourceName);
+
+       /**
+        * Adds a resource to the Datacontext from a given Recource object
+        * @param resource
+        *            Resource object
+        * @throws Exception
+        */
+       public void addResource(Resource resource) throws Exception;
+
+       /**
+        * Finds the reservation by the id param in the Datacontext and returns the
+        * Reservation object or null if not found
+        * @param id
+        *            id of the Reservation you are looking for
+        * @return <code>Reservation</code>reservation object <code>null</code>if no
+        *         reservation found with this ID
+        */
+       public Reservation findReservation(UUID id);
+
+       /**
+        * Finds a group of reservations by their GroupId param in the Datacontext
+        * and returns the Reservation object or null if not found
+        * @param groupId
+        *            id of the Group Reservations you are looking for
+        * @return <code>ArrayList</code> with the reservation objects
+        */
+       public List<Reservation> findGroupReservations(UUID groupId);
+
+       /**
+        * Finds reservations that overlaps with the given DateRange and returns the
+        * Reservation objects or null if not found
+        * @param range
+        *            the range you want to get overlapping reservations for
+        * @return <code>ArrayList</code> with the reservation objects
+        */
+       public List<Reservation> overlaps(DateRange range);
+
+       /**
+        * Finds all reservations for the specific User
+        * @param user
+        *            the user you want to get all the reservations for
+        * @return <code>ArrayList</code> with the reservation objects
+        */
+       public List<Reservation> userReservations(User user);
+
+       /**
+        * Finds all reservations
+        * @return <code>ArrayList</code> with the all reservation
+        *         objects
+        */
+       public List<Reservation> findAllReservations();
+
+       /**
+        * Adds a reservation to the Datacontext from a given Reservation object
+        * @param reservation
+        *            Reservation object
+        * @throws Exception
+        */
+       public void addReservation(Reservation reservation) throws Exception;
+}