2023-12-08 17:05:48 +01:00
|
|
|
package eu.eudat.service.lock;
|
|
|
|
|
2024-03-21 08:46:18 +01:00
|
|
|
import eu.eudat.commons.enums.LockTargetType;
|
2023-12-08 17:05:48 +01:00
|
|
|
import eu.eudat.model.Lock;
|
2024-03-21 08:46:18 +01:00
|
|
|
import eu.eudat.model.LockStatus;
|
2023-12-08 17:05:48 +01:00
|
|
|
import eu.eudat.model.persist.LockPersist;
|
|
|
|
import gr.cite.tools.exception.MyApplicationException;
|
|
|
|
import gr.cite.tools.exception.MyForbiddenException;
|
|
|
|
import gr.cite.tools.exception.MyNotFoundException;
|
|
|
|
import gr.cite.tools.exception.MyValidationException;
|
|
|
|
import gr.cite.tools.fieldset.FieldSet;
|
|
|
|
|
|
|
|
import javax.management.InvalidApplicationException;
|
|
|
|
import java.util.UUID;
|
|
|
|
|
|
|
|
public interface LockService {
|
|
|
|
|
|
|
|
Lock persist(LockPersist model, FieldSet fields) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, InvalidApplicationException;
|
|
|
|
|
2024-03-21 08:46:18 +01:00
|
|
|
LockStatus isLocked(UUID target, FieldSet fields) throws InvalidApplicationException;
|
|
|
|
|
|
|
|
void lock(UUID target, LockTargetType targetType) throws InvalidApplicationException;
|
|
|
|
|
|
|
|
void touch(UUID target) throws InvalidApplicationException;
|
2023-12-08 17:05:48 +01:00
|
|
|
|
2023-12-11 17:47:35 +01:00
|
|
|
void unlock(UUID target) throws InvalidApplicationException;
|
2023-12-08 17:05:48 +01:00
|
|
|
|
2024-03-22 14:18:51 +01:00
|
|
|
void deleteAndSave(UUID id, UUID target) throws MyForbiddenException, InvalidApplicationException;
|
2023-12-08 17:05:48 +01:00
|
|
|
}
|