aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDAO.java
blob: 4a35f8633e7f5ac15465b49ee20b3a65d6dadc93 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dao;

import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException;
import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException;
import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration;
import java.util.Set;

public interface RegistrationDAO {

    /**
     * Persist the given registration.
     *
     * @param vehicleId the id of the target vehicle
     * @param registrations that should be stored
     * @return a list of the ids that were assigned
     * @throws PersistenceException if the registration could not be persisted
     */
    Set<Long> add(long vehicleId, Set<Registration> registrations) throws PersistenceException;

    /**
     * Make registration with the given id inactive.
     *
     * @param id of the registration that should be made inactive
     * @throws ElementNotFoundException if no registration with the given id exists
     * @throws PersistenceException if the registration could not be made inactive
     */
    void remove(long id) throws ElementNotFoundException, PersistenceException;
}