All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.gwdg.metadataqa.marc.utils.CodeGenerator Maven / Gradle / Ivy

package de.gwdg.metadataqa.marc.utils;

import de.gwdg.metadataqa.marc.EncodedValue;
import de.gwdg.metadataqa.marc.definition.structure.ControlfieldPositionDefinition;
import de.gwdg.metadataqa.marc.definition.controlpositions.LeaderPositions;

import java.util.List;

public class CodeGenerator {

  public void generateCode() {
    // List subfields = Control006Subfields.get(Control008Type.MIXED_MATERIALS);
    List subfields = LeaderPositions.getInstance().getPositionList();
    for (ControlfieldPositionDefinition subfield : subfields) {
      System.err.printf("===== [%s%s] ====%n", subfield.getId().substring(0, 1).toUpperCase(), subfield.getId().substring(1));
      System.err.printf("label = \"%s\";%n", subfield.getLabel());
      System.err.printf("id = \"%s\";%n", subfield.getId());
      System.err.printf("mqTag = \"%s\";%n", subfield.getMqTag());
      System.err.printf("positionStart = %d;%n", subfield.getPositionStart());
      System.err.printf("positionEnd = %d;%n", subfield.getPositionEnd());
      System.err.printf("descriptionUrl = \"https://www.loc.gov/marc/bibliographic/bdleader.html\";%n", subfield.getMqTag());
      if (subfield.getCodes() != null) {
        System.err.printf("codes = Utils.generateCodes(%n");
        var i = 0;
        for (EncodedValue code : subfield.getCodes()) {
          i++;
          if (i == subfield.getCodes().size())
            System.err.printf("\"%s\", \"%s\"%n", code.getCode(), code.getLabel());
          else
            System.err.printf("\"%s\", \"%s\",%n", code.getCode(), code.getLabel());
        }
        System.err.printf(");%n");
      }
      if (subfield.isRepeatableContent()) {
        System.err.printf("repeatableContent = true;%n", subfield.getPositionEnd());
        System.err.printf("unitLength = %d;%n", subfield.getUnitLength());
      }
      if (subfield.getDefaultCode() != null)
        System.err.printf("defaultCode = \"%s\";%n", subfield.getDefaultCode());
    }
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy