Class AbstractMetadataFieldMapping<RecordType>

java.lang.Object
org.dspace.importer.external.metadatamapping.AbstractMetadataFieldMapping<RecordType>
All Implemented Interfaces:
MetadataFieldMapping<RecordType,MetadataContributor<RecordType>>
Direct Known Subclasses:
AbstractPlainMetadataSource, ADSFieldMapping, ArXivFieldMapping, CiniiFieldMapping, CrossRefFieldMapping, DataCiteFieldMapping, DataCiteProjectFieldMapping, EpoFieldMapping, OpenAIREPublicationFieldMapping, OpenAlexFunderFieldMapping, OpenAlexInstitutionFieldMapping, OpenAlexJournalFieldMapping, OpenAlexPersonFieldMapping, OpenAlexPublicationFieldMapping, OpenAlexPublisherFieldMapping, PubmedEuropeFieldMapping, PubmedFieldMapping, RorFieldMapping, ScieloFieldMapping, ScopusFieldMapping, VuFindFieldMapping, WOSFieldMapping

public abstract class AbstractMetadataFieldMapping<RecordType> extends Object implements MetadataFieldMapping<RecordType,MetadataContributor<RecordType>>
Abstract class that implements MetadataFieldMapping. This class adds a default implementation for the MetadataFieldMapping methods.
Author:
Roeland Dillen (roeland at atmire dot com)
  • Constructor Details

    • AbstractMetadataFieldMapping

      public AbstractMetadataFieldMapping()
  • Method Details

    • setMetadataProcessorMap

      public void setMetadataProcessorMap(Map<MetadataFieldConfig,MetadataProcessorService> metadataProcessorMap)
      Set a map of metadataprocessors. This map is used to process metadata to make it more compliant for certain metadata fields
      Parameters:
      metadataProcessorMap - the new map.
    • getMetadataProcessor

      public MetadataProcessorService getMetadataProcessor(MetadataFieldConfig metadataField)
      Return the metadataProcessor used to update values to make them more compliant for certain goals
      Parameters:
      metadataField - to retrieve processor for
      Returns:
      metadataProcessor
    • toDCValue

      public MetadatumDTO toDCValue(MetadataFieldConfig field, String value)
      Specified by:
      toDCValue in interface MetadataFieldMapping<RecordType,MetadataContributor<RecordType>>
      Parameters:
      field - MetadataFieldConfig representing what to map the value to
      value - The value to map to a MetadatumDTO
      Returns:
      A metadatumDTO created from the field and value
    • getMetadataFieldMap

      public Map<MetadataFieldConfig,MetadataContributor<RecordType>> getMetadataFieldMap()
      Retrieve the metadataFieldMap set to this class
      Returns:
      a map representing the metadataFieldMap
    • setMetadataFieldMap

      public void setMetadataFieldMap(Map<MetadataFieldConfig,MetadataContributor<RecordType>> metadataFieldMap)
      Defines which metadatum is mapped on which metadatum. Note that while the key must be unique it only matters here for postprocessing of the value. The mapped MetadatumContributor has full control over what metadatafield is generated.
      Parameters:
      metadataFieldMap - The map containing the link between retrieve metadata and metadata that will be set to the item.
    • resultToDCValueMapping

      public Collection<MetadatumDTO> resultToDCValueMapping(RecordType record)
      Loop over the MetadataContributors and return their concatenated retrieved metadatumDTO objects.
      Specified by:
      resultToDCValueMapping in interface MetadataFieldMapping<RecordType,MetadataContributor<RecordType>>
      Parameters:
      record - Used to retrieve the MetadatumDTO
      Returns:
      Lit of metadatumDTO