//
// 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.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 distributor
*
* <p>Java class for MD_Distributor_Type complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="MD_Distributor_Type">
* <complexContent>
* <extension base="{http://www.isotc211.org/2005/gco}AbstractObject_Type">
* <sequence>
* <element name="distributorContact" type="{http://www.isotc211.org/2005/gmd}CI_ResponsibleParty_PropertyType"/>
* <element name="distributionOrderProcess" type="{http://www.isotc211.org/2005/gmd}MD_StandardOrderProcess_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="distributorFormat" type="{http://www.isotc211.org/2005/gmd}MD_Format_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="distributorTransferOptions" type="{http://www.isotc211.org/2005/gmd}MD_DigitalTransferOptions_PropertyType" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MD_Distributor_Type", propOrder = {
"distributorContact",
"distributionOrderProcess",
"distributorFormat",
"distributorTransferOptions"
})
public class MDDistributorType
extends AbstractObjectType
implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2
{
private final static long serialVersionUID = 1L;
@XmlElement(required = true)
@NotNull(message = "MDDistributorType.distributorContact {javax.validation.constraints.NotNull.message}")
@Valid
protected CIResponsiblePartyPropertyType distributorContact;
@Valid
protected List<MDStandardOrderProcessPropertyType> distributionOrderProcess;
@Valid
protected List<MDFormatPropertyType> distributorFormat;
@Valid
protected List<MDDigitalTransferOptionsPropertyType> distributorTransferOptions;
/**
* Gets the value of the distributorContact property.
*
* @return
* possible object is
* {@link CIResponsiblePartyPropertyType }
*
*/
public CIResponsiblePartyPropertyType getDistributorContact() {
return distributorContact;
}
/**
* Sets the value of the distributorContact property.
*
* @param value
* allowed object is
* {@link CIResponsiblePartyPropertyType }
*
*/
public void setDistributorContact(CIResponsiblePartyPropertyType value) {
this.distributorContact = value;
}
public boolean isSetDistributorContact() {
return (this.distributorContact!= null);
}
/**
* Gets the value of the distributionOrderProcess 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 distributionOrderProcess property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getDistributionOrderProcess().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDStandardOrderProcessPropertyType }
*
*
*/
public List<MDStandardOrderProcessPropertyType> getDistributionOrderProcess() {
if (distributionOrderProcess == null) {
distributionOrderProcess = new ArrayList<MDStandardOrderProcessPropertyType>();
}
return this.distributionOrderProcess;
}
public boolean isSetDistributionOrderProcess() {
return ((this.distributionOrderProcess!= null)&&(!this.distributionOrderProcess.isEmpty()));
}
public void unsetDistributionOrderProcess() {
this.distributionOrderProcess = null;
}
/**
* Gets the value of the distributorFormat 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 distributorFormat property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getDistributorFormat().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDFormatPropertyType }
*
*
*/
public List<MDFormatPropertyType> getDistributorFormat() {
if (distributorFormat == null) {
distributorFormat = new ArrayList<MDFormatPropertyType>();
}
return this.distributorFormat;
}
public boolean isSetDistributorFormat() {
return ((this.distributorFormat!= null)&&(!this.distributorFormat.isEmpty()));
}
public void unsetDistributorFormat() {
this.distributorFormat = null;
}
/**
* Gets the value of the distributorTransferOptions 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 distributorTransferOptions property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getDistributorTransferOptions().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link MDDigitalTransferOptionsPropertyType }
*
*
*/
public List<MDDigitalTransferOptionsPropertyType> getDistributorTransferOptions() {
if (distributorTransferOptions == null) {
distributorTransferOptions = new ArrayList<MDDigitalTransferOptionsPropertyType>();
}
return this.distributorTransferOptions;
}
public boolean isSetDistributorTransferOptions() {
return ((this.distributorTransferOptions!= null)&&(!this.distributorTransferOptions.isEmpty()));
}
public void unsetDistributorTransferOptions() {
this.distributorTransferOptions = 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);
{
CIResponsiblePartyPropertyType theDistributorContact;
theDistributorContact = this.getDistributorContact();
strategy.appendField(locator, this, "distributorContact", buffer, theDistributorContact, this.isSetDistributorContact());
}
{
List<MDStandardOrderProcessPropertyType> theDistributionOrderProcess;
theDistributionOrderProcess = (this.isSetDistributionOrderProcess()?this.getDistributionOrderProcess():null);
strategy.appendField(locator, this, "distributionOrderProcess", buffer, theDistributionOrderProcess, this.isSetDistributionOrderProcess());
}
{
List<MDFormatPropertyType> theDistributorFormat;
theDistributorFormat = (this.isSetDistributorFormat()?this.getDistributorFormat():null);
strategy.appendField(locator, this, "distributorFormat", buffer, theDistributorFormat, this.isSetDistributorFormat());
}
{
List<MDDigitalTransferOptionsPropertyType> theDistributorTransferOptions;
theDistributorTransferOptions = (this.isSetDistributorTransferOptions()?this.getDistributorTransferOptions():null);
strategy.appendField(locator, this, "distributorTransferOptions", buffer, theDistributorTransferOptions, this.isSetDistributorTransferOptions());
}
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 MDDistributorType that = ((MDDistributorType) object);
{
CIResponsiblePartyPropertyType lhsDistributorContact;
lhsDistributorContact = this.getDistributorContact();
CIResponsiblePartyPropertyType rhsDistributorContact;
rhsDistributorContact = that.getDistributorContact();
if (!strategy.equals(LocatorUtils.property(thisLocator, "distributorContact", lhsDistributorContact), LocatorUtils.property(thatLocator, "distributorContact", rhsDistributorContact), lhsDistributorContact, rhsDistributorContact, this.isSetDistributorContact(), that.isSetDistributorContact())) {
return false;
}
}
{
List<MDStandardOrderProcessPropertyType> lhsDistributionOrderProcess;
lhsDistributionOrderProcess = (this.isSetDistributionOrderProcess()?this.getDistributionOrderProcess():null);
List<MDStandardOrderProcessPropertyType> rhsDistributionOrderProcess;
rhsDistributionOrderProcess = (that.isSetDistributionOrderProcess()?that.getDistributionOrderProcess():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "distributionOrderProcess", lhsDistributionOrderProcess), LocatorUtils.property(thatLocator, "distributionOrderProcess", rhsDistributionOrderProcess), lhsDistributionOrderProcess, rhsDistributionOrderProcess, this.isSetDistributionOrderProcess(), that.isSetDistributionOrderProcess())) {
return false;
}
}
{
List<MDFormatPropertyType> lhsDistributorFormat;
lhsDistributorFormat = (this.isSetDistributorFormat()?this.getDistributorFormat():null);
List<MDFormatPropertyType> rhsDistributorFormat;
rhsDistributorFormat = (that.isSetDistributorFormat()?that.getDistributorFormat():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "distributorFormat", lhsDistributorFormat), LocatorUtils.property(thatLocator, "distributorFormat", rhsDistributorFormat), lhsDistributorFormat, rhsDistributorFormat, this.isSetDistributorFormat(), that.isSetDistributorFormat())) {
return false;
}
}
{
List<MDDigitalTransferOptionsPropertyType> lhsDistributorTransferOptions;
lhsDistributorTransferOptions = (this.isSetDistributorTransferOptions()?this.getDistributorTransferOptions():null);
List<MDDigitalTransferOptionsPropertyType> rhsDistributorTransferOptions;
rhsDistributorTransferOptions = (that.isSetDistributorTransferOptions()?that.getDistributorTransferOptions():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "distributorTransferOptions", lhsDistributorTransferOptions), LocatorUtils.property(thatLocator, "distributorTransferOptions", rhsDistributorTransferOptions), lhsDistributorTransferOptions, rhsDistributorTransferOptions, this.isSetDistributorTransferOptions(), that.isSetDistributorTransferOptions())) {
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);
{
CIResponsiblePartyPropertyType theDistributorContact;
theDistributorContact = this.getDistributorContact();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "distributorContact", theDistributorContact), currentHashCode, theDistributorContact, this.isSetDistributorContact());
}
{
List<MDStandardOrderProcessPropertyType> theDistributionOrderProcess;
theDistributionOrderProcess = (this.isSetDistributionOrderProcess()?this.getDistributionOrderProcess():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "distributionOrderProcess", theDistributionOrderProcess), currentHashCode, theDistributionOrderProcess, this.isSetDistributionOrderProcess());
}
{
List<MDFormatPropertyType> theDistributorFormat;
theDistributorFormat = (this.isSetDistributorFormat()?this.getDistributorFormat():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "distributorFormat", theDistributorFormat), currentHashCode, theDistributorFormat, this.isSetDistributorFormat());
}
{
List<MDDigitalTransferOptionsPropertyType> theDistributorTransferOptions;
theDistributorTransferOptions = (this.isSetDistributorTransferOptions()?this.getDistributorTransferOptions():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "distributorTransferOptions", theDistributorTransferOptions), currentHashCode, theDistributorTransferOptions, this.isSetDistributorTransferOptions());
}
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 MDDistributorType) {
final MDDistributorType copy = ((MDDistributorType) draftCopy);
{
Boolean distributorContactShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDistributorContact());
if (distributorContactShouldBeCopiedAndSet == Boolean.TRUE) {
CIResponsiblePartyPropertyType sourceDistributorContact;
sourceDistributorContact = this.getDistributorContact();
CIResponsiblePartyPropertyType copyDistributorContact = ((CIResponsiblePartyPropertyType) strategy.copy(LocatorUtils.property(locator, "distributorContact", sourceDistributorContact), sourceDistributorContact, this.isSetDistributorContact()));
copy.setDistributorContact(copyDistributorContact);
} else {
if (distributorContactShouldBeCopiedAndSet == Boolean.FALSE) {
copy.distributorContact = null;
}
}
}
{
Boolean distributionOrderProcessShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDistributionOrderProcess());
if (distributionOrderProcessShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDStandardOrderProcessPropertyType> sourceDistributionOrderProcess;
sourceDistributionOrderProcess = (this.isSetDistributionOrderProcess()?this.getDistributionOrderProcess():null);
@SuppressWarnings("unchecked")
List<MDStandardOrderProcessPropertyType> copyDistributionOrderProcess = ((List<MDStandardOrderProcessPropertyType> ) strategy.copy(LocatorUtils.property(locator, "distributionOrderProcess", sourceDistributionOrderProcess), sourceDistributionOrderProcess, this.isSetDistributionOrderProcess()));
copy.unsetDistributionOrderProcess();
if (copyDistributionOrderProcess!= null) {
List<MDStandardOrderProcessPropertyType> uniqueDistributionOrderProcessl = copy.getDistributionOrderProcess();
uniqueDistributionOrderProcessl.addAll(copyDistributionOrderProcess);
}
} else {
if (distributionOrderProcessShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetDistributionOrderProcess();
}
}
}
{
Boolean distributorFormatShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDistributorFormat());
if (distributorFormatShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDFormatPropertyType> sourceDistributorFormat;
sourceDistributorFormat = (this.isSetDistributorFormat()?this.getDistributorFormat():null);
@SuppressWarnings("unchecked")
List<MDFormatPropertyType> copyDistributorFormat = ((List<MDFormatPropertyType> ) strategy.copy(LocatorUtils.property(locator, "distributorFormat", sourceDistributorFormat), sourceDistributorFormat, this.isSetDistributorFormat()));
copy.unsetDistributorFormat();
if (copyDistributorFormat!= null) {
List<MDFormatPropertyType> uniqueDistributorFormatl = copy.getDistributorFormat();
uniqueDistributorFormatl.addAll(copyDistributorFormat);
}
} else {
if (distributorFormatShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetDistributorFormat();
}
}
}
{
Boolean distributorTransferOptionsShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetDistributorTransferOptions());
if (distributorTransferOptionsShouldBeCopiedAndSet == Boolean.TRUE) {
List<MDDigitalTransferOptionsPropertyType> sourceDistributorTransferOptions;
sourceDistributorTransferOptions = (this.isSetDistributorTransferOptions()?this.getDistributorTransferOptions():null);
@SuppressWarnings("unchecked")
List<MDDigitalTransferOptionsPropertyType> copyDistributorTransferOptions = ((List<MDDigitalTransferOptionsPropertyType> ) strategy.copy(LocatorUtils.property(locator, "distributorTransferOptions", sourceDistributorTransferOptions), sourceDistributorTransferOptions, this.isSetDistributorTransferOptions()));
copy.unsetDistributorTransferOptions();
if (copyDistributorTransferOptions!= null) {
List<MDDigitalTransferOptionsPropertyType> uniqueDistributorTransferOptionsl = copy.getDistributorTransferOptions();
uniqueDistributorTransferOptionsl.addAll(copyDistributorTransferOptions);
}
} else {
if (distributorTransferOptionsShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetDistributorTransferOptions();
}
}
}
}
return draftCopy;
}
public Object createNewInstance() {
return new MDDistributorType();
}
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 MDDistributorType) {
final MDDistributorType target = this;
final MDDistributorType leftObject = ((MDDistributorType) left);
final MDDistributorType rightObject = ((MDDistributorType) right);
{
Boolean distributorContactShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDistributorContact(), rightObject.isSetDistributorContact());
if (distributorContactShouldBeMergedAndSet == Boolean.TRUE) {
CIResponsiblePartyPropertyType lhsDistributorContact;
lhsDistributorContact = leftObject.getDistributorContact();
CIResponsiblePartyPropertyType rhsDistributorContact;
rhsDistributorContact = rightObject.getDistributorContact();
CIResponsiblePartyPropertyType mergedDistributorContact = ((CIResponsiblePartyPropertyType) strategy.merge(LocatorUtils.property(leftLocator, "distributorContact", lhsDistributorContact), LocatorUtils.property(rightLocator, "distributorContact", rhsDistributorContact), lhsDistributorContact, rhsDistributorContact, leftObject.isSetDistributorContact(), rightObject.isSetDistributorContact()));
target.setDistributorContact(mergedDistributorContact);
} else {
if (distributorContactShouldBeMergedAndSet == Boolean.FALSE) {
target.distributorContact = null;
}
}
}
{
Boolean distributionOrderProcessShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDistributionOrderProcess(), rightObject.isSetDistributionOrderProcess());
if (distributionOrderProcessShouldBeMergedAndSet == Boolean.TRUE) {
List<MDStandardOrderProcessPropertyType> lhsDistributionOrderProcess;
lhsDistributionOrderProcess = (leftObject.isSetDistributionOrderProcess()?leftObject.getDistributionOrderProcess():null);
List<MDStandardOrderProcessPropertyType> rhsDistributionOrderProcess;
rhsDistributionOrderProcess = (rightObject.isSetDistributionOrderProcess()?rightObject.getDistributionOrderProcess():null);
List<MDStandardOrderProcessPropertyType> mergedDistributionOrderProcess = ((List<MDStandardOrderProcessPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "distributionOrderProcess", lhsDistributionOrderProcess), LocatorUtils.property(rightLocator, "distributionOrderProcess", rhsDistributionOrderProcess), lhsDistributionOrderProcess, rhsDistributionOrderProcess, leftObject.isSetDistributionOrderProcess(), rightObject.isSetDistributionOrderProcess()));
target.unsetDistributionOrderProcess();
if (mergedDistributionOrderProcess!= null) {
List<MDStandardOrderProcessPropertyType> uniqueDistributionOrderProcessl = target.getDistributionOrderProcess();
uniqueDistributionOrderProcessl.addAll(mergedDistributionOrderProcess);
}
} else {
if (distributionOrderProcessShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetDistributionOrderProcess();
}
}
}
{
Boolean distributorFormatShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDistributorFormat(), rightObject.isSetDistributorFormat());
if (distributorFormatShouldBeMergedAndSet == Boolean.TRUE) {
List<MDFormatPropertyType> lhsDistributorFormat;
lhsDistributorFormat = (leftObject.isSetDistributorFormat()?leftObject.getDistributorFormat():null);
List<MDFormatPropertyType> rhsDistributorFormat;
rhsDistributorFormat = (rightObject.isSetDistributorFormat()?rightObject.getDistributorFormat():null);
List<MDFormatPropertyType> mergedDistributorFormat = ((List<MDFormatPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "distributorFormat", lhsDistributorFormat), LocatorUtils.property(rightLocator, "distributorFormat", rhsDistributorFormat), lhsDistributorFormat, rhsDistributorFormat, leftObject.isSetDistributorFormat(), rightObject.isSetDistributorFormat()));
target.unsetDistributorFormat();
if (mergedDistributorFormat!= null) {
List<MDFormatPropertyType> uniqueDistributorFormatl = target.getDistributorFormat();
uniqueDistributorFormatl.addAll(mergedDistributorFormat);
}
} else {
if (distributorFormatShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetDistributorFormat();
}
}
}
{
Boolean distributorTransferOptionsShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetDistributorTransferOptions(), rightObject.isSetDistributorTransferOptions());
if (distributorTransferOptionsShouldBeMergedAndSet == Boolean.TRUE) {
List<MDDigitalTransferOptionsPropertyType> lhsDistributorTransferOptions;
lhsDistributorTransferOptions = (leftObject.isSetDistributorTransferOptions()?leftObject.getDistributorTransferOptions():null);
List<MDDigitalTransferOptionsPropertyType> rhsDistributorTransferOptions;
rhsDistributorTransferOptions = (rightObject.isSetDistributorTransferOptions()?rightObject.getDistributorTransferOptions():null);
List<MDDigitalTransferOptionsPropertyType> mergedDistributorTransferOptions = ((List<MDDigitalTransferOptionsPropertyType> ) strategy.merge(LocatorUtils.property(leftLocator, "distributorTransferOptions", lhsDistributorTransferOptions), LocatorUtils.property(rightLocator, "distributorTransferOptions", rhsDistributorTransferOptions), lhsDistributorTransferOptions, rhsDistributorTransferOptions, leftObject.isSetDistributorTransferOptions(), rightObject.isSetDistributorTransferOptions()));
target.unsetDistributorTransferOptions();
if (mergedDistributorTransferOptions!= null) {
List<MDDigitalTransferOptionsPropertyType> uniqueDistributorTransferOptionsl = target.getDistributorTransferOptions();
uniqueDistributorTransferOptionsl.addAll(mergedDistributorTransferOptions);
}
} else {
if (distributorTransferOptionsShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetDistributorTransferOptions();
}
}
}
}
}
public void setDistributionOrderProcess(List<MDStandardOrderProcessPropertyType> value) {
this.distributionOrderProcess = null;
if (value!= null) {
List<MDStandardOrderProcessPropertyType> draftl = this.getDistributionOrderProcess();
draftl.addAll(value);
}
}
public void setDistributorFormat(List<MDFormatPropertyType> value) {
this.distributorFormat = null;
if (value!= null) {
List<MDFormatPropertyType> draftl = this.getDistributorFormat();
draftl.addAll(value);
}
}
public void setDistributorTransferOptions(List<MDDigitalTransferOptionsPropertyType> value) {
this.distributorTransferOptions = null;
if (value!= null) {
List<MDDigitalTransferOptionsPropertyType> draftl = this.getDistributorTransferOptions();
draftl.addAll(value);
}
}
}