/* * Copyright (C) 2014 Robert Simonovsky * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package cz.cas.lib.proarc.mets; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlID; import javax.xml.bind.annotation.XmlIDREF; import javax.xml.bind.annotation.XmlSchemaType; import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlValue; import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import javax.xml.datatype.XMLGregorianCalendar; /** * metsType: Complex Type for METS Sections A METS document consists of seven * possible subsidiary sections: metsHdr (METS document header), dmdSec * (descriptive metadata section), amdSec (administrative metadata section), * fileGrp (file inventory group), structLink (structural map linking), * structMap (structural map) and behaviorSec (behaviors section). * * * <p> * Java class for metsType complex type. * * <p> * The following schema fragment specifies the expected content contained within * this class. * * <pre> * <complexType name="metsType"> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="metsHdr" minOccurs="0"> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="agent" maxOccurs="unbounded" minOccurs="0"> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="note" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * <attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}ID" /> * <attribute name="ROLE" use="required"> * <simpleType> * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> * <enumeration value="CREATOR"/> * <enumeration value="EDITOR"/> * <enumeration value="ARCHIVIST"/> * <enumeration value="PRESERVATION"/> * <enumeration value="DISSEMINATOR"/> * <enumeration value="CUSTODIAN"/> * <enumeration value="IPOWNER"/> * <enumeration value="OTHER"/> * </restriction> * </simpleType> * </attribute> * <attribute name="OTHERROLE" type="{http://www.w3.org/2001/XMLSchema}string" /> * <attribute name="TYPE"> * <simpleType> * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> * <enumeration value="INDIVIDUAL"/> * <enumeration value="ORGANIZATION"/> * <enumeration value="OTHER"/> * </restriction> * </simpleType> * </attribute> * <attribute name="OTHERTYPE" type="{http://www.w3.org/2001/XMLSchema}string" /> * </restriction> * </complexContent> * </complexType> * </element> * <element name="altRecordID" maxOccurs="unbounded" minOccurs="0"> * <complexType> * <simpleContent> * <extension base="<http://www.w3.org/2001/XMLSchema>string"> * <attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}ID" /> * <attribute name="TYPE" type="{http://www.w3.org/2001/XMLSchema}string" /> * </extension> * </simpleContent> * </complexType> * </element> * <element name="metsDocumentID" minOccurs="0"> * <complexType> * <simpleContent> * <extension base="<http://www.w3.org/2001/XMLSchema>string"> * <attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}ID" /> * <attribute name="TYPE" type="{http://www.w3.org/2001/XMLSchema}string" /> * </extension> * </simpleContent> * </complexType> * </element> * </sequence> * <attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}ID" /> * <attribute name="ADMID" type="{http://www.w3.org/2001/XMLSchema}IDREFS" /> * <attribute name="CREATEDATE" type="{http://www.w3.org/2001/XMLSchema}dateTime" /> * <attribute name="LASTMODDATE" type="{http://www.w3.org/2001/XMLSchema}dateTime" /> * <attribute name="RECORDSTATUS" type="{http://www.w3.org/2001/XMLSchema}string" /> * </restriction> * </complexContent> * </complexType> * </element> * <element name="dmdSec" type="{http://www.loc.gov/METS/}mdSecType" maxOccurs="unbounded" minOccurs="0"/> * <element name="amdSec" type="{http://www.loc.gov/METS/}amdSecType" maxOccurs="unbounded" minOccurs="0"/> * <element name="fileSec" minOccurs="0"> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="fileGrp" maxOccurs="unbounded"> * <complexType> * <complexContent> * <extension base="{http://www.loc.gov/METS/}fileGrpType"> * </extension> * </complexContent> * </complexType> * </element> * </sequence> * <attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}ID" /> * </restriction> * </complexContent> * </complexType> * </element> * <element name="structMap" type="{http://www.loc.gov/METS/}structMapType" maxOccurs="unbounded"/> * <element name="structLink" minOccurs="0"> * <complexType> * <complexContent> * <extension base="{http://www.loc.gov/METS/}structLinkType"> * </extension> * </complexContent> * </complexType> * </element> * <element name="behaviorSec" type="{http://www.loc.gov/METS/}behaviorSecType" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * <attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}ID" /> * <attribute name="OBJID" type="{http://www.w3.org/2001/XMLSchema}string" /> * <attribute name="LABEL" type="{http://www.w3.org/2001/XMLSchema}string" /> * <attribute name="TYPE" type="{http://www.w3.org/2001/XMLSchema}string" /> * <attribute name="PROFILE" type="{http://www.w3.org/2001/XMLSchema}string" /> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "metsType", namespace = "http://www.loc.gov/METS/", propOrder = { "metsHdr", "dmdSec", "amdSec", "fileSec", "structMap", "structLink", "behaviorSec" }) @XmlSeeAlso({ Mets.class }) public class MetsType { @XmlElement(namespace = "http://www.loc.gov/METS/") protected MetsType.MetsHdr metsHdr; @XmlElement(namespace = "http://www.loc.gov/METS/") protected List<MdSecType> dmdSec; @XmlElement(namespace = "http://www.loc.gov/METS/") protected List<AmdSecType> amdSec; @XmlElement(namespace = "http://www.loc.gov/METS/") protected MetsType.FileSec fileSec; @XmlElement(namespace = "http://www.loc.gov/METS/", required = true) protected List<StructMapType> structMap; @XmlElement(namespace = "http://www.loc.gov/METS/") protected MetsType.StructLink structLink; @XmlElement(namespace = "http://www.loc.gov/METS/") protected List<BehaviorSecType> behaviorSec; @XmlAttribute(name = "ID") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlID @XmlSchemaType(name = "ID") protected String id; @XmlAttribute(name = "OBJID") protected String objid; @XmlAttribute(name = "LABEL") protected String label1; @XmlAttribute(name = "TYPE") protected String type; @XmlAttribute(name = "PROFILE") protected String profile; /** * Gets the value of the metsHdr property. * * @return possible object is {@link MetsType.MetsHdr } * */ public MetsType.MetsHdr getMetsHdr() { return metsHdr; } /** * Sets the value of the metsHdr property. * * @param value * allowed object is {@link MetsType.MetsHdr } * */ public void setMetsHdr(MetsType.MetsHdr value) { this.metsHdr = value; } /** * Gets the value of the dmdSec property. * * <p> * This accessor method returns a reference to the live list, not a * snapshot. Therefore any modification you make to the returned list will * be present inside the JAXB object. This is why there is not a * <CODE>set</CODE> method for the dmdSec property. * * <p> * For example, to add a new item, do as follows: * * <pre> * getDmdSec().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link MdSecType } * * */ public List<MdSecType> getDmdSec() { if (dmdSec == null) { dmdSec = new ArrayList<MdSecType>(); } return this.dmdSec; } /** * Gets the value of the amdSec property. * * <p> * This accessor method returns a reference to the live list, not a * snapshot. Therefore any modification you make to the returned list will * be present inside the JAXB object. This is why there is not a * <CODE>set</CODE> method for the amdSec property. * * <p> * For example, to add a new item, do as follows: * * <pre> * getAmdSec().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link AmdSecType } * * */ public List<AmdSecType> getAmdSec() { if (amdSec == null) { amdSec = new ArrayList<AmdSecType>(); } return this.amdSec; } /** * Gets the value of the fileSec property. * * @return possible object is {@link MetsType.FileSec } * */ public MetsType.FileSec getFileSec() { return fileSec; } /** * Sets the value of the fileSec property. * * @param value * allowed object is {@link MetsType.FileSec } * */ public void setFileSec(MetsType.FileSec value) { this.fileSec = value; } /** * Gets the value of the structMap property. * * <p> * This accessor method returns a reference to the live list, not a * snapshot. Therefore any modification you make to the returned list will * be present inside the JAXB object. This is why there is not a * <CODE>set</CODE> method for the structMap property. * * <p> * For example, to add a new item, do as follows: * * <pre> * getStructMap().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link StructMapType } * * */ public List<StructMapType> getStructMap() { if (structMap == null) { structMap = new ArrayList<StructMapType>(); } return this.structMap; } /** * Gets the value of the structLink property. * * @return possible object is {@link MetsType.StructLink } * */ public MetsType.StructLink getStructLink() { return structLink; } /** * Sets the value of the structLink property. * * @param value * allowed object is {@link MetsType.StructLink } * */ public void setStructLink(MetsType.StructLink value) { this.structLink = value; } /** * Gets the value of the behaviorSec property. * * <p> * This accessor method returns a reference to the live list, not a * snapshot. Therefore any modification you make to the returned list will * be present inside the JAXB object. This is why there is not a * <CODE>set</CODE> method for the behaviorSec property. * * <p> * For example, to add a new item, do as follows: * * <pre> * getBehaviorSec().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link BehaviorSecType } * * */ public List<BehaviorSecType> getBehaviorSec() { if (behaviorSec == null) { behaviorSec = new ArrayList<BehaviorSecType>(); } return this.behaviorSec; } /** * Gets the value of the id property. * * @return possible object is {@link String } * */ public String getID() { return id; } /** * Sets the value of the id property. * * @param value * allowed object is {@link String } * */ public void setID(String value) { this.id = value; } /** * Gets the value of the objid property. * * @return possible object is {@link String } * */ public String getOBJID() { return objid; } /** * Sets the value of the objid property. * * @param value * allowed object is {@link String } * */ public void setOBJID(String value) { this.objid = value; } /** * Gets the value of the label1 property. * * @return possible object is {@link String } * */ public String getLabel1() { return label1; } /** * Sets the value of the label1 property. * * @param value * allowed object is {@link String } * */ public void setLabel1(String value) { this.label1 = value; } /** * Gets the value of the type property. * * @return possible object is {@link String } * */ public String getTYPE() { return type; } /** * Sets the value of the type property. * * @param value * allowed object is {@link String } * */ public void setTYPE(String value) { this.type = value; } /** * Gets the value of the profile property. * * @return possible object is {@link String } * */ public String getPROFILE() { return profile; } /** * Sets the value of the profile property. * * @param value * allowed object is {@link String } * */ public void setPROFILE(String value) { this.profile = value; } /** * <p> * Java class for anonymous complex type. * * <p> * The following schema fragment specifies the expected content contained * within this class. * * <pre> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="fileGrp" maxOccurs="unbounded"> * <complexType> * <complexContent> * <extension base="{http://www.loc.gov/METS/}fileGrpType"> * </extension> * </complexContent> * </complexType> * </element> * </sequence> * <attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}ID" /> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "fileGrp" }) public static class FileSec { @XmlElement(namespace = "http://www.loc.gov/METS/", required = true) protected List<MetsType.FileSec.FileGrp> fileGrp; @XmlAttribute(name = "ID") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlID @XmlSchemaType(name = "ID") protected String id; /** * Gets the value of the fileGrp property. * * <p> * This accessor method returns a reference to the live list, not a * snapshot. Therefore any modification you make to the returned list * will be present inside the JAXB object. This is why there is not a * <CODE>set</CODE> method for the fileGrp property. * * <p> * For example, to add a new item, do as follows: * * <pre> * getFileGrp().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link MetsType.FileSec.FileGrp } * * */ public List<MetsType.FileSec.FileGrp> getFileGrp() { if (fileGrp == null) { fileGrp = new ArrayList<MetsType.FileSec.FileGrp>(); } return this.fileGrp; } /** * Gets the value of the id property. * * @return possible object is {@link String } * */ public String getID() { return id; } /** * Sets the value of the id property. * * @param value * allowed object is {@link String } * */ public void setID(String value) { this.id = value; } /** * <p> * Java class for anonymous complex type. * * <p> * The following schema fragment specifies the expected content * contained within this class. * * <pre> * <complexType> * <complexContent> * <extension base="{http://www.loc.gov/METS/}fileGrpType"> * </extension> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "") public static class FileGrp extends FileGrpType { } } /** * <p> * Java class for anonymous complex type. * * <p> * The following schema fragment specifies the expected content contained * within this class. * * <pre> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="agent" maxOccurs="unbounded" minOccurs="0"> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="note" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * <attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}ID" /> * <attribute name="ROLE" use="required"> * <simpleType> * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> * <enumeration value="CREATOR"/> * <enumeration value="EDITOR"/> * <enumeration value="ARCHIVIST"/> * <enumeration value="PRESERVATION"/> * <enumeration value="DISSEMINATOR"/> * <enumeration value="CUSTODIAN"/> * <enumeration value="IPOWNER"/> * <enumeration value="OTHER"/> * </restriction> * </simpleType> * </attribute> * <attribute name="OTHERROLE" type="{http://www.w3.org/2001/XMLSchema}string" /> * <attribute name="TYPE"> * <simpleType> * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> * <enumeration value="INDIVIDUAL"/> * <enumeration value="ORGANIZATION"/> * <enumeration value="OTHER"/> * </restriction> * </simpleType> * </attribute> * <attribute name="OTHERTYPE" type="{http://www.w3.org/2001/XMLSchema}string" /> * </restriction> * </complexContent> * </complexType> * </element> * <element name="altRecordID" maxOccurs="unbounded" minOccurs="0"> * <complexType> * <simpleContent> * <extension base="<http://www.w3.org/2001/XMLSchema>string"> * <attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}ID" /> * <attribute name="TYPE" type="{http://www.w3.org/2001/XMLSchema}string" /> * </extension> * </simpleContent> * </complexType> * </element> * <element name="metsDocumentID" minOccurs="0"> * <complexType> * <simpleContent> * <extension base="<http://www.w3.org/2001/XMLSchema>string"> * <attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}ID" /> * <attribute name="TYPE" type="{http://www.w3.org/2001/XMLSchema}string" /> * </extension> * </simpleContent> * </complexType> * </element> * </sequence> * <attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}ID" /> * <attribute name="ADMID" type="{http://www.w3.org/2001/XMLSchema}IDREFS" /> * <attribute name="CREATEDATE" type="{http://www.w3.org/2001/XMLSchema}dateTime" /> * <attribute name="LASTMODDATE" type="{http://www.w3.org/2001/XMLSchema}dateTime" /> * <attribute name="RECORDSTATUS" type="{http://www.w3.org/2001/XMLSchema}string" /> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "agent", "altRecordID", "metsDocumentID" }) public static class MetsHdr { @XmlElement(namespace = "http://www.loc.gov/METS/") protected List<MetsType.MetsHdr.Agent> agent; @XmlElement(namespace = "http://www.loc.gov/METS/") protected List<MetsType.MetsHdr.AltRecordID> altRecordID; @XmlElement(namespace = "http://www.loc.gov/METS/") protected MetsType.MetsHdr.MetsDocumentID metsDocumentID; @XmlAttribute(name = "ID") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlID @XmlSchemaType(name = "ID") protected String id; @XmlAttribute(name = "ADMID") @XmlIDREF @XmlSchemaType(name = "IDREFS") protected List<Object> admid; @XmlAttribute(name = "CREATEDATE") @XmlSchemaType(name = "dateTime") protected XMLGregorianCalendar createdate; @XmlAttribute(name = "LASTMODDATE") @XmlSchemaType(name = "dateTime") protected XMLGregorianCalendar lastmoddate; @XmlAttribute(name = "RECORDSTATUS") protected String recordstatus; /** * Gets the value of the agent property. * * <p> * This accessor method returns a reference to the live list, not a * snapshot. Therefore any modification you make to the returned list * will be present inside the JAXB object. This is why there is not a * <CODE>set</CODE> method for the agent property. * * <p> * For example, to add a new item, do as follows: * * <pre> * getAgent().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link MetsType.MetsHdr.Agent } * * */ public List<MetsType.MetsHdr.Agent> getAgent() { if (agent == null) { agent = new ArrayList<MetsType.MetsHdr.Agent>(); } return this.agent; } /** * Gets the value of the altRecordID property. * * <p> * This accessor method returns a reference to the live list, not a * snapshot. Therefore any modification you make to the returned list * will be present inside the JAXB object. This is why there is not a * <CODE>set</CODE> method for the altRecordID property. * * <p> * For example, to add a new item, do as follows: * * <pre> * getAltRecordID().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link MetsType.MetsHdr.AltRecordID } * * */ public List<MetsType.MetsHdr.AltRecordID> getAltRecordID() { if (altRecordID == null) { altRecordID = new ArrayList<MetsType.MetsHdr.AltRecordID>(); } return this.altRecordID; } /** * Gets the value of the metsDocumentID property. * * @return possible object is {@link MetsType.MetsHdr.MetsDocumentID } * */ public MetsType.MetsHdr.MetsDocumentID getMetsDocumentID() { return metsDocumentID; } /** * Sets the value of the metsDocumentID property. * * @param value * allowed object is {@link MetsType.MetsHdr.MetsDocumentID } * */ public void setMetsDocumentID(MetsType.MetsHdr.MetsDocumentID value) { this.metsDocumentID = value; } /** * Gets the value of the id property. * * @return possible object is {@link String } * */ public String getID() { return id; } /** * Sets the value of the id property. * * @param value * allowed object is {@link String } * */ public void setID(String value) { this.id = value; } /** * Gets the value of the admid property. * * <p> * This accessor method returns a reference to the live list, not a * snapshot. Therefore any modification you make to the returned list * will be present inside the JAXB object. This is why there is not a * <CODE>set</CODE> method for the admid property. * * <p> * For example, to add a new item, do as follows: * * <pre> * getADMID().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link Object } * * */ public List<Object> getADMID() { if (admid == null) { admid = new ArrayList<Object>(); } return this.admid; } /** * Gets the value of the createdate property. * * @return possible object is {@link XMLGregorianCalendar } * */ public XMLGregorianCalendar getCREATEDATE() { return createdate; } /** * Sets the value of the createdate property. * * @param value * allowed object is {@link XMLGregorianCalendar } * */ public void setCREATEDATE(XMLGregorianCalendar value) { this.createdate = value; } /** * Gets the value of the lastmoddate property. * * @return possible object is {@link XMLGregorianCalendar } * */ public XMLGregorianCalendar getLASTMODDATE() { return lastmoddate; } /** * Sets the value of the lastmoddate property. * * @param value * allowed object is {@link XMLGregorianCalendar } * */ public void setLASTMODDATE(XMLGregorianCalendar value) { this.lastmoddate = value; } /** * Gets the value of the recordstatus property. * * @return possible object is {@link String } * */ public String getRECORDSTATUS() { return recordstatus; } /** * Sets the value of the recordstatus property. * * @param value * allowed object is {@link String } * */ public void setRECORDSTATUS(String value) { this.recordstatus = value; } /** * <p> * Java class for anonymous complex type. * * <p> * The following schema fragment specifies the expected content * contained within this class. * * <pre> * <complexType> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="note" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * <attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}ID" /> * <attribute name="ROLE" use="required"> * <simpleType> * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> * <enumeration value="CREATOR"/> * <enumeration value="EDITOR"/> * <enumeration value="ARCHIVIST"/> * <enumeration value="PRESERVATION"/> * <enumeration value="DISSEMINATOR"/> * <enumeration value="CUSTODIAN"/> * <enumeration value="IPOWNER"/> * <enumeration value="OTHER"/> * </restriction> * </simpleType> * </attribute> * <attribute name="OTHERROLE" type="{http://www.w3.org/2001/XMLSchema}string" /> * <attribute name="TYPE"> * <simpleType> * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> * <enumeration value="INDIVIDUAL"/> * <enumeration value="ORGANIZATION"/> * <enumeration value="OTHER"/> * </restriction> * </simpleType> * </attribute> * <attribute name="OTHERTYPE" type="{http://www.w3.org/2001/XMLSchema}string" /> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "name", "note" }) public static class Agent { @XmlElement(namespace = "http://www.loc.gov/METS/", required = true) protected String name; @XmlElement(namespace = "http://www.loc.gov/METS/") protected List<String> note; @XmlAttribute(name = "ID") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlID @XmlSchemaType(name = "ID") protected String id; @XmlAttribute(name = "ROLE", required = true) protected String role; @XmlAttribute(name = "OTHERROLE") protected String otherrole; @XmlAttribute(name = "TYPE") protected String type; @XmlAttribute(name = "OTHERTYPE") protected String othertype; /** * Gets the value of the name property. * * @return possible object is {@link String } * */ public String getName() { return name; } /** * Sets the value of the name property. * * @param value * allowed object is {@link String } * */ public void setName(String value) { this.name = value; } /** * Gets the value of the note property. * * <p> * This accessor method returns a reference to the live list, not a * snapshot. Therefore any modification you make to the returned * list will be present inside the JAXB object. This is why there is * not a <CODE>set</CODE> method for the note property. * * <p> * For example, to add a new item, do as follows: * * <pre> * getNote().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link String } * * */ public List<String> getNote() { if (note == null) { note = new ArrayList<String>(); } return this.note; } /** * Gets the value of the id property. * * @return possible object is {@link String } * */ public String getID() { return id; } /** * Sets the value of the id property. * * @param value * allowed object is {@link String } * */ public void setID(String value) { this.id = value; } /** * Gets the value of the role property. * * @return possible object is {@link String } * */ public String getROLE() { return role; } /** * Sets the value of the role property. * * @param value * allowed object is {@link String } * */ public void setROLE(String value) { this.role = value; } /** * Gets the value of the otherrole property. * * @return possible object is {@link String } * */ public String getOTHERROLE() { return otherrole; } /** * Sets the value of the otherrole property. * * @param value * allowed object is {@link String } * */ public void setOTHERROLE(String value) { this.otherrole = value; } /** * Gets the value of the type property. * * @return possible object is {@link String } * */ public String getTYPE() { return type; } /** * Sets the value of the type property. * * @param value * allowed object is {@link String } * */ public void setTYPE(String value) { this.type = value; } /** * Gets the value of the othertype property. * * @return possible object is {@link String } * */ public String getOTHERTYPE() { return othertype; } /** * Sets the value of the othertype property. * * @param value * allowed object is {@link String } * */ public void setOTHERTYPE(String value) { this.othertype = value; } } /** * <p> * Java class for anonymous complex type. * * <p> * The following schema fragment specifies the expected content * contained within this class. * * <pre> * <complexType> * <simpleContent> * <extension base="<http://www.w3.org/2001/XMLSchema>string"> * <attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}ID" /> * <attribute name="TYPE" type="{http://www.w3.org/2001/XMLSchema}string" /> * </extension> * </simpleContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "value" }) public static class AltRecordID { @XmlValue protected String value; @XmlAttribute(name = "ID") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlID @XmlSchemaType(name = "ID") protected String id; @XmlAttribute(name = "TYPE") protected String type; /** * Gets the value of the value property. * * @return possible object is {@link String } * */ public String getValue() { return value; } /** * Sets the value of the value property. * * @param value * allowed object is {@link String } * */ public void setValue(String value) { this.value = value; } /** * Gets the value of the id property. * * @return possible object is {@link String } * */ public String getID() { return id; } /** * Sets the value of the id property. * * @param value * allowed object is {@link String } * */ public void setID(String value) { this.id = value; } /** * Gets the value of the type property. * * @return possible object is {@link String } * */ public String getTYPE() { return type; } /** * Sets the value of the type property. * * @param value * allowed object is {@link String } * */ public void setTYPE(String value) { this.type = value; } } /** * <p> * Java class for anonymous complex type. * * <p> * The following schema fragment specifies the expected content * contained within this class. * * <pre> * <complexType> * <simpleContent> * <extension base="<http://www.w3.org/2001/XMLSchema>string"> * <attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}ID" /> * <attribute name="TYPE" type="{http://www.w3.org/2001/XMLSchema}string" /> * </extension> * </simpleContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "value" }) public static class MetsDocumentID { @XmlValue protected String value; @XmlAttribute(name = "ID") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlID @XmlSchemaType(name = "ID") protected String id; @XmlAttribute(name = "TYPE") protected String type; /** * Gets the value of the value property. * * @return possible object is {@link String } * */ public String getValue() { return value; } /** * Sets the value of the value property. * * @param value * allowed object is {@link String } * */ public void setValue(String value) { this.value = value; } /** * Gets the value of the id property. * * @return possible object is {@link String } * */ public String getID() { return id; } /** * Sets the value of the id property. * * @param value * allowed object is {@link String } * */ public void setID(String value) { this.id = value; } /** * Gets the value of the type property. * * @return possible object is {@link String } * */ public String getTYPE() { return type; } /** * Sets the value of the type property. * * @param value * allowed object is {@link String } * */ public void setTYPE(String value) { this.type = value; } } } /** * <p> * Java class for anonymous complex type. * * <p> * The following schema fragment specifies the expected content contained * within this class. * * <pre> * <complexType> * <complexContent> * <extension base="{http://www.loc.gov/METS/}structLinkType"> * </extension> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "") public static class StructLink extends StructLinkType { } }