Class MetadataBuilder

java.lang.Object
io.goobi.viewer.model.metadata.MetadataBuilder

public class MetadataBuilder extends Object
Builds localised metadata values from Solr documents and struct elements by applying configured MetadataParameter definitions.
  • Constructor Details

    • MetadataBuilder

      public MetadataBuilder(MetadataContainer metadata)
    • MetadataBuilder

      public MetadataBuilder(MetadataContainer metadata, MetadataContainer parent, MetadataContainer topStruct)
    • MetadataBuilder

      public MetadataBuilder(MetadataContainer metadata, MetadataContainer parent, MetadataContainer topStruct, MetadataContainer related)
    • MetadataBuilder

      public MetadataBuilder(org.apache.solr.common.SolrDocument doc)
      Parameters:
      doc - Solr document to extract metadata from
    • MetadataBuilder

      public MetadataBuilder(StructElement doc)
    • MetadataBuilder

      public MetadataBuilder(ComplexMetadata metadata)
      Parameters:
      metadata - complex metadata object to extract values from
    • MetadataBuilder

      public MetadataBuilder(Map<String,List<de.intranda.metadata.multilanguage.IMetadataValue>> values)
      Parameters:
      values - map of field names to their metadata values
    • MetadataBuilder

      public MetadataBuilder(Map<String,List<de.intranda.metadata.multilanguage.IMetadataValue>> values, Map<String,List<de.intranda.metadata.multilanguage.IMetadataValue>> parent, Map<String,List<de.intranda.metadata.multilanguage.IMetadataValue>> topStruct, Map<String,List<de.intranda.metadata.multilanguage.IMetadataValue>> related)
  • Method Details

    • build

      public de.intranda.metadata.multilanguage.IMetadataValue build(Metadata metadataConfiguration)
    • build

      public de.intranda.metadata.multilanguage.IMetadataValue build(List<Metadata> metadataConfiguration, String separator)
    • getDateFieldValue

      public static de.intranda.metadata.multilanguage.IMetadataValue getDateFieldValue(MetadataParameter param, de.intranda.metadata.multilanguage.IMetadataValue keyValue, de.intranda.metadata.multilanguage.IMetadataValue altKeyValue)
      Parameters:
      param - metadata parameter configuration including output pattern and default value
      keyValue - value retrieved from the primary field key
      altKeyValue - value retrieved from the alternative field key
      Returns:
      IMetadataValue