package org.molgenis.data.mapper.repository;
import org.molgenis.data.Entity;
import org.molgenis.data.Query;
import org.molgenis.data.mapper.mapping.model.MappingProject;
import java.util.List;
public interface MappingProjectRepository
{
/**
* Adds a {@link MappingProject} to the {@link MappingProjectRepository}
*
* @param mappingProject
*/
void add(MappingProject mappingProject);
/**
* Update an existing {@link MappingProject}
*
* @param mappingProject
*/
void update(MappingProject mappingProject);
/**
* Get a {@link MappingProject} object based on the project identifier
*
* @param identifier
* @return
*/
MappingProject getMappingProject(String identifier);
/**
* Get a list of all {@link MappingProject}
*
* @return
*/
List<MappingProject> getAllMappingProjects();
/**
* Get a list of {@link MappingProject} based on a query
*
* @param q
* @return
*/
List<MappingProject> getMappingProjects(Query<Entity> q);
/**
* Delete a mapping project.
*
* @param mappingProjectId id of the {@link MappingProject} to delete
*/
void delete(String mappingProjectId);
}