// // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. // Generated on: 2016.07.27 at 04:06:37 PM EDT // package org.isotc211._2005.gmd; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import javax.validation.Valid; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlType; import org.isotc211._2005.gco.AbstractObjectType; import org.isotc211._2005.gco.CharacterStringPropertyType; import org.isotc211._2005.gco.DatePropertyType; import org.jvnet.jaxb2_commons.lang.CopyStrategy2; import org.jvnet.jaxb2_commons.lang.CopyTo2; import org.jvnet.jaxb2_commons.lang.Equals2; import org.jvnet.jaxb2_commons.lang.EqualsStrategy2; import org.jvnet.jaxb2_commons.lang.HashCode2; import org.jvnet.jaxb2_commons.lang.HashCodeStrategy2; import org.jvnet.jaxb2_commons.lang.JAXBCopyStrategy; import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy; import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy; import org.jvnet.jaxb2_commons.lang.JAXBMergeStrategy; import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy; import org.jvnet.jaxb2_commons.lang.MergeFrom2; import org.jvnet.jaxb2_commons.lang.MergeStrategy2; import org.jvnet.jaxb2_commons.lang.ToString2; import org.jvnet.jaxb2_commons.lang.ToStringStrategy2; import org.jvnet.jaxb2_commons.locator.ObjectLocator; import org.jvnet.jaxb2_commons.locator.util.LocatorUtils; /** * Standardized resource reference * * <p>Java class for CI_Citation_Type complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="CI_Citation_Type"> * <complexContent> * <extension base="{http://www.isotc211.org/2005/gco}AbstractObject_Type"> * <sequence> * <element name="title" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType"/> * <element name="alternateTitle" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" maxOccurs="unbounded" minOccurs="0"/> * <element name="date" type="{http://www.isotc211.org/2005/gmd}CI_Date_PropertyType" maxOccurs="unbounded"/> * <element name="edition" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/> * <element name="editionDate" type="{http://www.isotc211.org/2005/gco}Date_PropertyType" minOccurs="0"/> * <element name="identifier" type="{http://www.isotc211.org/2005/gmd}MD_Identifier_PropertyType" maxOccurs="unbounded" minOccurs="0"/> * <element name="citedResponsibleParty" type="{http://www.isotc211.org/2005/gmd}CI_ResponsibleParty_PropertyType" maxOccurs="unbounded" minOccurs="0"/> * <element name="presentationForm" type="{http://www.isotc211.org/2005/gmd}CI_PresentationFormCode_PropertyType" maxOccurs="unbounded" minOccurs="0"/> * <element name="series" type="{http://www.isotc211.org/2005/gmd}CI_Series_PropertyType" minOccurs="0"/> * <element name="otherCitationDetails" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/> * <element name="collectiveTitle" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/> * <element name="ISBN" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/> * <element name="ISSN" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/> * </sequence> * </extension> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "CI_Citation_Type", propOrder = { "title", "alternateTitle", "date", "edition", "editionDate", "identifier", "citedResponsibleParty", "presentationForm", "series", "otherCitationDetails", "collectiveTitle", "isbn", "issn" }) public class CICitationType extends AbstractObjectType implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2 { private final static long serialVersionUID = 1L; @XmlElement(required = true) @NotNull(message = "CICitationType.title {javax.validation.constraints.NotNull.message}") @Valid protected CharacterStringPropertyType title; @Valid protected List<CharacterStringPropertyType> alternateTitle; @XmlElement(required = true) @NotNull(message = "CICitationType.date {javax.validation.constraints.NotNull.message}") @Size(min = 1) @Valid protected List<CIDatePropertyType> date; @Valid protected CharacterStringPropertyType edition; @Valid protected DatePropertyType editionDate; @Valid protected List<MDIdentifierPropertyType> identifier; @Valid protected List<CIResponsiblePartyPropertyType> citedResponsibleParty; @Valid protected List<CIPresentationFormCodePropertyType> presentationForm; @Valid protected CISeriesPropertyType series; @Valid protected CharacterStringPropertyType otherCitationDetails; @Valid protected CharacterStringPropertyType collectiveTitle; @XmlElement(name = "ISBN") @Valid protected CharacterStringPropertyType isbn; @XmlElement(name = "ISSN") @Valid protected CharacterStringPropertyType issn; /** * Gets the value of the title property. * * @return * possible object is * {@link CharacterStringPropertyType } * */ public CharacterStringPropertyType getTitle() { return title; } /** * Sets the value of the title property. * * @param value * allowed object is * {@link CharacterStringPropertyType } * */ public void setTitle(CharacterStringPropertyType value) { this.title = value; } public boolean isSetTitle() { return (this.title!= null); } /** * Gets the value of the alternateTitle 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 alternateTitle property. * * <p> * For example, to add a new item, do as follows: * <pre> * getAlternateTitle().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link CharacterStringPropertyType } * * */ public List<CharacterStringPropertyType> getAlternateTitle() { if (alternateTitle == null) { alternateTitle = new ArrayList<CharacterStringPropertyType>(); } return this.alternateTitle; } public boolean isSetAlternateTitle() { return ((this.alternateTitle!= null)&&(!this.alternateTitle.isEmpty())); } public void unsetAlternateTitle() { this.alternateTitle = null; } /** * Gets the value of the date 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 date property. * * <p> * For example, to add a new item, do as follows: * <pre> * getDate().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link CIDatePropertyType } * * */ public List<CIDatePropertyType> getDate() { if (date == null) { date = new ArrayList<CIDatePropertyType>(); } return this.date; } public boolean isSetDate() { return ((this.date!= null)&&(!this.date.isEmpty())); } public void unsetDate() { this.date = null; } /** * Gets the value of the edition property. * * @return * possible object is * {@link CharacterStringPropertyType } * */ public CharacterStringPropertyType getEdition() { return edition; } /** * Sets the value of the edition property. * * @param value * allowed object is * {@link CharacterStringPropertyType } * */ public void setEdition(CharacterStringPropertyType value) { this.edition = value; } public boolean isSetEdition() { return (this.edition!= null); } /** * Gets the value of the editionDate property. * * @return * possible object is * {@link DatePropertyType } * */ public DatePropertyType getEditionDate() { return editionDate; } /** * Sets the value of the editionDate property. * * @param value * allowed object is * {@link DatePropertyType } * */ public void setEditionDate(DatePropertyType value) { this.editionDate = value; } public boolean isSetEditionDate() { return (this.editionDate!= null); } /** * Gets the value of the identifier 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 identifier property. * * <p> * For example, to add a new item, do as follows: * <pre> * getIdentifier().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link MDIdentifierPropertyType } * * */ public List<MDIdentifierPropertyType> getIdentifier() { if (identifier == null) { identifier = new ArrayList<MDIdentifierPropertyType>(); } return this.identifier; } public boolean isSetIdentifier() { return ((this.identifier!= null)&&(!this.identifier.isEmpty())); } public void unsetIdentifier() { this.identifier = null; } /** * Gets the value of the citedResponsibleParty 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 citedResponsibleParty property. * * <p> * For example, to add a new item, do as follows: * <pre> * getCitedResponsibleParty().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link CIResponsiblePartyPropertyType } * * */ public List<CIResponsiblePartyPropertyType> getCitedResponsibleParty() { if (citedResponsibleParty == null) { citedResponsibleParty = new ArrayList<CIResponsiblePartyPropertyType>(); } return this.citedResponsibleParty; } public boolean isSetCitedResponsibleParty() { return ((this.citedResponsibleParty!= null)&&(!this.citedResponsibleParty.isEmpty())); } public void unsetCitedResponsibleParty() { this.citedResponsibleParty = null; } /** * Gets the value of the presentationForm 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 presentationForm property. * * <p> * For example, to add a new item, do as follows: * <pre> * getPresentationForm().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link CIPresentationFormCodePropertyType } * * */ public List<CIPresentationFormCodePropertyType> getPresentationForm() { if (presentationForm == null) { presentationForm = new ArrayList<CIPresentationFormCodePropertyType>(); } return this.presentationForm; } public boolean isSetPresentationForm() { return ((this.presentationForm!= null)&&(!this.presentationForm.isEmpty())); } public void unsetPresentationForm() { this.presentationForm = null; } /** * Gets the value of the series property. * * @return * possible object is * {@link CISeriesPropertyType } * */ public CISeriesPropertyType getSeries() { return series; } /** * Sets the value of the series property. * * @param value * allowed object is * {@link CISeriesPropertyType } * */ public void setSeries(CISeriesPropertyType value) { this.series = value; } public boolean isSetSeries() { return (this.series!= null); } /** * Gets the value of the otherCitationDetails property. * * @return * possible object is * {@link CharacterStringPropertyType } * */ public CharacterStringPropertyType getOtherCitationDetails() { return otherCitationDetails; } /** * Sets the value of the otherCitationDetails property. * * @param value * allowed object is * {@link CharacterStringPropertyType } * */ public void setOtherCitationDetails(CharacterStringPropertyType value) { this.otherCitationDetails = value; } public boolean isSetOtherCitationDetails() { return (this.otherCitationDetails!= null); } /** * Gets the value of the collectiveTitle property. * * @return * possible object is * {@link CharacterStringPropertyType } * */ public CharacterStringPropertyType getCollectiveTitle() { return collectiveTitle; } /** * Sets the value of the collectiveTitle property. * * @param value * allowed object is * {@link CharacterStringPropertyType } * */ public void setCollectiveTitle(CharacterStringPropertyType value) { this.collectiveTitle = value; } public boolean isSetCollectiveTitle() { return (this.collectiveTitle!= null); } /** * Gets the value of the isbn property. * * @return * possible object is * {@link CharacterStringPropertyType } * */ public CharacterStringPropertyType getISBN() { return isbn; } /** * Sets the value of the isbn property. * * @param value * allowed object is * {@link CharacterStringPropertyType } * */ public void setISBN(CharacterStringPropertyType value) { this.isbn = value; } public boolean isSetISBN() { return (this.isbn!= null); } /** * Gets the value of the issn property. * * @return * possible object is * {@link CharacterStringPropertyType } * */ public CharacterStringPropertyType getISSN() { return issn; } /** * Sets the value of the issn property. * * @param value * allowed object is * {@link CharacterStringPropertyType } * */ public void setISSN(CharacterStringPropertyType value) { this.issn = value; } public boolean isSetISSN() { return (this.issn!= null); } public String toString() { final ToStringStrategy2 strategy = JAXBToStringStrategy.INSTANCE; final StringBuilder buffer = new StringBuilder(); append(null, buffer, strategy); return buffer.toString(); } public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) { strategy.appendStart(locator, this, buffer); appendFields(locator, buffer, strategy); strategy.appendEnd(locator, this, buffer); return buffer; } public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) { super.appendFields(locator, buffer, strategy); { CharacterStringPropertyType theTitle; theTitle = this.getTitle(); strategy.appendField(locator, this, "title", buffer, theTitle, this.isSetTitle()); } { List<CharacterStringPropertyType> theAlternateTitle; theAlternateTitle = (this.isSetAlternateTitle()?this.getAlternateTitle():null); strategy.appendField(locator, this, "alternateTitle", buffer, theAlternateTitle, this.isSetAlternateTitle()); } { List<CIDatePropertyType> theDate; theDate = (this.isSetDate()?this.getDate():null); strategy.appendField(locator, this, "date", buffer, theDate, this.isSetDate()); } { CharacterStringPropertyType theEdition; theEdition = this.getEdition(); strategy.appendField(locator, this, "edition", buffer, theEdition, this.isSetEdition()); } { DatePropertyType theEditionDate; theEditionDate = this.getEditionDate(); strategy.appendField(locator, this, "editionDate", buffer, theEditionDate, this.isSetEditionDate()); } { List<MDIdentifierPropertyType> theIdentifier; theIdentifier = (this.isSetIdentifier()?this.getIdentifier():null); strategy.appendField(locator, this, "identifier", buffer, theIdentifier, this.isSetIdentifier()); } { List<CIResponsiblePartyPropertyType> theCitedResponsibleParty; theCitedResponsibleParty = (this.isSetCitedResponsibleParty()?this.getCitedResponsibleParty():null); strategy.appendField(locator, this, "citedResponsibleParty", buffer, theCitedResponsibleParty, this.isSetCitedResponsibleParty()); } { List<CIPresentationFormCodePropertyType> thePresentationForm; thePresentationForm = (this.isSetPresentationForm()?this.getPresentationForm():null); strategy.appendField(locator, this, "presentationForm", buffer, thePresentationForm, this.isSetPresentationForm()); } { CISeriesPropertyType theSeries; theSeries = this.getSeries(); strategy.appendField(locator, this, "series", buffer, theSeries, this.isSetSeries()); } { CharacterStringPropertyType theOtherCitationDetails; theOtherCitationDetails = this.getOtherCitationDetails(); strategy.appendField(locator, this, "otherCitationDetails", buffer, theOtherCitationDetails, this.isSetOtherCitationDetails()); } { CharacterStringPropertyType theCollectiveTitle; theCollectiveTitle = this.getCollectiveTitle(); strategy.appendField(locator, this, "collectiveTitle", buffer, theCollectiveTitle, this.isSetCollectiveTitle()); } { CharacterStringPropertyType theISBN; theISBN = this.getISBN(); strategy.appendField(locator, this, "isbn", buffer, theISBN, this.isSetISBN()); } { CharacterStringPropertyType theISSN; theISSN = this.getISSN(); strategy.appendField(locator, this, "issn", buffer, theISSN, this.isSetISSN()); } return buffer; } public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy2 strategy) { if ((object == null)||(this.getClass()!= object.getClass())) { return false; } if (this == object) { return true; } if (!super.equals(thisLocator, thatLocator, object, strategy)) { return false; } final CICitationType that = ((CICitationType) object); { CharacterStringPropertyType lhsTitle; lhsTitle = this.getTitle(); CharacterStringPropertyType rhsTitle; rhsTitle = that.getTitle(); if (!strategy.equals(LocatorUtils.property(thisLocator, "title", lhsTitle), LocatorUtils.property(thatLocator, "title", rhsTitle), lhsTitle, rhsTitle, this.isSetTitle(), that.isSetTitle())) { return false; } } { List<CharacterStringPropertyType> lhsAlternateTitle; lhsAlternateTitle = (this.isSetAlternateTitle()?this.getAlternateTitle():null); List<CharacterStringPropertyType> rhsAlternateTitle; rhsAlternateTitle = (that.isSetAlternateTitle()?that.getAlternateTitle():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "alternateTitle", lhsAlternateTitle), LocatorUtils.property(thatLocator, "alternateTitle", rhsAlternateTitle), lhsAlternateTitle, rhsAlternateTitle, this.isSetAlternateTitle(), that.isSetAlternateTitle())) { return false; } } { List<CIDatePropertyType> lhsDate; lhsDate = (this.isSetDate()?this.getDate():null); List<CIDatePropertyType> rhsDate; rhsDate = (that.isSetDate()?that.getDate():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "date", lhsDate), LocatorUtils.property(thatLocator, "date", rhsDate), lhsDate, rhsDate, this.isSetDate(), that.isSetDate())) { return false; } } { CharacterStringPropertyType lhsEdition; lhsEdition = this.getEdition(); CharacterStringPropertyType rhsEdition; rhsEdition = that.getEdition(); if (!strategy.equals(LocatorUtils.property(thisLocator, "edition", lhsEdition), LocatorUtils.property(thatLocator, "edition", rhsEdition), lhsEdition, rhsEdition, this.isSetEdition(), that.isSetEdition())) { return false; } } { DatePropertyType lhsEditionDate; lhsEditionDate = this.getEditionDate(); DatePropertyType rhsEditionDate; rhsEditionDate = that.getEditionDate(); if (!strategy.equals(LocatorUtils.property(thisLocator, "editionDate", lhsEditionDate), LocatorUtils.property(thatLocator, "editionDate", rhsEditionDate), lhsEditionDate, rhsEditionDate, this.isSetEditionDate(), that.isSetEditionDate())) { return false; } } { List<MDIdentifierPropertyType> lhsIdentifier; lhsIdentifier = (this.isSetIdentifier()?this.getIdentifier():null); List<MDIdentifierPropertyType> rhsIdentifier; rhsIdentifier = (that.isSetIdentifier()?that.getIdentifier():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "identifier", lhsIdentifier), LocatorUtils.property(thatLocator, "identifier", rhsIdentifier), lhsIdentifier, rhsIdentifier, this.isSetIdentifier(), that.isSetIdentifier())) { return false; } } { List<CIResponsiblePartyPropertyType> lhsCitedResponsibleParty; lhsCitedResponsibleParty = (this.isSetCitedResponsibleParty()?this.getCitedResponsibleParty():null); List<CIResponsiblePartyPropertyType> rhsCitedResponsibleParty; rhsCitedResponsibleParty = (that.isSetCitedResponsibleParty()?that.getCitedResponsibleParty():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "citedResponsibleParty", lhsCitedResponsibleParty), LocatorUtils.property(thatLocator, "citedResponsibleParty", rhsCitedResponsibleParty), lhsCitedResponsibleParty, rhsCitedResponsibleParty, this.isSetCitedResponsibleParty(), that.isSetCitedResponsibleParty())) { return false; } } { List<CIPresentationFormCodePropertyType> lhsPresentationForm; lhsPresentationForm = (this.isSetPresentationForm()?this.getPresentationForm():null); List<CIPresentationFormCodePropertyType> rhsPresentationForm; rhsPresentationForm = (that.isSetPresentationForm()?that.getPresentationForm():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "presentationForm", lhsPresentationForm), LocatorUtils.property(thatLocator, "presentationForm", rhsPresentationForm), lhsPresentationForm, rhsPresentationForm, this.isSetPresentationForm(), that.isSetPresentationForm())) { return false; } } { CISeriesPropertyType lhsSeries; lhsSeries = this.getSeries(); CISeriesPropertyType rhsSeries; rhsSeries = that.getSeries(); if (!strategy.equals(LocatorUtils.property(thisLocator, "series", lhsSeries), LocatorUtils.property(thatLocator, "series", rhsSeries), lhsSeries, rhsSeries, this.isSetSeries(), that.isSetSeries())) { return false; } } { CharacterStringPropertyType lhsOtherCitationDetails; lhsOtherCitationDetails = this.getOtherCitationDetails(); CharacterStringPropertyType rhsOtherCitationDetails; rhsOtherCitationDetails = that.getOtherCitationDetails(); if (!strategy.equals(LocatorUtils.property(thisLocator, "otherCitationDetails", lhsOtherCitationDetails), LocatorUtils.property(thatLocator, "otherCitationDetails", rhsOtherCitationDetails), lhsOtherCitationDetails, rhsOtherCitationDetails, this.isSetOtherCitationDetails(), that.isSetOtherCitationDetails())) { return false; } } { CharacterStringPropertyType lhsCollectiveTitle; lhsCollectiveTitle = this.getCollectiveTitle(); CharacterStringPropertyType rhsCollectiveTitle; rhsCollectiveTitle = that.getCollectiveTitle(); if (!strategy.equals(LocatorUtils.property(thisLocator, "collectiveTitle", lhsCollectiveTitle), LocatorUtils.property(thatLocator, "collectiveTitle", rhsCollectiveTitle), lhsCollectiveTitle, rhsCollectiveTitle, this.isSetCollectiveTitle(), that.isSetCollectiveTitle())) { return false; } } { CharacterStringPropertyType lhsISBN; lhsISBN = this.getISBN(); CharacterStringPropertyType rhsISBN; rhsISBN = that.getISBN(); if (!strategy.equals(LocatorUtils.property(thisLocator, "isbn", lhsISBN), LocatorUtils.property(thatLocator, "isbn", rhsISBN), lhsISBN, rhsISBN, this.isSetISBN(), that.isSetISBN())) { return false; } } { CharacterStringPropertyType lhsISSN; lhsISSN = this.getISSN(); CharacterStringPropertyType rhsISSN; rhsISSN = that.getISSN(); if (!strategy.equals(LocatorUtils.property(thisLocator, "issn", lhsISSN), LocatorUtils.property(thatLocator, "issn", rhsISSN), lhsISSN, rhsISSN, this.isSetISSN(), that.isSetISSN())) { return false; } } return true; } public boolean equals(Object object) { final EqualsStrategy2 strategy = JAXBEqualsStrategy.INSTANCE; return equals(null, null, object, strategy); } public int hashCode(ObjectLocator locator, HashCodeStrategy2 strategy) { int currentHashCode = super.hashCode(locator, strategy); { CharacterStringPropertyType theTitle; theTitle = this.getTitle(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "title", theTitle), currentHashCode, theTitle, this.isSetTitle()); } { List<CharacterStringPropertyType> theAlternateTitle; theAlternateTitle = (this.isSetAlternateTitle()?this.getAlternateTitle():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "alternateTitle", theAlternateTitle), currentHashCode, theAlternateTitle, this.isSetAlternateTitle()); } { List<CIDatePropertyType> theDate; theDate = (this.isSetDate()?this.getDate():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "date", theDate), currentHashCode, theDate, this.isSetDate()); } { CharacterStringPropertyType theEdition; theEdition = this.getEdition(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "edition", theEdition), currentHashCode, theEdition, this.isSetEdition()); } { DatePropertyType theEditionDate; theEditionDate = this.getEditionDate(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "editionDate", theEditionDate), currentHashCode, theEditionDate, this.isSetEditionDate()); } { List<MDIdentifierPropertyType> theIdentifier; theIdentifier = (this.isSetIdentifier()?this.getIdentifier():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "identifier", theIdentifier), currentHashCode, theIdentifier, this.isSetIdentifier()); } { List<CIResponsiblePartyPropertyType> theCitedResponsibleParty; theCitedResponsibleParty = (this.isSetCitedResponsibleParty()?this.getCitedResponsibleParty():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "citedResponsibleParty", theCitedResponsibleParty), currentHashCode, theCitedResponsibleParty, this.isSetCitedResponsibleParty()); } { List<CIPresentationFormCodePropertyType> thePresentationForm; thePresentationForm = (this.isSetPresentationForm()?this.getPresentationForm():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "presentationForm", thePresentationForm), currentHashCode, thePresentationForm, this.isSetPresentationForm()); } { CISeriesPropertyType theSeries; theSeries = this.getSeries(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "series", theSeries), currentHashCode, theSeries, this.isSetSeries()); } { CharacterStringPropertyType theOtherCitationDetails; theOtherCitationDetails = this.getOtherCitationDetails(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "otherCitationDetails", theOtherCitationDetails), currentHashCode, theOtherCitationDetails, this.isSetOtherCitationDetails()); } { CharacterStringPropertyType theCollectiveTitle; theCollectiveTitle = this.getCollectiveTitle(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "collectiveTitle", theCollectiveTitle), currentHashCode, theCollectiveTitle, this.isSetCollectiveTitle()); } { CharacterStringPropertyType theISBN; theISBN = this.getISBN(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "isbn", theISBN), currentHashCode, theISBN, this.isSetISBN()); } { CharacterStringPropertyType theISSN; theISSN = this.getISSN(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "issn", theISSN), currentHashCode, theISSN, this.isSetISSN()); } return currentHashCode; } public int hashCode() { final HashCodeStrategy2 strategy = JAXBHashCodeStrategy.INSTANCE; return this.hashCode(null, strategy); } public Object clone() { return copyTo(createNewInstance()); } public Object copyTo(Object target) { final CopyStrategy2 strategy = JAXBCopyStrategy.INSTANCE; return copyTo(null, target, strategy); } public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) { final Object draftCopy = ((target == null)?createNewInstance():target); super.copyTo(locator, draftCopy, strategy); if (draftCopy instanceof CICitationType) { final CICitationType copy = ((CICitationType) draftCopy); { Boolean titleShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetTitle()); if (titleShouldBeCopiedAndSet == Boolean.TRUE) { CharacterStringPropertyType sourceTitle; sourceTitle = this.getTitle(); CharacterStringPropertyType copyTitle = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "title", sourceTitle), sourceTitle, this.isSetTitle())); copy.setTitle(copyTitle); } else { if (titleShouldBeCopiedAndSet == Boolean.FALSE) { copy.title = null; } } } { Boolean alternateTitleShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetAlternateTitle()); if (alternateTitleShouldBeCopiedAndSet == Boolean.TRUE) { List<CharacterStringPropertyType> sourceAlternateTitle; sourceAlternateTitle = (this.isSetAlternateTitle()?this.getAlternateTitle():null); @SuppressWarnings("unchecked") List<CharacterStringPropertyType> copyAlternateTitle = ((List<CharacterStringPropertyType> ) strategy.copy(LocatorUtils.property(locator, "alternateTitle", sourceAlternateTitle), sourceAlternateTitle, this.isSetAlternateTitle())); copy.unsetAlternateTitle(); if (copyAlternateTitle!= null) { List<CharacterStringPropertyType> uniqueAlternateTitlel = copy.getAlternateTitle(); uniqueAlternateTitlel.addAll(copyAlternateTitle); } } else { if (alternateTitleShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetAlternateTitle(); } } } { Boolean dateShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDate()); if (dateShouldBeCopiedAndSet == Boolean.TRUE) { List<CIDatePropertyType> sourceDate; sourceDate = (this.isSetDate()?this.getDate():null); @SuppressWarnings("unchecked") List<CIDatePropertyType> copyDate = ((List<CIDatePropertyType> ) strategy.copy(LocatorUtils.property(locator, "date", sourceDate), sourceDate, this.isSetDate())); copy.unsetDate(); if (copyDate!= null) { List<CIDatePropertyType> uniqueDatel = copy.getDate(); uniqueDatel.addAll(copyDate); } } else { if (dateShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetDate(); } } } { Boolean editionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetEdition()); if (editionShouldBeCopiedAndSet == Boolean.TRUE) { CharacterStringPropertyType sourceEdition; sourceEdition = this.getEdition(); CharacterStringPropertyType copyEdition = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "edition", sourceEdition), sourceEdition, this.isSetEdition())); copy.setEdition(copyEdition); } else { if (editionShouldBeCopiedAndSet == Boolean.FALSE) { copy.edition = null; } } } { Boolean editionDateShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetEditionDate()); if (editionDateShouldBeCopiedAndSet == Boolean.TRUE) { DatePropertyType sourceEditionDate; sourceEditionDate = this.getEditionDate(); DatePropertyType copyEditionDate = ((DatePropertyType) strategy.copy(LocatorUtils.property(locator, "editionDate", sourceEditionDate), sourceEditionDate, this.isSetEditionDate())); copy.setEditionDate(copyEditionDate); } else { if (editionDateShouldBeCopiedAndSet == Boolean.FALSE) { copy.editionDate = null; } } } { Boolean identifierShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetIdentifier()); if (identifierShouldBeCopiedAndSet == Boolean.TRUE) { List<MDIdentifierPropertyType> sourceIdentifier; sourceIdentifier = (this.isSetIdentifier()?this.getIdentifier():null); @SuppressWarnings("unchecked") List<MDIdentifierPropertyType> copyIdentifier = ((List<MDIdentifierPropertyType> ) strategy.copy(LocatorUtils.property(locator, "identifier", sourceIdentifier), sourceIdentifier, this.isSetIdentifier())); copy.unsetIdentifier(); if (copyIdentifier!= null) { List<MDIdentifierPropertyType> uniqueIdentifierl = copy.getIdentifier(); uniqueIdentifierl.addAll(copyIdentifier); } } else { if (identifierShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetIdentifier(); } } } { Boolean citedResponsiblePartyShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetCitedResponsibleParty()); if (citedResponsiblePartyShouldBeCopiedAndSet == Boolean.TRUE) { List<CIResponsiblePartyPropertyType> sourceCitedResponsibleParty; sourceCitedResponsibleParty = (this.isSetCitedResponsibleParty()?this.getCitedResponsibleParty():null); @SuppressWarnings("unchecked") List<CIResponsiblePartyPropertyType> copyCitedResponsibleParty = ((List<CIResponsiblePartyPropertyType> ) strategy.copy(LocatorUtils.property(locator, "citedResponsibleParty", sourceCitedResponsibleParty), sourceCitedResponsibleParty, this.isSetCitedResponsibleParty())); copy.unsetCitedResponsibleParty(); if (copyCitedResponsibleParty!= null) { List<CIResponsiblePartyPropertyType> uniqueCitedResponsiblePartyl = copy.getCitedResponsibleParty(); uniqueCitedResponsiblePartyl.addAll(copyCitedResponsibleParty); } } else { if (citedResponsiblePartyShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetCitedResponsibleParty(); } } } { Boolean presentationFormShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetPresentationForm()); if (presentationFormShouldBeCopiedAndSet == Boolean.TRUE) { List<CIPresentationFormCodePropertyType> sourcePresentationForm; sourcePresentationForm = (this.isSetPresentationForm()?this.getPresentationForm():null); @SuppressWarnings("unchecked") List<CIPresentationFormCodePropertyType> copyPresentationForm = ((List<CIPresentationFormCodePropertyType> ) strategy.copy(LocatorUtils.property(locator, "presentationForm", sourcePresentationForm), sourcePresentationForm, this.isSetPresentationForm())); copy.unsetPresentationForm(); if (copyPresentationForm!= null) { List<CIPresentationFormCodePropertyType> uniquePresentationForml = copy.getPresentationForm(); uniquePresentationForml.addAll(copyPresentationForm); } } else { if (presentationFormShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetPresentationForm(); } } } { Boolean seriesShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetSeries()); if (seriesShouldBeCopiedAndSet == Boolean.TRUE) { CISeriesPropertyType sourceSeries; sourceSeries = this.getSeries(); CISeriesPropertyType copySeries = ((CISeriesPropertyType) strategy.copy(LocatorUtils.property(locator, "series", sourceSeries), sourceSeries, this.isSetSeries())); copy.setSeries(copySeries); } else { if (seriesShouldBeCopiedAndSet == Boolean.FALSE) { copy.series = null; } } } { Boolean otherCitationDetailsShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetOtherCitationDetails()); if (otherCitationDetailsShouldBeCopiedAndSet == Boolean.TRUE) { CharacterStringPropertyType sourceOtherCitationDetails; sourceOtherCitationDetails = this.getOtherCitationDetails(); CharacterStringPropertyType copyOtherCitationDetails = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "otherCitationDetails", sourceOtherCitationDetails), sourceOtherCitationDetails, this.isSetOtherCitationDetails())); copy.setOtherCitationDetails(copyOtherCitationDetails); } else { if (otherCitationDetailsShouldBeCopiedAndSet == Boolean.FALSE) { copy.otherCitationDetails = null; } } } { Boolean collectiveTitleShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetCollectiveTitle()); if (collectiveTitleShouldBeCopiedAndSet == Boolean.TRUE) { CharacterStringPropertyType sourceCollectiveTitle; sourceCollectiveTitle = this.getCollectiveTitle(); CharacterStringPropertyType copyCollectiveTitle = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "collectiveTitle", sourceCollectiveTitle), sourceCollectiveTitle, this.isSetCollectiveTitle())); copy.setCollectiveTitle(copyCollectiveTitle); } else { if (collectiveTitleShouldBeCopiedAndSet == Boolean.FALSE) { copy.collectiveTitle = null; } } } { Boolean isbnShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetISBN()); if (isbnShouldBeCopiedAndSet == Boolean.TRUE) { CharacterStringPropertyType sourceISBN; sourceISBN = this.getISBN(); CharacterStringPropertyType copyISBN = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "isbn", sourceISBN), sourceISBN, this.isSetISBN())); copy.setISBN(copyISBN); } else { if (isbnShouldBeCopiedAndSet == Boolean.FALSE) { copy.isbn = null; } } } { Boolean issnShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetISSN()); if (issnShouldBeCopiedAndSet == Boolean.TRUE) { CharacterStringPropertyType sourceISSN; sourceISSN = this.getISSN(); CharacterStringPropertyType copyISSN = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "issn", sourceISSN), sourceISSN, this.isSetISSN())); copy.setISSN(copyISSN); } else { if (issnShouldBeCopiedAndSet == Boolean.FALSE) { copy.issn = null; } } } } return draftCopy; } public Object createNewInstance() { return new CICitationType(); } public void mergeFrom(Object left, Object right) { final MergeStrategy2 strategy = JAXBMergeStrategy.INSTANCE; mergeFrom(null, null, left, right, strategy); } public void mergeFrom(ObjectLocator leftLocator, ObjectLocator rightLocator, Object left, Object right, MergeStrategy2 strategy) { super.mergeFrom(leftLocator, rightLocator, left, right, strategy); if (right instanceof CICitationType) { final CICitationType target = this; final CICitationType leftObject = ((CICitationType) left); final CICitationType rightObject = ((CICitationType) right); { Boolean titleShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetTitle(), rightObject.isSetTitle()); if (titleShouldBeMergedAndSet == Boolean.TRUE) { CharacterStringPropertyType lhsTitle; lhsTitle = leftObject.getTitle(); CharacterStringPropertyType rhsTitle; rhsTitle = rightObject.getTitle(); CharacterStringPropertyType mergedTitle = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "title", lhsTitle), LocatorUtils.property(rightLocator, "title", rhsTitle), lhsTitle, rhsTitle, leftObject.isSetTitle(), rightObject.isSetTitle())); target.setTitle(mergedTitle); } else { if (titleShouldBeMergedAndSet == Boolean.FALSE) { target.title = null; } } } { Boolean alternateTitleShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetAlternateTitle(), rightObject.isSetAlternateTitle()); if (alternateTitleShouldBeMergedAndSet == Boolean.TRUE) { List<CharacterStringPropertyType> lhsAlternateTitle; lhsAlternateTitle = (leftObject.isSetAlternateTitle()?leftObject.getAlternateTitle():null); List<CharacterStringPropertyType> rhsAlternateTitle; rhsAlternateTitle = (rightObject.isSetAlternateTitle()?rightObject.getAlternateTitle():null); List<CharacterStringPropertyType> mergedAlternateTitle = ((List<CharacterStringPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "alternateTitle", lhsAlternateTitle), LocatorUtils.property(rightLocator, "alternateTitle", rhsAlternateTitle), lhsAlternateTitle, rhsAlternateTitle, leftObject.isSetAlternateTitle(), rightObject.isSetAlternateTitle())); target.unsetAlternateTitle(); if (mergedAlternateTitle!= null) { List<CharacterStringPropertyType> uniqueAlternateTitlel = target.getAlternateTitle(); uniqueAlternateTitlel.addAll(mergedAlternateTitle); } } else { if (alternateTitleShouldBeMergedAndSet == Boolean.FALSE) { target.unsetAlternateTitle(); } } } { Boolean dateShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDate(), rightObject.isSetDate()); if (dateShouldBeMergedAndSet == Boolean.TRUE) { List<CIDatePropertyType> lhsDate; lhsDate = (leftObject.isSetDate()?leftObject.getDate():null); List<CIDatePropertyType> rhsDate; rhsDate = (rightObject.isSetDate()?rightObject.getDate():null); List<CIDatePropertyType> mergedDate = ((List<CIDatePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "date", lhsDate), LocatorUtils.property(rightLocator, "date", rhsDate), lhsDate, rhsDate, leftObject.isSetDate(), rightObject.isSetDate())); target.unsetDate(); if (mergedDate!= null) { List<CIDatePropertyType> uniqueDatel = target.getDate(); uniqueDatel.addAll(mergedDate); } } else { if (dateShouldBeMergedAndSet == Boolean.FALSE) { target.unsetDate(); } } } { Boolean editionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetEdition(), rightObject.isSetEdition()); if (editionShouldBeMergedAndSet == Boolean.TRUE) { CharacterStringPropertyType lhsEdition; lhsEdition = leftObject.getEdition(); CharacterStringPropertyType rhsEdition; rhsEdition = rightObject.getEdition(); CharacterStringPropertyType mergedEdition = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "edition", lhsEdition), LocatorUtils.property(rightLocator, "edition", rhsEdition), lhsEdition, rhsEdition, leftObject.isSetEdition(), rightObject.isSetEdition())); target.setEdition(mergedEdition); } else { if (editionShouldBeMergedAndSet == Boolean.FALSE) { target.edition = null; } } } { Boolean editionDateShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetEditionDate(), rightObject.isSetEditionDate()); if (editionDateShouldBeMergedAndSet == Boolean.TRUE) { DatePropertyType lhsEditionDate; lhsEditionDate = leftObject.getEditionDate(); DatePropertyType rhsEditionDate; rhsEditionDate = rightObject.getEditionDate(); DatePropertyType mergedEditionDate = ((DatePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "editionDate", lhsEditionDate), LocatorUtils.property(rightLocator, "editionDate", rhsEditionDate), lhsEditionDate, rhsEditionDate, leftObject.isSetEditionDate(), rightObject.isSetEditionDate())); target.setEditionDate(mergedEditionDate); } else { if (editionDateShouldBeMergedAndSet == Boolean.FALSE) { target.editionDate = null; } } } { Boolean identifierShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetIdentifier(), rightObject.isSetIdentifier()); if (identifierShouldBeMergedAndSet == Boolean.TRUE) { List<MDIdentifierPropertyType> lhsIdentifier; lhsIdentifier = (leftObject.isSetIdentifier()?leftObject.getIdentifier():null); List<MDIdentifierPropertyType> rhsIdentifier; rhsIdentifier = (rightObject.isSetIdentifier()?rightObject.getIdentifier():null); List<MDIdentifierPropertyType> mergedIdentifier = ((List<MDIdentifierPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "identifier", lhsIdentifier), LocatorUtils.property(rightLocator, "identifier", rhsIdentifier), lhsIdentifier, rhsIdentifier, leftObject.isSetIdentifier(), rightObject.isSetIdentifier())); target.unsetIdentifier(); if (mergedIdentifier!= null) { List<MDIdentifierPropertyType> uniqueIdentifierl = target.getIdentifier(); uniqueIdentifierl.addAll(mergedIdentifier); } } else { if (identifierShouldBeMergedAndSet == Boolean.FALSE) { target.unsetIdentifier(); } } } { Boolean citedResponsiblePartyShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetCitedResponsibleParty(), rightObject.isSetCitedResponsibleParty()); if (citedResponsiblePartyShouldBeMergedAndSet == Boolean.TRUE) { List<CIResponsiblePartyPropertyType> lhsCitedResponsibleParty; lhsCitedResponsibleParty = (leftObject.isSetCitedResponsibleParty()?leftObject.getCitedResponsibleParty():null); List<CIResponsiblePartyPropertyType> rhsCitedResponsibleParty; rhsCitedResponsibleParty = (rightObject.isSetCitedResponsibleParty()?rightObject.getCitedResponsibleParty():null); List<CIResponsiblePartyPropertyType> mergedCitedResponsibleParty = ((List<CIResponsiblePartyPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "citedResponsibleParty", lhsCitedResponsibleParty), LocatorUtils.property(rightLocator, "citedResponsibleParty", rhsCitedResponsibleParty), lhsCitedResponsibleParty, rhsCitedResponsibleParty, leftObject.isSetCitedResponsibleParty(), rightObject.isSetCitedResponsibleParty())); target.unsetCitedResponsibleParty(); if (mergedCitedResponsibleParty!= null) { List<CIResponsiblePartyPropertyType> uniqueCitedResponsiblePartyl = target.getCitedResponsibleParty(); uniqueCitedResponsiblePartyl.addAll(mergedCitedResponsibleParty); } } else { if (citedResponsiblePartyShouldBeMergedAndSet == Boolean.FALSE) { target.unsetCitedResponsibleParty(); } } } { Boolean presentationFormShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetPresentationForm(), rightObject.isSetPresentationForm()); if (presentationFormShouldBeMergedAndSet == Boolean.TRUE) { List<CIPresentationFormCodePropertyType> lhsPresentationForm; lhsPresentationForm = (leftObject.isSetPresentationForm()?leftObject.getPresentationForm():null); List<CIPresentationFormCodePropertyType> rhsPresentationForm; rhsPresentationForm = (rightObject.isSetPresentationForm()?rightObject.getPresentationForm():null); List<CIPresentationFormCodePropertyType> mergedPresentationForm = ((List<CIPresentationFormCodePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "presentationForm", lhsPresentationForm), LocatorUtils.property(rightLocator, "presentationForm", rhsPresentationForm), lhsPresentationForm, rhsPresentationForm, leftObject.isSetPresentationForm(), rightObject.isSetPresentationForm())); target.unsetPresentationForm(); if (mergedPresentationForm!= null) { List<CIPresentationFormCodePropertyType> uniquePresentationForml = target.getPresentationForm(); uniquePresentationForml.addAll(mergedPresentationForm); } } else { if (presentationFormShouldBeMergedAndSet == Boolean.FALSE) { target.unsetPresentationForm(); } } } { Boolean seriesShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetSeries(), rightObject.isSetSeries()); if (seriesShouldBeMergedAndSet == Boolean.TRUE) { CISeriesPropertyType lhsSeries; lhsSeries = leftObject.getSeries(); CISeriesPropertyType rhsSeries; rhsSeries = rightObject.getSeries(); CISeriesPropertyType mergedSeries = ((CISeriesPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "series", lhsSeries), LocatorUtils.property(rightLocator, "series", rhsSeries), lhsSeries, rhsSeries, leftObject.isSetSeries(), rightObject.isSetSeries())); target.setSeries(mergedSeries); } else { if (seriesShouldBeMergedAndSet == Boolean.FALSE) { target.series = null; } } } { Boolean otherCitationDetailsShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetOtherCitationDetails(), rightObject.isSetOtherCitationDetails()); if (otherCitationDetailsShouldBeMergedAndSet == Boolean.TRUE) { CharacterStringPropertyType lhsOtherCitationDetails; lhsOtherCitationDetails = leftObject.getOtherCitationDetails(); CharacterStringPropertyType rhsOtherCitationDetails; rhsOtherCitationDetails = rightObject.getOtherCitationDetails(); CharacterStringPropertyType mergedOtherCitationDetails = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "otherCitationDetails", lhsOtherCitationDetails), LocatorUtils.property(rightLocator, "otherCitationDetails", rhsOtherCitationDetails), lhsOtherCitationDetails, rhsOtherCitationDetails, leftObject.isSetOtherCitationDetails(), rightObject.isSetOtherCitationDetails())); target.setOtherCitationDetails(mergedOtherCitationDetails); } else { if (otherCitationDetailsShouldBeMergedAndSet == Boolean.FALSE) { target.otherCitationDetails = null; } } } { Boolean collectiveTitleShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetCollectiveTitle(), rightObject.isSetCollectiveTitle()); if (collectiveTitleShouldBeMergedAndSet == Boolean.TRUE) { CharacterStringPropertyType lhsCollectiveTitle; lhsCollectiveTitle = leftObject.getCollectiveTitle(); CharacterStringPropertyType rhsCollectiveTitle; rhsCollectiveTitle = rightObject.getCollectiveTitle(); CharacterStringPropertyType mergedCollectiveTitle = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "collectiveTitle", lhsCollectiveTitle), LocatorUtils.property(rightLocator, "collectiveTitle", rhsCollectiveTitle), lhsCollectiveTitle, rhsCollectiveTitle, leftObject.isSetCollectiveTitle(), rightObject.isSetCollectiveTitle())); target.setCollectiveTitle(mergedCollectiveTitle); } else { if (collectiveTitleShouldBeMergedAndSet == Boolean.FALSE) { target.collectiveTitle = null; } } } { Boolean isbnShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetISBN(), rightObject.isSetISBN()); if (isbnShouldBeMergedAndSet == Boolean.TRUE) { CharacterStringPropertyType lhsISBN; lhsISBN = leftObject.getISBN(); CharacterStringPropertyType rhsISBN; rhsISBN = rightObject.getISBN(); CharacterStringPropertyType mergedISBN = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "isbn", lhsISBN), LocatorUtils.property(rightLocator, "isbn", rhsISBN), lhsISBN, rhsISBN, leftObject.isSetISBN(), rightObject.isSetISBN())); target.setISBN(mergedISBN); } else { if (isbnShouldBeMergedAndSet == Boolean.FALSE) { target.isbn = null; } } } { Boolean issnShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetISSN(), rightObject.isSetISSN()); if (issnShouldBeMergedAndSet == Boolean.TRUE) { CharacterStringPropertyType lhsISSN; lhsISSN = leftObject.getISSN(); CharacterStringPropertyType rhsISSN; rhsISSN = rightObject.getISSN(); CharacterStringPropertyType mergedISSN = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "issn", lhsISSN), LocatorUtils.property(rightLocator, "issn", rhsISSN), lhsISSN, rhsISSN, leftObject.isSetISSN(), rightObject.isSetISSN())); target.setISSN(mergedISSN); } else { if (issnShouldBeMergedAndSet == Boolean.FALSE) { target.issn = null; } } } } } public void setAlternateTitle(List<CharacterStringPropertyType> value) { this.alternateTitle = null; if (value!= null) { List<CharacterStringPropertyType> draftl = this.getAlternateTitle(); draftl.addAll(value); } } public void setDate(List<CIDatePropertyType> value) { this.date = null; if (value!= null) { List<CIDatePropertyType> draftl = this.getDate(); draftl.addAll(value); } } public void setIdentifier(List<MDIdentifierPropertyType> value) { this.identifier = null; if (value!= null) { List<MDIdentifierPropertyType> draftl = this.getIdentifier(); draftl.addAll(value); } } public void setCitedResponsibleParty(List<CIResponsiblePartyPropertyType> value) { this.citedResponsibleParty = null; if (value!= null) { List<CIResponsiblePartyPropertyType> draftl = this.getCitedResponsibleParty(); draftl.addAll(value); } } public void setPresentationForm(List<CIPresentationFormCodePropertyType> value) { this.presentationForm = null; if (value!= null) { List<CIPresentationFormCodePropertyType> draftl = this.getPresentationForm(); draftl.addAll(value); } } }