// // 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.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.isotc211._2005.gts.TMPeriodDurationPropertyType; 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; /** * Information about the scope and frequency of updating * * <p>Java class for MD_MaintenanceInformation_Type complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="MD_MaintenanceInformation_Type"> * <complexContent> * <extension base="{http://www.isotc211.org/2005/gco}AbstractObject_Type"> * <sequence> * <element name="maintenanceAndUpdateFrequency" type="{http://www.isotc211.org/2005/gmd}MD_MaintenanceFrequencyCode_PropertyType"/> * <element name="dateOfNextUpdate" type="{http://www.isotc211.org/2005/gco}Date_PropertyType" minOccurs="0"/> * <element name="userDefinedMaintenanceFrequency" type="{http://www.isotc211.org/2005/gts}TM_PeriodDuration_PropertyType" minOccurs="0"/> * <element name="updateScope" type="{http://www.isotc211.org/2005/gmd}MD_ScopeCode_PropertyType" maxOccurs="unbounded" minOccurs="0"/> * <element name="updateScopeDescription" type="{http://www.isotc211.org/2005/gmd}MD_ScopeDescription_PropertyType" maxOccurs="unbounded" minOccurs="0"/> * <element name="maintenanceNote" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" maxOccurs="unbounded" minOccurs="0"/> * <element name="contact" type="{http://www.isotc211.org/2005/gmd}CI_ResponsibleParty_PropertyType" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * </extension> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "MD_MaintenanceInformation_Type", propOrder = { "maintenanceAndUpdateFrequency", "dateOfNextUpdate", "userDefinedMaintenanceFrequency", "updateScope", "updateScopeDescription", "maintenanceNote", "contact" }) public class MDMaintenanceInformationType extends AbstractObjectType implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2 { private final static long serialVersionUID = 1L; @XmlElement(required = true) @NotNull(message = "MDMaintenanceInformationType.maintenanceAndUpdateFrequency {javax.validation.constraints.NotNull.message}") @Valid protected MDMaintenanceFrequencyCodePropertyType maintenanceAndUpdateFrequency; @Valid protected DatePropertyType dateOfNextUpdate; @Valid protected TMPeriodDurationPropertyType userDefinedMaintenanceFrequency; @Valid protected List<MDScopeCodePropertyType> updateScope; @Valid protected List<MDScopeDescriptionPropertyType> updateScopeDescription; @Valid protected List<CharacterStringPropertyType> maintenanceNote; @Valid protected List<CIResponsiblePartyPropertyType> contact; /** * Gets the value of the maintenanceAndUpdateFrequency property. * * @return * possible object is * {@link MDMaintenanceFrequencyCodePropertyType } * */ public MDMaintenanceFrequencyCodePropertyType getMaintenanceAndUpdateFrequency() { return maintenanceAndUpdateFrequency; } /** * Sets the value of the maintenanceAndUpdateFrequency property. * * @param value * allowed object is * {@link MDMaintenanceFrequencyCodePropertyType } * */ public void setMaintenanceAndUpdateFrequency(MDMaintenanceFrequencyCodePropertyType value) { this.maintenanceAndUpdateFrequency = value; } public boolean isSetMaintenanceAndUpdateFrequency() { return (this.maintenanceAndUpdateFrequency!= null); } /** * Gets the value of the dateOfNextUpdate property. * * @return * possible object is * {@link DatePropertyType } * */ public DatePropertyType getDateOfNextUpdate() { return dateOfNextUpdate; } /** * Sets the value of the dateOfNextUpdate property. * * @param value * allowed object is * {@link DatePropertyType } * */ public void setDateOfNextUpdate(DatePropertyType value) { this.dateOfNextUpdate = value; } public boolean isSetDateOfNextUpdate() { return (this.dateOfNextUpdate!= null); } /** * Gets the value of the userDefinedMaintenanceFrequency property. * * @return * possible object is * {@link TMPeriodDurationPropertyType } * */ public TMPeriodDurationPropertyType getUserDefinedMaintenanceFrequency() { return userDefinedMaintenanceFrequency; } /** * Sets the value of the userDefinedMaintenanceFrequency property. * * @param value * allowed object is * {@link TMPeriodDurationPropertyType } * */ public void setUserDefinedMaintenanceFrequency(TMPeriodDurationPropertyType value) { this.userDefinedMaintenanceFrequency = value; } public boolean isSetUserDefinedMaintenanceFrequency() { return (this.userDefinedMaintenanceFrequency!= null); } /** * Gets the value of the updateScope 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 updateScope property. * * <p> * For example, to add a new item, do as follows: * <pre> * getUpdateScope().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link MDScopeCodePropertyType } * * */ public List<MDScopeCodePropertyType> getUpdateScope() { if (updateScope == null) { updateScope = new ArrayList<MDScopeCodePropertyType>(); } return this.updateScope; } public boolean isSetUpdateScope() { return ((this.updateScope!= null)&&(!this.updateScope.isEmpty())); } public void unsetUpdateScope() { this.updateScope = null; } /** * Gets the value of the updateScopeDescription 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 updateScopeDescription property. * * <p> * For example, to add a new item, do as follows: * <pre> * getUpdateScopeDescription().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link MDScopeDescriptionPropertyType } * * */ public List<MDScopeDescriptionPropertyType> getUpdateScopeDescription() { if (updateScopeDescription == null) { updateScopeDescription = new ArrayList<MDScopeDescriptionPropertyType>(); } return this.updateScopeDescription; } public boolean isSetUpdateScopeDescription() { return ((this.updateScopeDescription!= null)&&(!this.updateScopeDescription.isEmpty())); } public void unsetUpdateScopeDescription() { this.updateScopeDescription = null; } /** * Gets the value of the maintenanceNote 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 maintenanceNote property. * * <p> * For example, to add a new item, do as follows: * <pre> * getMaintenanceNote().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link CharacterStringPropertyType } * * */ public List<CharacterStringPropertyType> getMaintenanceNote() { if (maintenanceNote == null) { maintenanceNote = new ArrayList<CharacterStringPropertyType>(); } return this.maintenanceNote; } public boolean isSetMaintenanceNote() { return ((this.maintenanceNote!= null)&&(!this.maintenanceNote.isEmpty())); } public void unsetMaintenanceNote() { this.maintenanceNote = null; } /** * Gets the value of the contact 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 contact property. * * <p> * For example, to add a new item, do as follows: * <pre> * getContact().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list * {@link CIResponsiblePartyPropertyType } * * */ public List<CIResponsiblePartyPropertyType> getContact() { if (contact == null) { contact = new ArrayList<CIResponsiblePartyPropertyType>(); } return this.contact; } public boolean isSetContact() { return ((this.contact!= null)&&(!this.contact.isEmpty())); } public void unsetContact() { this.contact = 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); { MDMaintenanceFrequencyCodePropertyType theMaintenanceAndUpdateFrequency; theMaintenanceAndUpdateFrequency = this.getMaintenanceAndUpdateFrequency(); strategy.appendField(locator, this, "maintenanceAndUpdateFrequency", buffer, theMaintenanceAndUpdateFrequency, this.isSetMaintenanceAndUpdateFrequency()); } { DatePropertyType theDateOfNextUpdate; theDateOfNextUpdate = this.getDateOfNextUpdate(); strategy.appendField(locator, this, "dateOfNextUpdate", buffer, theDateOfNextUpdate, this.isSetDateOfNextUpdate()); } { TMPeriodDurationPropertyType theUserDefinedMaintenanceFrequency; theUserDefinedMaintenanceFrequency = this.getUserDefinedMaintenanceFrequency(); strategy.appendField(locator, this, "userDefinedMaintenanceFrequency", buffer, theUserDefinedMaintenanceFrequency, this.isSetUserDefinedMaintenanceFrequency()); } { List<MDScopeCodePropertyType> theUpdateScope; theUpdateScope = (this.isSetUpdateScope()?this.getUpdateScope():null); strategy.appendField(locator, this, "updateScope", buffer, theUpdateScope, this.isSetUpdateScope()); } { List<MDScopeDescriptionPropertyType> theUpdateScopeDescription; theUpdateScopeDescription = (this.isSetUpdateScopeDescription()?this.getUpdateScopeDescription():null); strategy.appendField(locator, this, "updateScopeDescription", buffer, theUpdateScopeDescription, this.isSetUpdateScopeDescription()); } { List<CharacterStringPropertyType> theMaintenanceNote; theMaintenanceNote = (this.isSetMaintenanceNote()?this.getMaintenanceNote():null); strategy.appendField(locator, this, "maintenanceNote", buffer, theMaintenanceNote, this.isSetMaintenanceNote()); } { List<CIResponsiblePartyPropertyType> theContact; theContact = (this.isSetContact()?this.getContact():null); strategy.appendField(locator, this, "contact", buffer, theContact, this.isSetContact()); } 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 MDMaintenanceInformationType that = ((MDMaintenanceInformationType) object); { MDMaintenanceFrequencyCodePropertyType lhsMaintenanceAndUpdateFrequency; lhsMaintenanceAndUpdateFrequency = this.getMaintenanceAndUpdateFrequency(); MDMaintenanceFrequencyCodePropertyType rhsMaintenanceAndUpdateFrequency; rhsMaintenanceAndUpdateFrequency = that.getMaintenanceAndUpdateFrequency(); if (!strategy.equals(LocatorUtils.property(thisLocator, "maintenanceAndUpdateFrequency", lhsMaintenanceAndUpdateFrequency), LocatorUtils.property(thatLocator, "maintenanceAndUpdateFrequency", rhsMaintenanceAndUpdateFrequency), lhsMaintenanceAndUpdateFrequency, rhsMaintenanceAndUpdateFrequency, this.isSetMaintenanceAndUpdateFrequency(), that.isSetMaintenanceAndUpdateFrequency())) { return false; } } { DatePropertyType lhsDateOfNextUpdate; lhsDateOfNextUpdate = this.getDateOfNextUpdate(); DatePropertyType rhsDateOfNextUpdate; rhsDateOfNextUpdate = that.getDateOfNextUpdate(); if (!strategy.equals(LocatorUtils.property(thisLocator, "dateOfNextUpdate", lhsDateOfNextUpdate), LocatorUtils.property(thatLocator, "dateOfNextUpdate", rhsDateOfNextUpdate), lhsDateOfNextUpdate, rhsDateOfNextUpdate, this.isSetDateOfNextUpdate(), that.isSetDateOfNextUpdate())) { return false; } } { TMPeriodDurationPropertyType lhsUserDefinedMaintenanceFrequency; lhsUserDefinedMaintenanceFrequency = this.getUserDefinedMaintenanceFrequency(); TMPeriodDurationPropertyType rhsUserDefinedMaintenanceFrequency; rhsUserDefinedMaintenanceFrequency = that.getUserDefinedMaintenanceFrequency(); if (!strategy.equals(LocatorUtils.property(thisLocator, "userDefinedMaintenanceFrequency", lhsUserDefinedMaintenanceFrequency), LocatorUtils.property(thatLocator, "userDefinedMaintenanceFrequency", rhsUserDefinedMaintenanceFrequency), lhsUserDefinedMaintenanceFrequency, rhsUserDefinedMaintenanceFrequency, this.isSetUserDefinedMaintenanceFrequency(), that.isSetUserDefinedMaintenanceFrequency())) { return false; } } { List<MDScopeCodePropertyType> lhsUpdateScope; lhsUpdateScope = (this.isSetUpdateScope()?this.getUpdateScope():null); List<MDScopeCodePropertyType> rhsUpdateScope; rhsUpdateScope = (that.isSetUpdateScope()?that.getUpdateScope():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "updateScope", lhsUpdateScope), LocatorUtils.property(thatLocator, "updateScope", rhsUpdateScope), lhsUpdateScope, rhsUpdateScope, this.isSetUpdateScope(), that.isSetUpdateScope())) { return false; } } { List<MDScopeDescriptionPropertyType> lhsUpdateScopeDescription; lhsUpdateScopeDescription = (this.isSetUpdateScopeDescription()?this.getUpdateScopeDescription():null); List<MDScopeDescriptionPropertyType> rhsUpdateScopeDescription; rhsUpdateScopeDescription = (that.isSetUpdateScopeDescription()?that.getUpdateScopeDescription():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "updateScopeDescription", lhsUpdateScopeDescription), LocatorUtils.property(thatLocator, "updateScopeDescription", rhsUpdateScopeDescription), lhsUpdateScopeDescription, rhsUpdateScopeDescription, this.isSetUpdateScopeDescription(), that.isSetUpdateScopeDescription())) { return false; } } { List<CharacterStringPropertyType> lhsMaintenanceNote; lhsMaintenanceNote = (this.isSetMaintenanceNote()?this.getMaintenanceNote():null); List<CharacterStringPropertyType> rhsMaintenanceNote; rhsMaintenanceNote = (that.isSetMaintenanceNote()?that.getMaintenanceNote():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "maintenanceNote", lhsMaintenanceNote), LocatorUtils.property(thatLocator, "maintenanceNote", rhsMaintenanceNote), lhsMaintenanceNote, rhsMaintenanceNote, this.isSetMaintenanceNote(), that.isSetMaintenanceNote())) { return false; } } { List<CIResponsiblePartyPropertyType> lhsContact; lhsContact = (this.isSetContact()?this.getContact():null); List<CIResponsiblePartyPropertyType> rhsContact; rhsContact = (that.isSetContact()?that.getContact():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "contact", lhsContact), LocatorUtils.property(thatLocator, "contact", rhsContact), lhsContact, rhsContact, this.isSetContact(), that.isSetContact())) { 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); { MDMaintenanceFrequencyCodePropertyType theMaintenanceAndUpdateFrequency; theMaintenanceAndUpdateFrequency = this.getMaintenanceAndUpdateFrequency(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "maintenanceAndUpdateFrequency", theMaintenanceAndUpdateFrequency), currentHashCode, theMaintenanceAndUpdateFrequency, this.isSetMaintenanceAndUpdateFrequency()); } { DatePropertyType theDateOfNextUpdate; theDateOfNextUpdate = this.getDateOfNextUpdate(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dateOfNextUpdate", theDateOfNextUpdate), currentHashCode, theDateOfNextUpdate, this.isSetDateOfNextUpdate()); } { TMPeriodDurationPropertyType theUserDefinedMaintenanceFrequency; theUserDefinedMaintenanceFrequency = this.getUserDefinedMaintenanceFrequency(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "userDefinedMaintenanceFrequency", theUserDefinedMaintenanceFrequency), currentHashCode, theUserDefinedMaintenanceFrequency, this.isSetUserDefinedMaintenanceFrequency()); } { List<MDScopeCodePropertyType> theUpdateScope; theUpdateScope = (this.isSetUpdateScope()?this.getUpdateScope():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "updateScope", theUpdateScope), currentHashCode, theUpdateScope, this.isSetUpdateScope()); } { List<MDScopeDescriptionPropertyType> theUpdateScopeDescription; theUpdateScopeDescription = (this.isSetUpdateScopeDescription()?this.getUpdateScopeDescription():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "updateScopeDescription", theUpdateScopeDescription), currentHashCode, theUpdateScopeDescription, this.isSetUpdateScopeDescription()); } { List<CharacterStringPropertyType> theMaintenanceNote; theMaintenanceNote = (this.isSetMaintenanceNote()?this.getMaintenanceNote():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "maintenanceNote", theMaintenanceNote), currentHashCode, theMaintenanceNote, this.isSetMaintenanceNote()); } { List<CIResponsiblePartyPropertyType> theContact; theContact = (this.isSetContact()?this.getContact():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "contact", theContact), currentHashCode, theContact, this.isSetContact()); } 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 MDMaintenanceInformationType) { final MDMaintenanceInformationType copy = ((MDMaintenanceInformationType) draftCopy); { Boolean maintenanceAndUpdateFrequencyShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMaintenanceAndUpdateFrequency()); if (maintenanceAndUpdateFrequencyShouldBeCopiedAndSet == Boolean.TRUE) { MDMaintenanceFrequencyCodePropertyType sourceMaintenanceAndUpdateFrequency; sourceMaintenanceAndUpdateFrequency = this.getMaintenanceAndUpdateFrequency(); MDMaintenanceFrequencyCodePropertyType copyMaintenanceAndUpdateFrequency = ((MDMaintenanceFrequencyCodePropertyType) strategy.copy(LocatorUtils.property(locator, "maintenanceAndUpdateFrequency", sourceMaintenanceAndUpdateFrequency), sourceMaintenanceAndUpdateFrequency, this.isSetMaintenanceAndUpdateFrequency())); copy.setMaintenanceAndUpdateFrequency(copyMaintenanceAndUpdateFrequency); } else { if (maintenanceAndUpdateFrequencyShouldBeCopiedAndSet == Boolean.FALSE) { copy.maintenanceAndUpdateFrequency = null; } } } { Boolean dateOfNextUpdateShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDateOfNextUpdate()); if (dateOfNextUpdateShouldBeCopiedAndSet == Boolean.TRUE) { DatePropertyType sourceDateOfNextUpdate; sourceDateOfNextUpdate = this.getDateOfNextUpdate(); DatePropertyType copyDateOfNextUpdate = ((DatePropertyType) strategy.copy(LocatorUtils.property(locator, "dateOfNextUpdate", sourceDateOfNextUpdate), sourceDateOfNextUpdate, this.isSetDateOfNextUpdate())); copy.setDateOfNextUpdate(copyDateOfNextUpdate); } else { if (dateOfNextUpdateShouldBeCopiedAndSet == Boolean.FALSE) { copy.dateOfNextUpdate = null; } } } { Boolean userDefinedMaintenanceFrequencyShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetUserDefinedMaintenanceFrequency()); if (userDefinedMaintenanceFrequencyShouldBeCopiedAndSet == Boolean.TRUE) { TMPeriodDurationPropertyType sourceUserDefinedMaintenanceFrequency; sourceUserDefinedMaintenanceFrequency = this.getUserDefinedMaintenanceFrequency(); TMPeriodDurationPropertyType copyUserDefinedMaintenanceFrequency = ((TMPeriodDurationPropertyType) strategy.copy(LocatorUtils.property(locator, "userDefinedMaintenanceFrequency", sourceUserDefinedMaintenanceFrequency), sourceUserDefinedMaintenanceFrequency, this.isSetUserDefinedMaintenanceFrequency())); copy.setUserDefinedMaintenanceFrequency(copyUserDefinedMaintenanceFrequency); } else { if (userDefinedMaintenanceFrequencyShouldBeCopiedAndSet == Boolean.FALSE) { copy.userDefinedMaintenanceFrequency = null; } } } { Boolean updateScopeShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetUpdateScope()); if (updateScopeShouldBeCopiedAndSet == Boolean.TRUE) { List<MDScopeCodePropertyType> sourceUpdateScope; sourceUpdateScope = (this.isSetUpdateScope()?this.getUpdateScope():null); @SuppressWarnings("unchecked") List<MDScopeCodePropertyType> copyUpdateScope = ((List<MDScopeCodePropertyType> ) strategy.copy(LocatorUtils.property(locator, "updateScope", sourceUpdateScope), sourceUpdateScope, this.isSetUpdateScope())); copy.unsetUpdateScope(); if (copyUpdateScope!= null) { List<MDScopeCodePropertyType> uniqueUpdateScopel = copy.getUpdateScope(); uniqueUpdateScopel.addAll(copyUpdateScope); } } else { if (updateScopeShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetUpdateScope(); } } } { Boolean updateScopeDescriptionShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetUpdateScopeDescription()); if (updateScopeDescriptionShouldBeCopiedAndSet == Boolean.TRUE) { List<MDScopeDescriptionPropertyType> sourceUpdateScopeDescription; sourceUpdateScopeDescription = (this.isSetUpdateScopeDescription()?this.getUpdateScopeDescription():null); @SuppressWarnings("unchecked") List<MDScopeDescriptionPropertyType> copyUpdateScopeDescription = ((List<MDScopeDescriptionPropertyType> ) strategy.copy(LocatorUtils.property(locator, "updateScopeDescription", sourceUpdateScopeDescription), sourceUpdateScopeDescription, this.isSetUpdateScopeDescription())); copy.unsetUpdateScopeDescription(); if (copyUpdateScopeDescription!= null) { List<MDScopeDescriptionPropertyType> uniqueUpdateScopeDescriptionl = copy.getUpdateScopeDescription(); uniqueUpdateScopeDescriptionl.addAll(copyUpdateScopeDescription); } } else { if (updateScopeDescriptionShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetUpdateScopeDescription(); } } } { Boolean maintenanceNoteShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMaintenanceNote()); if (maintenanceNoteShouldBeCopiedAndSet == Boolean.TRUE) { List<CharacterStringPropertyType> sourceMaintenanceNote; sourceMaintenanceNote = (this.isSetMaintenanceNote()?this.getMaintenanceNote():null); @SuppressWarnings("unchecked") List<CharacterStringPropertyType> copyMaintenanceNote = ((List<CharacterStringPropertyType> ) strategy.copy(LocatorUtils.property(locator, "maintenanceNote", sourceMaintenanceNote), sourceMaintenanceNote, this.isSetMaintenanceNote())); copy.unsetMaintenanceNote(); if (copyMaintenanceNote!= null) { List<CharacterStringPropertyType> uniqueMaintenanceNotel = copy.getMaintenanceNote(); uniqueMaintenanceNotel.addAll(copyMaintenanceNote); } } else { if (maintenanceNoteShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetMaintenanceNote(); } } } { Boolean contactShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetContact()); if (contactShouldBeCopiedAndSet == Boolean.TRUE) { List<CIResponsiblePartyPropertyType> sourceContact; sourceContact = (this.isSetContact()?this.getContact():null); @SuppressWarnings("unchecked") List<CIResponsiblePartyPropertyType> copyContact = ((List<CIResponsiblePartyPropertyType> ) strategy.copy(LocatorUtils.property(locator, "contact", sourceContact), sourceContact, this.isSetContact())); copy.unsetContact(); if (copyContact!= null) { List<CIResponsiblePartyPropertyType> uniqueContactl = copy.getContact(); uniqueContactl.addAll(copyContact); } } else { if (contactShouldBeCopiedAndSet == Boolean.FALSE) { copy.unsetContact(); } } } } return draftCopy; } public Object createNewInstance() { return new MDMaintenanceInformationType(); } 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 MDMaintenanceInformationType) { final MDMaintenanceInformationType target = this; final MDMaintenanceInformationType leftObject = ((MDMaintenanceInformationType) left); final MDMaintenanceInformationType rightObject = ((MDMaintenanceInformationType) right); { Boolean maintenanceAndUpdateFrequencyShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMaintenanceAndUpdateFrequency(), rightObject.isSetMaintenanceAndUpdateFrequency()); if (maintenanceAndUpdateFrequencyShouldBeMergedAndSet == Boolean.TRUE) { MDMaintenanceFrequencyCodePropertyType lhsMaintenanceAndUpdateFrequency; lhsMaintenanceAndUpdateFrequency = leftObject.getMaintenanceAndUpdateFrequency(); MDMaintenanceFrequencyCodePropertyType rhsMaintenanceAndUpdateFrequency; rhsMaintenanceAndUpdateFrequency = rightObject.getMaintenanceAndUpdateFrequency(); MDMaintenanceFrequencyCodePropertyType mergedMaintenanceAndUpdateFrequency = ((MDMaintenanceFrequencyCodePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "maintenanceAndUpdateFrequency", lhsMaintenanceAndUpdateFrequency), LocatorUtils.property(rightLocator, "maintenanceAndUpdateFrequency", rhsMaintenanceAndUpdateFrequency), lhsMaintenanceAndUpdateFrequency, rhsMaintenanceAndUpdateFrequency, leftObject.isSetMaintenanceAndUpdateFrequency(), rightObject.isSetMaintenanceAndUpdateFrequency())); target.setMaintenanceAndUpdateFrequency(mergedMaintenanceAndUpdateFrequency); } else { if (maintenanceAndUpdateFrequencyShouldBeMergedAndSet == Boolean.FALSE) { target.maintenanceAndUpdateFrequency = null; } } } { Boolean dateOfNextUpdateShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDateOfNextUpdate(), rightObject.isSetDateOfNextUpdate()); if (dateOfNextUpdateShouldBeMergedAndSet == Boolean.TRUE) { DatePropertyType lhsDateOfNextUpdate; lhsDateOfNextUpdate = leftObject.getDateOfNextUpdate(); DatePropertyType rhsDateOfNextUpdate; rhsDateOfNextUpdate = rightObject.getDateOfNextUpdate(); DatePropertyType mergedDateOfNextUpdate = ((DatePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "dateOfNextUpdate", lhsDateOfNextUpdate), LocatorUtils.property(rightLocator, "dateOfNextUpdate", rhsDateOfNextUpdate), lhsDateOfNextUpdate, rhsDateOfNextUpdate, leftObject.isSetDateOfNextUpdate(), rightObject.isSetDateOfNextUpdate())); target.setDateOfNextUpdate(mergedDateOfNextUpdate); } else { if (dateOfNextUpdateShouldBeMergedAndSet == Boolean.FALSE) { target.dateOfNextUpdate = null; } } } { Boolean userDefinedMaintenanceFrequencyShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetUserDefinedMaintenanceFrequency(), rightObject.isSetUserDefinedMaintenanceFrequency()); if (userDefinedMaintenanceFrequencyShouldBeMergedAndSet == Boolean.TRUE) { TMPeriodDurationPropertyType lhsUserDefinedMaintenanceFrequency; lhsUserDefinedMaintenanceFrequency = leftObject.getUserDefinedMaintenanceFrequency(); TMPeriodDurationPropertyType rhsUserDefinedMaintenanceFrequency; rhsUserDefinedMaintenanceFrequency = rightObject.getUserDefinedMaintenanceFrequency(); TMPeriodDurationPropertyType mergedUserDefinedMaintenanceFrequency = ((TMPeriodDurationPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "userDefinedMaintenanceFrequency", lhsUserDefinedMaintenanceFrequency), LocatorUtils.property(rightLocator, "userDefinedMaintenanceFrequency", rhsUserDefinedMaintenanceFrequency), lhsUserDefinedMaintenanceFrequency, rhsUserDefinedMaintenanceFrequency, leftObject.isSetUserDefinedMaintenanceFrequency(), rightObject.isSetUserDefinedMaintenanceFrequency())); target.setUserDefinedMaintenanceFrequency(mergedUserDefinedMaintenanceFrequency); } else { if (userDefinedMaintenanceFrequencyShouldBeMergedAndSet == Boolean.FALSE) { target.userDefinedMaintenanceFrequency = null; } } } { Boolean updateScopeShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetUpdateScope(), rightObject.isSetUpdateScope()); if (updateScopeShouldBeMergedAndSet == Boolean.TRUE) { List<MDScopeCodePropertyType> lhsUpdateScope; lhsUpdateScope = (leftObject.isSetUpdateScope()?leftObject.getUpdateScope():null); List<MDScopeCodePropertyType> rhsUpdateScope; rhsUpdateScope = (rightObject.isSetUpdateScope()?rightObject.getUpdateScope():null); List<MDScopeCodePropertyType> mergedUpdateScope = ((List<MDScopeCodePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "updateScope", lhsUpdateScope), LocatorUtils.property(rightLocator, "updateScope", rhsUpdateScope), lhsUpdateScope, rhsUpdateScope, leftObject.isSetUpdateScope(), rightObject.isSetUpdateScope())); target.unsetUpdateScope(); if (mergedUpdateScope!= null) { List<MDScopeCodePropertyType> uniqueUpdateScopel = target.getUpdateScope(); uniqueUpdateScopel.addAll(mergedUpdateScope); } } else { if (updateScopeShouldBeMergedAndSet == Boolean.FALSE) { target.unsetUpdateScope(); } } } { Boolean updateScopeDescriptionShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetUpdateScopeDescription(), rightObject.isSetUpdateScopeDescription()); if (updateScopeDescriptionShouldBeMergedAndSet == Boolean.TRUE) { List<MDScopeDescriptionPropertyType> lhsUpdateScopeDescription; lhsUpdateScopeDescription = (leftObject.isSetUpdateScopeDescription()?leftObject.getUpdateScopeDescription():null); List<MDScopeDescriptionPropertyType> rhsUpdateScopeDescription; rhsUpdateScopeDescription = (rightObject.isSetUpdateScopeDescription()?rightObject.getUpdateScopeDescription():null); List<MDScopeDescriptionPropertyType> mergedUpdateScopeDescription = ((List<MDScopeDescriptionPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "updateScopeDescription", lhsUpdateScopeDescription), LocatorUtils.property(rightLocator, "updateScopeDescription", rhsUpdateScopeDescription), lhsUpdateScopeDescription, rhsUpdateScopeDescription, leftObject.isSetUpdateScopeDescription(), rightObject.isSetUpdateScopeDescription())); target.unsetUpdateScopeDescription(); if (mergedUpdateScopeDescription!= null) { List<MDScopeDescriptionPropertyType> uniqueUpdateScopeDescriptionl = target.getUpdateScopeDescription(); uniqueUpdateScopeDescriptionl.addAll(mergedUpdateScopeDescription); } } else { if (updateScopeDescriptionShouldBeMergedAndSet == Boolean.FALSE) { target.unsetUpdateScopeDescription(); } } } { Boolean maintenanceNoteShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMaintenanceNote(), rightObject.isSetMaintenanceNote()); if (maintenanceNoteShouldBeMergedAndSet == Boolean.TRUE) { List<CharacterStringPropertyType> lhsMaintenanceNote; lhsMaintenanceNote = (leftObject.isSetMaintenanceNote()?leftObject.getMaintenanceNote():null); List<CharacterStringPropertyType> rhsMaintenanceNote; rhsMaintenanceNote = (rightObject.isSetMaintenanceNote()?rightObject.getMaintenanceNote():null); List<CharacterStringPropertyType> mergedMaintenanceNote = ((List<CharacterStringPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "maintenanceNote", lhsMaintenanceNote), LocatorUtils.property(rightLocator, "maintenanceNote", rhsMaintenanceNote), lhsMaintenanceNote, rhsMaintenanceNote, leftObject.isSetMaintenanceNote(), rightObject.isSetMaintenanceNote())); target.unsetMaintenanceNote(); if (mergedMaintenanceNote!= null) { List<CharacterStringPropertyType> uniqueMaintenanceNotel = target.getMaintenanceNote(); uniqueMaintenanceNotel.addAll(mergedMaintenanceNote); } } else { if (maintenanceNoteShouldBeMergedAndSet == Boolean.FALSE) { target.unsetMaintenanceNote(); } } } { Boolean contactShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetContact(), rightObject.isSetContact()); if (contactShouldBeMergedAndSet == Boolean.TRUE) { List<CIResponsiblePartyPropertyType> lhsContact; lhsContact = (leftObject.isSetContact()?leftObject.getContact():null); List<CIResponsiblePartyPropertyType> rhsContact; rhsContact = (rightObject.isSetContact()?rightObject.getContact():null); List<CIResponsiblePartyPropertyType> mergedContact = ((List<CIResponsiblePartyPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "contact", lhsContact), LocatorUtils.property(rightLocator, "contact", rhsContact), lhsContact, rhsContact, leftObject.isSetContact(), rightObject.isSetContact())); target.unsetContact(); if (mergedContact!= null) { List<CIResponsiblePartyPropertyType> uniqueContactl = target.getContact(); uniqueContactl.addAll(mergedContact); } } else { if (contactShouldBeMergedAndSet == Boolean.FALSE) { target.unsetContact(); } } } } } public void setUpdateScope(List<MDScopeCodePropertyType> value) { this.updateScope = null; if (value!= null) { List<MDScopeCodePropertyType> draftl = this.getUpdateScope(); draftl.addAll(value); } } public void setUpdateScopeDescription(List<MDScopeDescriptionPropertyType> value) { this.updateScopeDescription = null; if (value!= null) { List<MDScopeDescriptionPropertyType> draftl = this.getUpdateScopeDescription(); draftl.addAll(value); } } public void setMaintenanceNote(List<CharacterStringPropertyType> value) { this.maintenanceNote = null; if (value!= null) { List<CharacterStringPropertyType> draftl = this.getMaintenanceNote(); draftl.addAll(value); } } public void setContact(List<CIResponsiblePartyPropertyType> value) { this.contact = null; if (value!= null) { List<CIResponsiblePartyPropertyType> draftl = this.getContact(); draftl.addAll(value); } } }