package edu.asu.spring.quadriga.service.workbench; import java.util.List; import edu.asu.spring.quadriga.domain.IUser; import edu.asu.spring.quadriga.domain.dictionary.IDictionary; import edu.asu.spring.quadriga.domain.workbench.IProject; import edu.asu.spring.quadriga.domain.workbench.IProjectDictionary; import edu.asu.spring.quadriga.exceptions.QuadrigaStorageException; public interface IProjectDictionaryManager { /** * This class helps in adding dictionary to the project * @param projectId {@link IProject} ID of type {@link String} * @param dictionaryId {@link IDictionary} ID of type {@link String} * @param userId {@link IUser} ID of type {@link String} * @throws QuadrigaStorageException Throws Storage exception when there is a issue with access to DB */ public void addDictionaryToProject(String projectId, String dictionaryId, String userId)throws QuadrigaStorageException; /** * This class helps in getting {@link List} the {@link IProjectDictionary} from {@link IProject} and {@link IUser} Id * @param projectId {@link IProject} ID of type {@link String} * @param userId {@link IUser} ID of type {@link String} * @return Returns the of {@link List} of {@link IDictionary} * @throws QuadrigaStorageException Throws Storage exception when there is a issue with access to DB */ public List<IProjectDictionary> listProjectDictionary(String projectId)throws QuadrigaStorageException; /** * This class helps in deleting the {@link IDictionary} of a {@link IProject} using {@link IProject} ID, {@link IDictionary} ID and {@link IUser} Id * @param projectId {@link IProject} ID of type {@link String} * @param userId {@link IUser} ID of type {@link String} * @param dictioanaryId {@link IDictionary} ID of type {@link String} * @throws QuadrigaStorageException Throws Storage exception when there is a issue with access to DB */ public void deleteProjectDictionary(String projectId, String userId, String dictioanaryId) throws QuadrigaStorageException; }