
de.gwdg.metadataqa.marc.utils.ControlFieldStructureVisualization Maven / Gradle / Ivy
package de.gwdg.metadataqa.marc.utils;
import de.gwdg.metadataqa.marc.definition.controlpositions.Control006Positions;
import de.gwdg.metadataqa.marc.definition.controlpositions.Control007Positions;
import de.gwdg.metadataqa.marc.definition.controlpositions.Control008Positions;
import de.gwdg.metadataqa.marc.definition.controltype.Control007Category;
import de.gwdg.metadataqa.marc.definition.controltype.Control008Type;
import de.gwdg.metadataqa.marc.definition.structure.ControlfieldPositionDefinition;
import java.util.List;
import java.util.Map;
public class ControlFieldStructureVisualization {
public static void main(String[] args) {
String undefPattern = "\\";
Map> allSubfields =
Control008Positions.getInstance().getPositions();
for (String typeKey : allSubfields.keySet()) {
Control008Type type = Control008Type.byCode(typeKey);
System.err.println(type.getValue());
boolean isFirst = true;
int lastEnd = 18;
char chr = type.equals(Control008Type.ALL_MATERIALS) ? 'a' : 'i';
if (!type.equals(Control008Type.ALL_MATERIALS))
for (int i = 0; i<18; i++)
System.err.print(" ");
for (ControlfieldPositionDefinition subfield : allSubfields.get(type)) {
if (lastEnd != -1 && lastEnd != subfield.getPositionStart())
for (int i = lastEnd; i> all007Subfields =
Control007Positions.getInstance().getPositions();
for (String typeKey : all007Subfields.keySet()) {
Control007Category type = Control007Category.byCode(typeKey);
System.err.println(type.getLabel());
boolean isFirst = true;
int lastEnd = -1;
char chr = type.equals(Control007Category.COMMON) ? 'a' : 'a';
for (ControlfieldPositionDefinition subfield : all007Subfields.get(type)) {
if (lastEnd != -1 && lastEnd != subfield.getPositionStart())
for (int i = lastEnd; i> all006Subfields =
Control006Positions.getInstance().getPositions();
for (String typeKey : all006Subfields.keySet()) {
Control008Type type = Control008Type.byCode(typeKey);
System.err.println(type.getValue());
boolean isFirst = true;
int lastEnd = 0;
char chr = type.equals(Control008Type.ALL_MATERIALS) ? 'a' : 'i';
for (ControlfieldPositionDefinition subfield : all006Subfields.get(type)) {
if (lastEnd != subfield.getPositionStart())
for (int i = lastEnd; i
© 2015 - 2025 Weber Informatics LLC | Privacy Policy