//
// 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.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
import org.isotc211._2005.gco.AbstractObjectType;
import org.isotc211._2005.gco.CharacterStringPropertyType;
import org.isotc211._2005.gco.IntegerPropertyType;
import org.isotc211._2005.gco.RealPropertyType;
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 media on which the data can be distributed
*
* <p>Java class for MD_Medium_Type complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="MD_Medium_Type">
* <complexContent>
* <extension base="{http://www.isotc211.org/2005/gco}AbstractObject_Type">
* <sequence>
* <element name="name" type="{http://www.isotc211.org/2005/gmd}MD_MediumNameCode_PropertyType" minOccurs="0"/>
* <element name="density" type="{http://www.isotc211.org/2005/gco}Real_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="densityUnits" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
* <element name="volumes" type="{http://www.isotc211.org/2005/gco}Integer_PropertyType" minOccurs="0"/>
* <element name="mediumFormat" type="{http://www.isotc211.org/2005/gmd}MD_MediumFormatCode_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="mediumNote" type="{http://www.isotc211.org/2005/gco}CharacterString_PropertyType" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MD_Medium_Type", propOrder = {
"name",
"density",
"densityUnits",
"volumes",
"mediumFormat",
"mediumNote"
})
public class MDMediumType
extends AbstractObjectType
implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2
{
private final static long serialVersionUID = 1L;
@Valid
protected MDMediumNameCodePropertyType name;
@Valid
protected List<RealPropertyType> density;
@Valid
protected CharacterStringPropertyType densityUnits;
@Valid
protected IntegerPropertyType volumes;
@Valid
protected List<MDMediumFormatCodePropertyType> mediumFormat;
@Valid
protected CharacterStringPropertyType mediumNote;
/**
* Gets the value of the name property.
*
* @return
* possible object is
* {@link MDMediumNameCodePropertyType }
*
*/
public MDMediumNameCodePropertyType getName() {
return name;
}
/**
* Sets the value of the name property.
*
* @param value
* allowed object is
* {@link MDMediumNameCodePropertyType }
*
*/
public void setName(MDMediumNameCodePropertyType value) {
this.name = value;
}
public boolean isSetName() {
return (this.name!= null);
}
/**
* Gets the value of the density 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 density property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getDensity().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link RealPropertyType }
*
*
*/
public List<RealPropertyType> getDensity() {
if (density == null) {
density = new ArrayList<RealPropertyType>();
}
return this.density;
}
public boolean isSetDensity() {
return ((this.density!= null)&&(!this.density.isEmpty()));
}
public void unsetDensity() {
this.density = null;
}
/**
* Gets the value of the densityUnits property.
*
* @return
* possible object is
* {@link CharacterStringPropertyType }
*
*/
public CharacterStringPropertyType getDensityUnits() {
return densityUnits;
}
/**
* Sets the value of the densityUnits property.
*
* @param value
* allowed object is
* {@link CharacterStringPropertyType }
*
*/
public void setDensityUnits(CharacterStringPropertyType value) {
this.densityUnits = value;
}
public boolean isSetDensityUnits() {
return (this.densityUnits!= null);
}
/**
* Gets the value of the volumes property.
*
* @return
* possible object is
* {@link IntegerPropertyType }
*
*/
public IntegerPropertyType getVolumes() {
return volumes;
}
/**
* Sets the value of the volumes property.
*
* @param value
* allowed object is
* {@link IntegerPropertyType }
*
*/
public void setVolumes(IntegerPropertyType value) {
this.volumes = value;
}
public boolean isSetVolumes() {
return (this.volumes!= null);
}
/**
* Gets the value of the mediumFormat 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 mediumFormat property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getMediumFormat().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDMediumFormatCodePropertyType }
*
*
*/
public List<MDMediumFormatCodePropertyType> getMediumFormat() {
if (mediumFormat == null) {
mediumFormat = new ArrayList<MDMediumFormatCodePropertyType>();
}
return this.mediumFormat;
}
public boolean isSetMediumFormat() {
return ((this.mediumFormat!= null)&&(!this.mediumFormat.isEmpty()));
}
public void unsetMediumFormat() {
this.mediumFormat = null;
}
/**
* Gets the value of the mediumNote property.
*
* @return
* possible object is
* {@link CharacterStringPropertyType }
*
*/
public CharacterStringPropertyType getMediumNote() {
return mediumNote;
}
/**
* Sets the value of the mediumNote property.
*
* @param value
* allowed object is
* {@link CharacterStringPropertyType }
*
*/
public void setMediumNote(CharacterStringPropertyType value) {
this.mediumNote = value;
}
public boolean isSetMediumNote() {
return (this.mediumNote!= 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);
{
MDMediumNameCodePropertyType theName;
theName = this.getName();
strategy.appendField(locator, this, "name", buffer, theName, this.isSetName());
}
{
List<RealPropertyType> theDensity;
theDensity = (this.isSetDensity()?this.getDensity():null);
strategy.appendField(locator, this, "density", buffer, theDensity, this.isSetDensity());
}
{
CharacterStringPropertyType theDensityUnits;
theDensityUnits = this.getDensityUnits();
strategy.appendField(locator, this, "densityUnits", buffer, theDensityUnits, this.isSetDensityUnits());
}
{
IntegerPropertyType theVolumes;
theVolumes = this.getVolumes();
strategy.appendField(locator, this, "volumes", buffer, theVolumes, this.isSetVolumes());
}
{
List<MDMediumFormatCodePropertyType> theMediumFormat;
theMediumFormat = (this.isSetMediumFormat()?this.getMediumFormat():null);
strategy.appendField(locator, this, "mediumFormat", buffer, theMediumFormat, this.isSetMediumFormat());
}
{
CharacterStringPropertyType theMediumNote;
theMediumNote = this.getMediumNote();
strategy.appendField(locator, this, "mediumNote", buffer, theMediumNote, this.isSetMediumNote());
}
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 MDMediumType that = ((MDMediumType) object);
{
MDMediumNameCodePropertyType lhsName;
lhsName = this.getName();
MDMediumNameCodePropertyType rhsName;
rhsName = that.getName();
if (!strategy.equals(LocatorUtils.property(thisLocator, "name", lhsName), LocatorUtils.property(thatLocator, "name", rhsName), lhsName, rhsName, this.isSetName(), that.isSetName())) {
return false;
}
}
{
List<RealPropertyType> lhsDensity;
lhsDensity = (this.isSetDensity()?this.getDensity():null);
List<RealPropertyType> rhsDensity;
rhsDensity = (that.isSetDensity()?that.getDensity():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "density", lhsDensity), LocatorUtils.property(thatLocator, "density", rhsDensity), lhsDensity, rhsDensity, this.isSetDensity(), that.isSetDensity())) {
return false;
}
}
{
CharacterStringPropertyType lhsDensityUnits;
lhsDensityUnits = this.getDensityUnits();
CharacterStringPropertyType rhsDensityUnits;
rhsDensityUnits = that.getDensityUnits();
if (!strategy.equals(LocatorUtils.property(thisLocator, "densityUnits", lhsDensityUnits), LocatorUtils.property(thatLocator, "densityUnits", rhsDensityUnits), lhsDensityUnits, rhsDensityUnits, this.isSetDensityUnits(), that.isSetDensityUnits())) {
return false;
}
}
{
IntegerPropertyType lhsVolumes;
lhsVolumes = this.getVolumes();
IntegerPropertyType rhsVolumes;
rhsVolumes = that.getVolumes();
if (!strategy.equals(LocatorUtils.property(thisLocator, "volumes", lhsVolumes), LocatorUtils.property(thatLocator, "volumes", rhsVolumes), lhsVolumes, rhsVolumes, this.isSetVolumes(), that.isSetVolumes())) {
return false;
}
}
{
List<MDMediumFormatCodePropertyType> lhsMediumFormat;
lhsMediumFormat = (this.isSetMediumFormat()?this.getMediumFormat():null);
List<MDMediumFormatCodePropertyType> rhsMediumFormat;
rhsMediumFormat = (that.isSetMediumFormat()?that.getMediumFormat():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "mediumFormat", lhsMediumFormat), LocatorUtils.property(thatLocator, "mediumFormat", rhsMediumFormat), lhsMediumFormat, rhsMediumFormat, this.isSetMediumFormat(), that.isSetMediumFormat())) {
return false;
}
}
{
CharacterStringPropertyType lhsMediumNote;
lhsMediumNote = this.getMediumNote();
CharacterStringPropertyType rhsMediumNote;
rhsMediumNote = that.getMediumNote();
if (!strategy.equals(LocatorUtils.property(thisLocator, "mediumNote", lhsMediumNote), LocatorUtils.property(thatLocator, "mediumNote", rhsMediumNote), lhsMediumNote, rhsMediumNote, this.isSetMediumNote(), that.isSetMediumNote())) {
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);
{
MDMediumNameCodePropertyType theName;
theName = this.getName();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "name", theName), currentHashCode, theName, this.isSetName());
}
{
List<RealPropertyType> theDensity;
theDensity = (this.isSetDensity()?this.getDensity():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "density", theDensity), currentHashCode, theDensity, this.isSetDensity());
}
{
CharacterStringPropertyType theDensityUnits;
theDensityUnits = this.getDensityUnits();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "densityUnits", theDensityUnits), currentHashCode, theDensityUnits, this.isSetDensityUnits());
}
{
IntegerPropertyType theVolumes;
theVolumes = this.getVolumes();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "volumes", theVolumes), currentHashCode, theVolumes, this.isSetVolumes());
}
{
List<MDMediumFormatCodePropertyType> theMediumFormat;
theMediumFormat = (this.isSetMediumFormat()?this.getMediumFormat():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "mediumFormat", theMediumFormat), currentHashCode, theMediumFormat, this.isSetMediumFormat());
}
{
CharacterStringPropertyType theMediumNote;
theMediumNote = this.getMediumNote();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "mediumNote", theMediumNote), currentHashCode, theMediumNote, this.isSetMediumNote());
}
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 MDMediumType) {
final MDMediumType copy = ((MDMediumType) draftCopy);
{
Boolean nameShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetName());
if (nameShouldBeCopiedAndSet == Boolean.TRUE) {
MDMediumNameCodePropertyType sourceName;
sourceName = this.getName();
MDMediumNameCodePropertyType copyName = ((MDMediumNameCodePropertyType) strategy.copy(LocatorUtils.property(locator, "name", sourceName), sourceName, this.isSetName()));
copy.setName(copyName);
} else {
if (nameShouldBeCopiedAndSet == Boolean.FALSE) {
copy.name = null;
}
}
}
{
Boolean densityShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDensity());
if (densityShouldBeCopiedAndSet == Boolean.TRUE) {
List<RealPropertyType> sourceDensity;
sourceDensity = (this.isSetDensity()?this.getDensity():null);
@SuppressWarnings("unchecked")
List<RealPropertyType> copyDensity = ((List<RealPropertyType> ) strategy.copy(LocatorUtils.property(locator, "density", sourceDensity), sourceDensity, this.isSetDensity()));
copy.unsetDensity();
if (copyDensity!= null) {
List<RealPropertyType> uniqueDensityl = copy.getDensity();
uniqueDensityl.addAll(copyDensity);
}
} else {
if (densityShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetDensity();
}
}
}
{
Boolean densityUnitsShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDensityUnits());
if (densityUnitsShouldBeCopiedAndSet == Boolean.TRUE) {
CharacterStringPropertyType sourceDensityUnits;
sourceDensityUnits = this.getDensityUnits();
CharacterStringPropertyType copyDensityUnits = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "densityUnits", sourceDensityUnits), sourceDensityUnits, this.isSetDensityUnits()));
copy.setDensityUnits(copyDensityUnits);
} else {
if (densityUnitsShouldBeCopiedAndSet == Boolean.FALSE) {
copy.densityUnits = null;
}
}
}
{
Boolean volumesShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetVolumes());
if (volumesShouldBeCopiedAndSet == Boolean.TRUE) {
IntegerPropertyType sourceVolumes;
sourceVolumes = this.getVolumes();
IntegerPropertyType copyVolumes = ((IntegerPropertyType) strategy.copy(LocatorUtils.property(locator, "volumes", sourceVolumes), sourceVolumes, this.isSetVolumes()));
copy.setVolumes(copyVolumes);
} else {
if (volumesShouldBeCopiedAndSet == Boolean.FALSE) {
copy.volumes = null;
}
}
}
{
Boolean mediumFormatShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMediumFormat());
if (mediumFormatShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDMediumFormatCodePropertyType> sourceMediumFormat;
sourceMediumFormat = (this.isSetMediumFormat()?this.getMediumFormat():null);
@SuppressWarnings("unchecked")
List<MDMediumFormatCodePropertyType> copyMediumFormat = ((List<MDMediumFormatCodePropertyType> ) strategy.copy(LocatorUtils.property(locator, "mediumFormat", sourceMediumFormat), sourceMediumFormat, this.isSetMediumFormat()));
copy.unsetMediumFormat();
if (copyMediumFormat!= null) {
List<MDMediumFormatCodePropertyType> uniqueMediumFormatl = copy.getMediumFormat();
uniqueMediumFormatl.addAll(copyMediumFormat);
}
} else {
if (mediumFormatShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetMediumFormat();
}
}
}
{
Boolean mediumNoteShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetMediumNote());
if (mediumNoteShouldBeCopiedAndSet == Boolean.TRUE) {
CharacterStringPropertyType sourceMediumNote;
sourceMediumNote = this.getMediumNote();
CharacterStringPropertyType copyMediumNote = ((CharacterStringPropertyType) strategy.copy(LocatorUtils.property(locator, "mediumNote", sourceMediumNote), sourceMediumNote, this.isSetMediumNote()));
copy.setMediumNote(copyMediumNote);
} else {
if (mediumNoteShouldBeCopiedAndSet == Boolean.FALSE) {
copy.mediumNote = null;
}
}
}
}
return draftCopy;
}
public Object createNewInstance() {
return new MDMediumType();
}
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 MDMediumType) {
final MDMediumType target = this;
final MDMediumType leftObject = ((MDMediumType) left);
final MDMediumType rightObject = ((MDMediumType) right);
{
Boolean nameShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetName(), rightObject.isSetName());
if (nameShouldBeMergedAndSet == Boolean.TRUE) {
MDMediumNameCodePropertyType lhsName;
lhsName = leftObject.getName();
MDMediumNameCodePropertyType rhsName;
rhsName = rightObject.getName();
MDMediumNameCodePropertyType mergedName = ((MDMediumNameCodePropertyType) strategy.merge(LocatorUtils.property(leftLocator, "name", lhsName), LocatorUtils.property(rightLocator, "name", rhsName), lhsName, rhsName, leftObject.isSetName(), rightObject.isSetName()));
target.setName(mergedName);
} else {
if (nameShouldBeMergedAndSet == Boolean.FALSE) {
target.name = null;
}
}
}
{
Boolean densityShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDensity(), rightObject.isSetDensity());
if (densityShouldBeMergedAndSet == Boolean.TRUE) {
List<RealPropertyType> lhsDensity;
lhsDensity = (leftObject.isSetDensity()?leftObject.getDensity():null);
List<RealPropertyType> rhsDensity;
rhsDensity = (rightObject.isSetDensity()?rightObject.getDensity():null);
List<RealPropertyType> mergedDensity = ((List<RealPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "density", lhsDensity), LocatorUtils.property(rightLocator, "density", rhsDensity), lhsDensity, rhsDensity, leftObject.isSetDensity(), rightObject.isSetDensity()));
target.unsetDensity();
if (mergedDensity!= null) {
List<RealPropertyType> uniqueDensityl = target.getDensity();
uniqueDensityl.addAll(mergedDensity);
}
} else {
if (densityShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetDensity();
}
}
}
{
Boolean densityUnitsShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDensityUnits(), rightObject.isSetDensityUnits());
if (densityUnitsShouldBeMergedAndSet == Boolean.TRUE) {
CharacterStringPropertyType lhsDensityUnits;
lhsDensityUnits = leftObject.getDensityUnits();
CharacterStringPropertyType rhsDensityUnits;
rhsDensityUnits = rightObject.getDensityUnits();
CharacterStringPropertyType mergedDensityUnits = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "densityUnits", lhsDensityUnits), LocatorUtils.property(rightLocator, "densityUnits", rhsDensityUnits), lhsDensityUnits, rhsDensityUnits, leftObject.isSetDensityUnits(), rightObject.isSetDensityUnits()));
target.setDensityUnits(mergedDensityUnits);
} else {
if (densityUnitsShouldBeMergedAndSet == Boolean.FALSE) {
target.densityUnits = null;
}
}
}
{
Boolean volumesShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetVolumes(), rightObject.isSetVolumes());
if (volumesShouldBeMergedAndSet == Boolean.TRUE) {
IntegerPropertyType lhsVolumes;
lhsVolumes = leftObject.getVolumes();
IntegerPropertyType rhsVolumes;
rhsVolumes = rightObject.getVolumes();
IntegerPropertyType mergedVolumes = ((IntegerPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "volumes", lhsVolumes), LocatorUtils.property(rightLocator, "volumes", rhsVolumes), lhsVolumes, rhsVolumes, leftObject.isSetVolumes(), rightObject.isSetVolumes()));
target.setVolumes(mergedVolumes);
} else {
if (volumesShouldBeMergedAndSet == Boolean.FALSE) {
target.volumes = null;
}
}
}
{
Boolean mediumFormatShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMediumFormat(), rightObject.isSetMediumFormat());
if (mediumFormatShouldBeMergedAndSet == Boolean.TRUE) {
List<MDMediumFormatCodePropertyType> lhsMediumFormat;
lhsMediumFormat = (leftObject.isSetMediumFormat()?leftObject.getMediumFormat():null);
List<MDMediumFormatCodePropertyType> rhsMediumFormat;
rhsMediumFormat = (rightObject.isSetMediumFormat()?rightObject.getMediumFormat():null);
List<MDMediumFormatCodePropertyType> mergedMediumFormat = ((List<MDMediumFormatCodePropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "mediumFormat", lhsMediumFormat), LocatorUtils.property(rightLocator, "mediumFormat", rhsMediumFormat), lhsMediumFormat, rhsMediumFormat, leftObject.isSetMediumFormat(), rightObject.isSetMediumFormat()));
target.unsetMediumFormat();
if (mergedMediumFormat!= null) {
List<MDMediumFormatCodePropertyType> uniqueMediumFormatl = target.getMediumFormat();
uniqueMediumFormatl.addAll(mergedMediumFormat);
}
} else {
if (mediumFormatShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetMediumFormat();
}
}
}
{
Boolean mediumNoteShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetMediumNote(), rightObject.isSetMediumNote());
if (mediumNoteShouldBeMergedAndSet == Boolean.TRUE) {
CharacterStringPropertyType lhsMediumNote;
lhsMediumNote = leftObject.getMediumNote();
CharacterStringPropertyType rhsMediumNote;
rhsMediumNote = rightObject.getMediumNote();
CharacterStringPropertyType mergedMediumNote = ((CharacterStringPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "mediumNote", lhsMediumNote), LocatorUtils.property(rightLocator, "mediumNote", rhsMediumNote), lhsMediumNote, rhsMediumNote, leftObject.isSetMediumNote(), rightObject.isSetMediumNote()));
target.setMediumNote(mergedMediumNote);
} else {
if (mediumNoteShouldBeMergedAndSet == Boolean.FALSE) {
target.mediumNote = null;
}
}
}
}
}
public void setDensity(List<RealPropertyType> value) {
this.density = null;
if (value!= null) {
List<RealPropertyType> draftl = this.getDensity();
draftl.addAll(value);
}
}
public void setMediumFormat(List<MDMediumFormatCodePropertyType> value) {
this.mediumFormat = null;
if (value!= null) {
List<MDMediumFormatCodePropertyType> draftl = this.getMediumFormat();
draftl.addAll(value);
}
}
}