DataHandler updated
[staff/due1/sed-hs15-srs-purple.git] / src / main / java / ch / bfh / ti / srs / datahandler / DataHandler.java
index 6fc44bd..5172caa 100644 (file)
@@ -7,8 +7,8 @@
  */
 package ch.bfh.ti.srs.datahandler;
 
-import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 import java.util.UUID;
 
 import ch.bfh.ti.daterange.DateRange;
@@ -35,15 +35,17 @@ public interface DataHandler {
         * Adds a user to the Datacontext from a given User object
         * @param user
         *            User object
-        * @throws Exception
+        * @return returns a boolean whether the user was made or not
+        * @throws Exception if some property of the specified element
+     *         prevents it from being added the Datacontext
         */
-       public void addUser(User user) throws Exception;
+       public boolean 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
+        *            resource name of the resource you are looking for
         * @return <code>Resource</code>resource object <code>null</code>if no
         *         resource found with this recourceName
         */
@@ -53,9 +55,11 @@ public interface DataHandler {
         * Adds a resource to the Datacontext from a given Recource object
         * @param resource
         *            Resource object
-        * @throws Exception
+        * @return returns a boolean whether the resource was made or not
+        * @throws Exception if some property of the specified element
+     *         prevents it from being added the Datacontext
         */
-       public void addResource(Resource resource) throws Exception;
+       public boolean addResource(Resource resource) throws Exception;
 
        /**
         * Finds the reservation by the id param in the Datacontext and returns the
@@ -72,7 +76,7 @@ public interface DataHandler {
         * 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
+        * @return <code>List</code> with the reservation objects
         */
        public List<Reservation> findGroupReservations(UUID groupId);
 
@@ -81,7 +85,7 @@ public interface DataHandler {
         * 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
+        * @return <code>List</code> with the reservation objects
         */
        public List<Reservation> overlaps(DateRange range);
 
@@ -89,13 +93,13 @@ public interface DataHandler {
         * 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
+        * @return <code>List</code> with the reservation objects
         */
        public List<Reservation> userReservations(User user);
 
        /**
         * Finds all reservations
-        * @return <code>ArrayList</code> with the all reservation
+        * @return <code>List</code> with the all reservation
         *         objects
         */
        public List<Reservation> findAllReservations();
@@ -104,7 +108,32 @@ public interface DataHandler {
         * Adds a reservation to the Datacontext from a given Reservation object
         * @param reservation
         *            Reservation object
-        * @throws Exception
+        *            
+        * @return a boolean whether the reservation was made or not
+        * @throws Exception if some property of the specified element
+     *         prevents it from being added the Datacontext
         */
-       public void addReservation(Reservation reservation) throws Exception;
+       public boolean addReservation(Reservation reservation) throws Exception;
+       
+       /**
+        * Saves the current changes on the local data to the datastorage
+        */
+       public void saveChanges();
+       
+       /**
+        * Synchronizes the local data with the datastorage
+        * 
+        * @param discardChanges
+        *                      <code>true</code> do not try to save the changes
+        *                      <code>false</code> try to save the changes
+        * @throws Exception no implementation for <code>true</code> in this DataHandler possible
+        */
+       public void refresh(boolean discardChanges) throws Exception;
+
+
+       public boolean editReservation(Reservation reservation);
+
+       public boolean deleteReservation(Reservation reservation);
+
+       public Set<Resource> getAllResources();
 }