/** * The contents of this file are subject to the license and copyright * detailed in the LICENSE and NOTICE files at the root of the source * tree and available online at * * http://www.dspace.org/license/ */ package org.dspace.importer.external.metadatamapping.contributor; import org.dspace.importer.external.metadatamapping.MetadataFieldMapping; import org.dspace.importer.external.metadatamapping.MetadatumDTO; import java.util.Collection; /** * @author Roeland Dillen (roeland at atmire dot com) */ public interface MetadataContributor<RecordType> { /** * Set the metadataFieldMapping * @param rt the MetadataFieldMapping object to set to the MetadataContributor */ public void setMetadataFieldMapping(MetadataFieldMapping<RecordType, MetadataContributor<RecordType>> rt); /** * Implementations have the responsibility to process/map their own type of metadata based on a given record * and return a collection of the generalised MetadatumDTO objects * @param t The recordType object to retrieve metadata from * @return A collection of MetadatumDTO objects, retrieve from the recordtype */ public Collection<MetadatumDTO> contributeMetadata(RecordType t); }