//
// 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 us.mil.ces.metadata.ddms._5;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
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;
/**
* <p>Java class for PersonType complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="PersonType">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence minOccurs="0">
* <element name="name" type="{urn:us:mil:ces:metadata:ddms:5}simpleTokenType" maxOccurs="unbounded"/>
* <element name="surname" type="{urn:us:mil:ces:metadata:ddms:5}simpleTokenType"/>
* <element name="phone" type="{urn:us:mil:ces:metadata:ddms:5}simpleTokenType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="email" type="{urn:us:mil:ces:metadata:ddms:5}simpleTokenType" maxOccurs="unbounded" minOccurs="0"/>
* <element name="userID" type="{urn:us:mil:ces:metadata:ddms:5}simpleTokenType" minOccurs="0"/>
* <element ref="{urn:us:mil:ces:metadata:ddms:5}affiliation" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "PersonType", propOrder = {
"name",
"surname",
"phone",
"email",
"userID",
"affiliation"
})
public class PersonType implements Serializable, Cloneable, CopyTo2, Equals2, HashCode2, MergeFrom2, ToString2
{
private final static long serialVersionUID = 1L;
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "token")
@Size(min = 1)
protected List<String> name;
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "token")
@Size(min = 1)
protected String surname;
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "token")
protected List<String> phone;
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "token")
protected List<String> email;
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "token")
@Size(min = 1)
protected String userID;
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "token")
protected List<String> affiliation;
/**
* Gets the value of the name 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 name property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getName().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link String }
*
*
*/
public List<String> getName() {
if (name == null) {
name = new ArrayList<String>();
}
return this.name;
}
public boolean isSetName() {
return ((this.name!= null)&&(!this.name.isEmpty()));
}
public void unsetName() {
this.name = null;
}
/**
* Gets the value of the surname property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getSurname() {
return surname;
}
/**
* Sets the value of the surname property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setSurname(String value) {
this.surname = value;
}
public boolean isSetSurname() {
return (this.surname!= null);
}
/**
* Gets the value of the phone 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 phone property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getPhone().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link String }
*
*
*/
public List<String> getPhone() {
if (phone == null) {
phone = new ArrayList<String>();
}
return this.phone;
}
public boolean isSetPhone() {
return ((this.phone!= null)&&(!this.phone.isEmpty()));
}
public void unsetPhone() {
this.phone = null;
}
/**
* Gets the value of the email 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 email property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getEmail().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link String }
*
*
*/
public List<String> getEmail() {
if (email == null) {
email = new ArrayList<String>();
}
return this.email;
}
public boolean isSetEmail() {
return ((this.email!= null)&&(!this.email.isEmpty()));
}
public void unsetEmail() {
this.email = null;
}
/**
* Gets the value of the userID property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getUserID() {
return userID;
}
/**
* Sets the value of the userID property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setUserID(String value) {
this.userID = value;
}
public boolean isSetUserID() {
return (this.userID!= null);
}
/**
* Gets the value of the affiliation 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 affiliation property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getAffiliation().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link String }
*
*
*/
public List<String> getAffiliation() {
if (affiliation == null) {
affiliation = new ArrayList<String>();
}
return this.affiliation;
}
public boolean isSetAffiliation() {
return ((this.affiliation!= null)&&(!this.affiliation.isEmpty()));
}
public void unsetAffiliation() {
this.affiliation = 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) {
{
List<String> theName;
theName = (this.isSetName()?this.getName():null);
strategy.appendField(locator, this, "name", buffer, theName, this.isSetName());
}
{
String theSurname;
theSurname = this.getSurname();
strategy.appendField(locator, this, "surname", buffer, theSurname, this.isSetSurname());
}
{
List<String> thePhone;
thePhone = (this.isSetPhone()?this.getPhone():null);
strategy.appendField(locator, this, "phone", buffer, thePhone, this.isSetPhone());
}
{
List<String> theEmail;
theEmail = (this.isSetEmail()?this.getEmail():null);
strategy.appendField(locator, this, "email", buffer, theEmail, this.isSetEmail());
}
{
String theUserID;
theUserID = this.getUserID();
strategy.appendField(locator, this, "userID", buffer, theUserID, this.isSetUserID());
}
{
List<String> theAffiliation;
theAffiliation = (this.isSetAffiliation()?this.getAffiliation():null);
strategy.appendField(locator, this, "affiliation", buffer, theAffiliation, this.isSetAffiliation());
}
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;
}
final PersonType that = ((PersonType) object);
{
List<String> lhsName;
lhsName = (this.isSetName()?this.getName():null);
List<String> rhsName;
rhsName = (that.isSetName()?that.getName():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "name", lhsName), LocatorUtils.property(thatLocator, "name", rhsName), lhsName, rhsName, this.isSetName(), that.isSetName())) {
return false;
}
}
{
String lhsSurname;
lhsSurname = this.getSurname();
String rhsSurname;
rhsSurname = that.getSurname();
if (!strategy.equals(LocatorUtils.property(thisLocator, "surname", lhsSurname), LocatorUtils.property(thatLocator, "surname", rhsSurname), lhsSurname, rhsSurname, this.isSetSurname(), that.isSetSurname())) {
return false;
}
}
{
List<String> lhsPhone;
lhsPhone = (this.isSetPhone()?this.getPhone():null);
List<String> rhsPhone;
rhsPhone = (that.isSetPhone()?that.getPhone():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "phone", lhsPhone), LocatorUtils.property(thatLocator, "phone", rhsPhone), lhsPhone, rhsPhone, this.isSetPhone(), that.isSetPhone())) {
return false;
}
}
{
List<String> lhsEmail;
lhsEmail = (this.isSetEmail()?this.getEmail():null);
List<String> rhsEmail;
rhsEmail = (that.isSetEmail()?that.getEmail():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "email", lhsEmail), LocatorUtils.property(thatLocator, "email", rhsEmail), lhsEmail, rhsEmail, this.isSetEmail(), that.isSetEmail())) {
return false;
}
}
{
String lhsUserID;
lhsUserID = this.getUserID();
String rhsUserID;
rhsUserID = that.getUserID();
if (!strategy.equals(LocatorUtils.property(thisLocator, "userID", lhsUserID), LocatorUtils.property(thatLocator, "userID", rhsUserID), lhsUserID, rhsUserID, this.isSetUserID(), that.isSetUserID())) {
return false;
}
}
{
List<String> lhsAffiliation;
lhsAffiliation = (this.isSetAffiliation()?this.getAffiliation():null);
List<String> rhsAffiliation;
rhsAffiliation = (that.isSetAffiliation()?that.getAffiliation():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "affiliation", lhsAffiliation), LocatorUtils.property(thatLocator, "affiliation", rhsAffiliation), lhsAffiliation, rhsAffiliation, this.isSetAffiliation(), that.isSetAffiliation())) {
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 = 1;
{
List<String> theName;
theName = (this.isSetName()?this.getName():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "name", theName), currentHashCode, theName, this.isSetName());
}
{
String theSurname;
theSurname = this.getSurname();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "surname", theSurname), currentHashCode, theSurname, this.isSetSurname());
}
{
List<String> thePhone;
thePhone = (this.isSetPhone()?this.getPhone():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "phone", thePhone), currentHashCode, thePhone, this.isSetPhone());
}
{
List<String> theEmail;
theEmail = (this.isSetEmail()?this.getEmail():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "email", theEmail), currentHashCode, theEmail, this.isSetEmail());
}
{
String theUserID;
theUserID = this.getUserID();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "userID", theUserID), currentHashCode, theUserID, this.isSetUserID());
}
{
List<String> theAffiliation;
theAffiliation = (this.isSetAffiliation()?this.getAffiliation():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "affiliation", theAffiliation), currentHashCode, theAffiliation, this.isSetAffiliation());
}
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);
if (draftCopy instanceof PersonType) {
final PersonType copy = ((PersonType) draftCopy);
{
Boolean nameShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetName());
if (nameShouldBeCopiedAndSet == Boolean.TRUE) {
List<String> sourceName;
sourceName = (this.isSetName()?this.getName():null);
@SuppressWarnings("unchecked")
List<String> copyName = ((List<String> ) strategy.copy(LocatorUtils.property(locator, "name", sourceName), sourceName, this.isSetName()));
copy.unsetName();
if (copyName!= null) {
List<String> uniqueNamel = copy.getName();
uniqueNamel.addAll(copyName);
}
} else {
if (nameShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetName();
}
}
}
{
Boolean surnameShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetSurname());
if (surnameShouldBeCopiedAndSet == Boolean.TRUE) {
String sourceSurname;
sourceSurname = this.getSurname();
String copySurname = ((String) strategy.copy(LocatorUtils.property(locator, "surname", sourceSurname), sourceSurname, this.isSetSurname()));
copy.setSurname(copySurname);
} else {
if (surnameShouldBeCopiedAndSet == Boolean.FALSE) {
copy.surname = null;
}
}
}
{
Boolean phoneShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetPhone());
if (phoneShouldBeCopiedAndSet == Boolean.TRUE) {
List<String> sourcePhone;
sourcePhone = (this.isSetPhone()?this.getPhone():null);
@SuppressWarnings("unchecked")
List<String> copyPhone = ((List<String> ) strategy.copy(LocatorUtils.property(locator, "phone", sourcePhone), sourcePhone, this.isSetPhone()));
copy.unsetPhone();
if (copyPhone!= null) {
List<String> uniquePhonel = copy.getPhone();
uniquePhonel.addAll(copyPhone);
}
} else {
if (phoneShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetPhone();
}
}
}
{
Boolean emailShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetEmail());
if (emailShouldBeCopiedAndSet == Boolean.TRUE) {
List<String> sourceEmail;
sourceEmail = (this.isSetEmail()?this.getEmail():null);
@SuppressWarnings("unchecked")
List<String> copyEmail = ((List<String> ) strategy.copy(LocatorUtils.property(locator, "email", sourceEmail), sourceEmail, this.isSetEmail()));
copy.unsetEmail();
if (copyEmail!= null) {
List<String> uniqueEmaill = copy.getEmail();
uniqueEmaill.addAll(copyEmail);
}
} else {
if (emailShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetEmail();
}
}
}
{
Boolean userIDShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetUserID());
if (userIDShouldBeCopiedAndSet == Boolean.TRUE) {
String sourceUserID;
sourceUserID = this.getUserID();
String copyUserID = ((String) strategy.copy(LocatorUtils.property(locator, "userID", sourceUserID), sourceUserID, this.isSetUserID()));
copy.setUserID(copyUserID);
} else {
if (userIDShouldBeCopiedAndSet == Boolean.FALSE) {
copy.userID = null;
}
}
}
{
Boolean affiliationShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, this.isSetAffiliation());
if (affiliationShouldBeCopiedAndSet == Boolean.TRUE) {
List<String> sourceAffiliation;
sourceAffiliation = (this.isSetAffiliation()?this.getAffiliation():null);
@SuppressWarnings("unchecked")
List<String> copyAffiliation = ((List<String> ) strategy.copy(LocatorUtils.property(locator, "affiliation", sourceAffiliation), sourceAffiliation, this.isSetAffiliation()));
copy.unsetAffiliation();
if (copyAffiliation!= null) {
List<String> uniqueAffiliationl = copy.getAffiliation();
uniqueAffiliationl.addAll(copyAffiliation);
}
} else {
if (affiliationShouldBeCopiedAndSet == Boolean.FALSE) {
copy.unsetAffiliation();
}
}
}
}
return draftCopy;
}
public Object createNewInstance() {
return new PersonType();
}
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) {
if (right instanceof PersonType) {
final PersonType target = this;
final PersonType leftObject = ((PersonType) left);
final PersonType rightObject = ((PersonType) right);
{
Boolean nameShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetName(), rightObject.isSetName());
if (nameShouldBeMergedAndSet == Boolean.TRUE) {
List<String> lhsName;
lhsName = (leftObject.isSetName()?leftObject.getName():null);
List<String> rhsName;
rhsName = (rightObject.isSetName()?rightObject.getName():null);
List<String> mergedName = ((List<String> ) strategy.merge(LocatorUtils.property(leftLocator, "name", lhsName), LocatorUtils.property(rightLocator, "name", rhsName), lhsName, rhsName, leftObject.isSetName(), rightObject.isSetName()));
target.unsetName();
if (mergedName!= null) {
List<String> uniqueNamel = target.getName();
uniqueNamel.addAll(mergedName);
}
} else {
if (nameShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetName();
}
}
}
{
Boolean surnameShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetSurname(), rightObject.isSetSurname());
if (surnameShouldBeMergedAndSet == Boolean.TRUE) {
String lhsSurname;
lhsSurname = leftObject.getSurname();
String rhsSurname;
rhsSurname = rightObject.getSurname();
String mergedSurname = ((String) strategy.merge(LocatorUtils.property(leftLocator, "surname", lhsSurname), LocatorUtils.property(rightLocator, "surname", rhsSurname), lhsSurname, rhsSurname, leftObject.isSetSurname(), rightObject.isSetSurname()));
target.setSurname(mergedSurname);
} else {
if (surnameShouldBeMergedAndSet == Boolean.FALSE) {
target.surname = null;
}
}
}
{
Boolean phoneShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetPhone(), rightObject.isSetPhone());
if (phoneShouldBeMergedAndSet == Boolean.TRUE) {
List<String> lhsPhone;
lhsPhone = (leftObject.isSetPhone()?leftObject.getPhone():null);
List<String> rhsPhone;
rhsPhone = (rightObject.isSetPhone()?rightObject.getPhone():null);
List<String> mergedPhone = ((List<String> ) strategy.merge(LocatorUtils.property(leftLocator, "phone", lhsPhone), LocatorUtils.property(rightLocator, "phone", rhsPhone), lhsPhone, rhsPhone, leftObject.isSetPhone(), rightObject.isSetPhone()));
target.unsetPhone();
if (mergedPhone!= null) {
List<String> uniquePhonel = target.getPhone();
uniquePhonel.addAll(mergedPhone);
}
} else {
if (phoneShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetPhone();
}
}
}
{
Boolean emailShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetEmail(), rightObject.isSetEmail());
if (emailShouldBeMergedAndSet == Boolean.TRUE) {
List<String> lhsEmail;
lhsEmail = (leftObject.isSetEmail()?leftObject.getEmail():null);
List<String> rhsEmail;
rhsEmail = (rightObject.isSetEmail()?rightObject.getEmail():null);
List<String> mergedEmail = ((List<String> ) strategy.merge(LocatorUtils.property(leftLocator, "email", lhsEmail), LocatorUtils.property(rightLocator, "email", rhsEmail), lhsEmail, rhsEmail, leftObject.isSetEmail(), rightObject.isSetEmail()));
target.unsetEmail();
if (mergedEmail!= null) {
List<String> uniqueEmaill = target.getEmail();
uniqueEmaill.addAll(mergedEmail);
}
} else {
if (emailShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetEmail();
}
}
}
{
Boolean userIDShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetUserID(), rightObject.isSetUserID());
if (userIDShouldBeMergedAndSet == Boolean.TRUE) {
String lhsUserID;
lhsUserID = leftObject.getUserID();
String rhsUserID;
rhsUserID = rightObject.getUserID();
String mergedUserID = ((String) strategy.merge(LocatorUtils.property(leftLocator, "userID", lhsUserID), LocatorUtils.property(rightLocator, "userID", rhsUserID), lhsUserID, rhsUserID, leftObject.isSetUserID(), rightObject.isSetUserID()));
target.setUserID(mergedUserID);
} else {
if (userIDShouldBeMergedAndSet == Boolean.FALSE) {
target.userID = null;
}
}
}
{
Boolean affiliationShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, leftObject.isSetAffiliation(), rightObject.isSetAffiliation());
if (affiliationShouldBeMergedAndSet == Boolean.TRUE) {
List<String> lhsAffiliation;
lhsAffiliation = (leftObject.isSetAffiliation()?leftObject.getAffiliation():null);
List<String> rhsAffiliation;
rhsAffiliation = (rightObject.isSetAffiliation()?rightObject.getAffiliation():null);
List<String> mergedAffiliation = ((List<String> ) strategy.merge(LocatorUtils.property(leftLocator, "affiliation", lhsAffiliation), LocatorUtils.property(rightLocator, "affiliation", rhsAffiliation), lhsAffiliation, rhsAffiliation, leftObject.isSetAffiliation(), rightObject.isSetAffiliation()));
target.unsetAffiliation();
if (mergedAffiliation!= null) {
List<String> uniqueAffiliationl = target.getAffiliation();
uniqueAffiliationl.addAll(mergedAffiliation);
}
} else {
if (affiliationShouldBeMergedAndSet == Boolean.FALSE) {
target.unsetAffiliation();
}
}
}
}
}
public void setName(List<String> value) {
this.name = null;
if (value!= null) {
List<String> draftl = this.getName();
draftl.addAll(value);
}
}
public void setPhone(List<String> value) {
this.phone = null;
if (value!= null) {
List<String> draftl = this.getPhone();
draftl.addAll(value);
}
}
public void setEmail(List<String> value) {
this.email = null;
if (value!= null) {
List<String> draftl = this.getEmail();
draftl.addAll(value);
}
}
public void setAffiliation(List<String> value) {
this.affiliation = null;
if (value!= null) {
List<String> draftl = this.getAffiliation();
draftl.addAll(value);
}
}
}