View Javadoc
1   package de.kaiserpfalzedv.services.dnb.marcxml.model;
2   
3   import java.util.List;
4   
5   import com.fasterxml.jackson.annotation.JsonInclude;
6   import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
7   import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
8   
9   import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
10  import jakarta.xml.bind.annotation.XmlAccessType;
11  import jakarta.xml.bind.annotation.XmlAccessorType;
12  import jakarta.xml.bind.annotation.XmlAttribute;
13  import jakarta.xml.bind.annotation.XmlElement;
14  import jakarta.xml.bind.annotation.XmlType;
15  import lombok.AllArgsConstructor;
16  import lombok.EqualsAndHashCode;
17  import lombok.Getter;
18  import lombok.NoArgsConstructor;
19  import lombok.ToString;
20  import lombok.experimental.SuperBuilder;
21  import lombok.extern.jackson.Jacksonized;
22  
23  /**
24   * <p>DataField -- .</p>
25   *
26   * @author rlichti {@literal <rlichti@kaiserpfalz-edv.de>}
27   * @since 1.0.0  2023-01-27
28   */
29  @SuppressFBWarnings(value = {"EI_EXPOSE_REP","EI_EXPOSE_REP2"}, justification = "lombok provided @Getter are created")
30  @Jacksonized
31  @SuperBuilder(toBuilder = true)
32  @AllArgsConstructor
33  @NoArgsConstructor
34  @Getter
35  @ToString
36  @EqualsAndHashCode(onlyExplicitlyIncluded = true)
37  @JsonInclude(JsonInclude.Include.NON_ABSENT)
38  @XmlType(namespace = "http://www.loc.gov/MARC21/slim")
39  @XmlAccessorType(XmlAccessType.FIELD)
40  public class DataField {
41      @ToString.Include
42      @JacksonXmlProperty(isAttribute = true)
43      @XmlAttribute
44      private String tag;
45      @JacksonXmlProperty(isAttribute = true)
46      @XmlAttribute
47      private String ind1;
48      @JacksonXmlProperty(isAttribute = true)
49      @XmlAttribute
50      private String ind2;
51  
52      @JacksonXmlElementWrapper(useWrapping = false)
53      @XmlElement(name = "subfield")
54      private List<SubField> subfield;
55  }