Class CombinedMetadatumContributor<T>

java.lang.Object
org.dspace.importer.external.metadatamapping.contributor.CombinedMetadatumContributor<T>
All Implemented Interfaces:
MetadataContributor<T>

public class CombinedMetadatumContributor<T> extends Object implements MetadataContributor<T>
Wrapper class used to accommodate for the possibility of correlations between multiple MetadatumContributor objects
Author:
Philip Vissenaekens (philip at atmire dot com)
  • Constructor Details

    • CombinedMetadatumContributor

      public CombinedMetadatumContributor()
      Initialize an empty CombinedMetadatumContributor object
    • CombinedMetadatumContributor

      public CombinedMetadatumContributor(MetadataFieldConfig field, List<MetadataContributor> metadatumContributors, String separator)
      Parameters:
      field - MetadataFieldConfig used in mapping
      metadatumContributors - A list of MetadataContributor
      separator - A separator used to differentiate between different values
  • Method Details

    • setMetadataFieldMapping

      public void setMetadataFieldMapping(MetadataFieldMapping<T,MetadataContributor<T>> metadataFieldMapping)
      Set the metadatafieldMapping used in the transforming of a record to actual metadata
      Specified by:
      setMetadataFieldMapping in interface MetadataContributor<T>
      Parameters:
      metadataFieldMapping - the new mapping.
    • contributeMetadata

      public Collection<MetadatumDTO> contributeMetadata(T t)
      a separate Metadatum object is created for each index of Metadatum returned from the calls to MetadatumContributor.contributeMetadata(t) for each MetadatumContributor in the metadatumContributors list. We assume that each contributor returns the same amount of Metadatum objects
      Specified by:
      contributeMetadata in interface MetadataContributor<T>
      Parameters:
      t - the object we are trying to translate
      Returns:
      a collection of metadata composed by each MetadataContributor
    • getField

      public MetadataFieldConfig getField()
      Return the MetadataFieldConfig used while retrieving MetadatumDTO
      Returns:
      MetadataFieldConfig
    • setField

      public void setField(MetadataFieldConfig field)
      Setting the MetadataFieldConfig
      Parameters:
      field - MetadataFieldConfig used while retrieving MetadatumDTO
    • getMetadatumContributors

      public LinkedList<MetadataContributor> getMetadatumContributors()
      Return the List of MetadataContributor objects set to this class
      Returns:
      metadatumContributors, list of MetadataContributor
    • setMetadatumContributors

      public void setMetadatumContributors(LinkedList<MetadataContributor> metadatumContributors)
      Set the List of MetadataContributor objects set to this class
      Parameters:
      metadatumContributors - A list of MetadatumContributor classes
    • getSeparator

      public String getSeparator()
      Return the separator used to differentiate between distinct values
      Returns:
      the separator used to differentiate between distinct values
    • setSeparator

      public void setSeparator(String separator)
      Set the separator used to differentiate between distinct values
      Parameters:
      separator - separator used to differentiate between distinct values