package org.molgenis.data.mapper.repository; import org.molgenis.data.Entity; import org.molgenis.data.mapper.mapping.model.AttributeMapping; import org.molgenis.data.mapper.mapping.model.EntityMapping; import org.molgenis.data.mapper.mapping.model.MappingTarget; import org.molgenis.data.mapper.meta.MappingTargetMetaData; import java.util.Collection; import java.util.List; public interface MappingTargetRepository { /** * Inserts or updates a list of {@link MappingTarget}s and their {@link EntityMapping}s and {@link AttributeMapping} * s. Will generate IDs if they are not yet specified. * * @return a {@link List} of {@link Entity}s that have been added or updated */ List<Entity> upsert(Collection<MappingTarget> collection); /** * Creates a list of fully reconstructed {@link MappingTarget}s. * * @param mappingTargetEntities List of {@link Entity}s with {@link MappingTargetMetaData} metadata * @return a {@link List} of {@link MappingTarget}s. */ List<MappingTarget> toMappingTargets(List<Entity> mappingTargetEntities); }