jakarta.xml.ns.persistence.orm.JoinTable Maven / Gradle / Ivy
//
// This file was generated by the Eclipse Implementation of JAXB, v4.0.5
// See https://eclipse-ee4j.github.io/jaxb-ri
// Any modifications to this file will be lost upon recompilation of the source schema.
//
package jakarta.xml.ns.persistence.orm;
import java.util.ArrayList;
import java.util.List;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlType;
import org.jvnet.jaxb.lang.CopyStrategy;
import org.jvnet.jaxb.lang.CopyTo;
import org.jvnet.jaxb.lang.Equals;
import org.jvnet.jaxb.lang.EqualsStrategy;
import org.jvnet.jaxb.lang.HashCode;
import org.jvnet.jaxb.lang.HashCodeStrategy;
import org.jvnet.jaxb.lang.JAXBCopyStrategy;
import org.jvnet.jaxb.lang.JAXBEqualsStrategy;
import org.jvnet.jaxb.lang.JAXBHashCodeStrategy;
import org.jvnet.jaxb.lang.JAXBMergeStrategy;
import org.jvnet.jaxb.lang.MergeFrom;
import org.jvnet.jaxb.lang.MergeStrategy;
import org.jvnet.jaxb.locator.ObjectLocator;
import org.jvnet.jaxb.locator.util.LocatorUtils;
/**
* @Target({METHOD, FIELD}) @Retention(RUNTIME)
* public @interface JoinTable {
* String name() default "";
* String catalog() default "";
* String schema() default "";
* JoinColumn[] joinColumns() default {};
* JoinColumn[] inverseJoinColumns() default {};
* UniqueConstraint[] uniqueConstraints() default {};
* Index[] indexes() default {};
* }
*
* Java class for join-table complex type
.
*
* The following schema fragment specifies the expected content contained within this class.
*
* {@code
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
* }
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "join-table", propOrder = {
"joinColumn",
"foreignKey",
"inverseJoinColumn",
"inverseForeignKey",
"uniqueConstraint",
"index"
})
public class JoinTable implements Cloneable, CopyTo, Equals, HashCode, MergeFrom
{
@XmlElement(name = "join-column")
protected List joinColumn;
@XmlElement(name = "foreign-key")
protected ForeignKey foreignKey;
@XmlElement(name = "inverse-join-column")
protected List inverseJoinColumn;
@XmlElement(name = "inverse-foreign-key")
protected ForeignKey inverseForeignKey;
@XmlElement(name = "unique-constraint")
protected List uniqueConstraint;
protected List index;
@XmlAttribute(name = "name")
protected String name;
@XmlAttribute(name = "catalog")
protected String catalog;
@XmlAttribute(name = "schema")
protected String schema;
/**
* Gets the value of the joinColumn property.
*
* 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 set
method for the joinColumn property.
*
*
* For example, to add a new item, do as follows:
*
*
* getJoinColumn().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link JoinColumn }
*
*
*
* @return
* The value of the joinColumn property.
*/
public List getJoinColumn() {
if (joinColumn == null) {
joinColumn = new ArrayList<>();
}
return this.joinColumn;
}
/**
* Gets the value of the foreignKey property.
*
* @return
* possible object is
* {@link ForeignKey }
*
*/
public ForeignKey getForeignKey() {
return foreignKey;
}
/**
* Sets the value of the foreignKey property.
*
* @param value
* allowed object is
* {@link ForeignKey }
*
*/
public void setForeignKey(ForeignKey value) {
this.foreignKey = value;
}
/**
* Gets the value of the inverseJoinColumn property.
*
* 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 set
method for the inverseJoinColumn property.
*
*
* For example, to add a new item, do as follows:
*
*
* getInverseJoinColumn().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link JoinColumn }
*
*
*
* @return
* The value of the inverseJoinColumn property.
*/
public List getInverseJoinColumn() {
if (inverseJoinColumn == null) {
inverseJoinColumn = new ArrayList<>();
}
return this.inverseJoinColumn;
}
/**
* Gets the value of the inverseForeignKey property.
*
* @return
* possible object is
* {@link ForeignKey }
*
*/
public ForeignKey getInverseForeignKey() {
return inverseForeignKey;
}
/**
* Sets the value of the inverseForeignKey property.
*
* @param value
* allowed object is
* {@link ForeignKey }
*
*/
public void setInverseForeignKey(ForeignKey value) {
this.inverseForeignKey = value;
}
/**
* Gets the value of the uniqueConstraint property.
*
* 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 set
method for the uniqueConstraint property.
*
*
* For example, to add a new item, do as follows:
*
*
* getUniqueConstraint().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link UniqueConstraint }
*
*
*
* @return
* The value of the uniqueConstraint property.
*/
public List getUniqueConstraint() {
if (uniqueConstraint == null) {
uniqueConstraint = new ArrayList<>();
}
return this.uniqueConstraint;
}
/**
* Gets the value of the index property.
*
* 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 set
method for the index property.
*
*
* For example, to add a new item, do as follows:
*
*
* getIndex().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Index }
*
*
*
* @return
* The value of the index property.
*/
public List getIndex() {
if (index == null) {
index = new ArrayList<>();
}
return this.index;
}
/**
* Gets the value of the name property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getName() {
return name;
}
/**
* Sets the value of the name property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setName(String value) {
this.name = value;
}
/**
* Gets the value of the catalog property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCatalog() {
return catalog;
}
/**
* Sets the value of the catalog property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCatalog(String value) {
this.catalog = value;
}
/**
* Gets the value of the schema property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getSchema() {
return schema;
}
/**
* Sets the value of the schema property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setSchema(String value) {
this.schema = value;
}
@Override
public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
if ((object == null)||(this.getClass()!= object.getClass())) {
return false;
}
if (this == object) {
return true;
}
final JoinTable that = ((JoinTable) object);
{
List lhsJoinColumn;
lhsJoinColumn = (((this.joinColumn!= null)&&(!this.joinColumn.isEmpty()))?this.getJoinColumn():null);
List rhsJoinColumn;
rhsJoinColumn = (((that.joinColumn!= null)&&(!that.joinColumn.isEmpty()))?that.getJoinColumn():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "joinColumn", lhsJoinColumn), LocatorUtils.property(thatLocator, "joinColumn", rhsJoinColumn), lhsJoinColumn, rhsJoinColumn, ((this.joinColumn!= null)&&(!this.joinColumn.isEmpty())), ((that.joinColumn!= null)&&(!that.joinColumn.isEmpty())))) {
return false;
}
}
{
ForeignKey lhsForeignKey;
lhsForeignKey = this.getForeignKey();
ForeignKey rhsForeignKey;
rhsForeignKey = that.getForeignKey();
if (!strategy.equals(LocatorUtils.property(thisLocator, "foreignKey", lhsForeignKey), LocatorUtils.property(thatLocator, "foreignKey", rhsForeignKey), lhsForeignKey, rhsForeignKey, (this.foreignKey!= null), (that.foreignKey!= null))) {
return false;
}
}
{
List lhsInverseJoinColumn;
lhsInverseJoinColumn = (((this.inverseJoinColumn!= null)&&(!this.inverseJoinColumn.isEmpty()))?this.getInverseJoinColumn():null);
List rhsInverseJoinColumn;
rhsInverseJoinColumn = (((that.inverseJoinColumn!= null)&&(!that.inverseJoinColumn.isEmpty()))?that.getInverseJoinColumn():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "inverseJoinColumn", lhsInverseJoinColumn), LocatorUtils.property(thatLocator, "inverseJoinColumn", rhsInverseJoinColumn), lhsInverseJoinColumn, rhsInverseJoinColumn, ((this.inverseJoinColumn!= null)&&(!this.inverseJoinColumn.isEmpty())), ((that.inverseJoinColumn!= null)&&(!that.inverseJoinColumn.isEmpty())))) {
return false;
}
}
{
ForeignKey lhsInverseForeignKey;
lhsInverseForeignKey = this.getInverseForeignKey();
ForeignKey rhsInverseForeignKey;
rhsInverseForeignKey = that.getInverseForeignKey();
if (!strategy.equals(LocatorUtils.property(thisLocator, "inverseForeignKey", lhsInverseForeignKey), LocatorUtils.property(thatLocator, "inverseForeignKey", rhsInverseForeignKey), lhsInverseForeignKey, rhsInverseForeignKey, (this.inverseForeignKey!= null), (that.inverseForeignKey!= null))) {
return false;
}
}
{
List lhsUniqueConstraint;
lhsUniqueConstraint = (((this.uniqueConstraint!= null)&&(!this.uniqueConstraint.isEmpty()))?this.getUniqueConstraint():null);
List rhsUniqueConstraint;
rhsUniqueConstraint = (((that.uniqueConstraint!= null)&&(!that.uniqueConstraint.isEmpty()))?that.getUniqueConstraint():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "uniqueConstraint", lhsUniqueConstraint), LocatorUtils.property(thatLocator, "uniqueConstraint", rhsUniqueConstraint), lhsUniqueConstraint, rhsUniqueConstraint, ((this.uniqueConstraint!= null)&&(!this.uniqueConstraint.isEmpty())), ((that.uniqueConstraint!= null)&&(!that.uniqueConstraint.isEmpty())))) {
return false;
}
}
{
List lhsIndex;
lhsIndex = (((this.index!= null)&&(!this.index.isEmpty()))?this.getIndex():null);
List rhsIndex;
rhsIndex = (((that.index!= null)&&(!that.index.isEmpty()))?that.getIndex():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "index", lhsIndex), LocatorUtils.property(thatLocator, "index", rhsIndex), lhsIndex, rhsIndex, ((this.index!= null)&&(!this.index.isEmpty())), ((that.index!= null)&&(!that.index.isEmpty())))) {
return false;
}
}
{
String lhsName;
lhsName = this.getName();
String rhsName;
rhsName = that.getName();
if (!strategy.equals(LocatorUtils.property(thisLocator, "name", lhsName), LocatorUtils.property(thatLocator, "name", rhsName), lhsName, rhsName, (this.name!= null), (that.name!= null))) {
return false;
}
}
{
String lhsCatalog;
lhsCatalog = this.getCatalog();
String rhsCatalog;
rhsCatalog = that.getCatalog();
if (!strategy.equals(LocatorUtils.property(thisLocator, "catalog", lhsCatalog), LocatorUtils.property(thatLocator, "catalog", rhsCatalog), lhsCatalog, rhsCatalog, (this.catalog!= null), (that.catalog!= null))) {
return false;
}
}
{
String lhsSchema;
lhsSchema = this.getSchema();
String rhsSchema;
rhsSchema = that.getSchema();
if (!strategy.equals(LocatorUtils.property(thisLocator, "schema", lhsSchema), LocatorUtils.property(thatLocator, "schema", rhsSchema), lhsSchema, rhsSchema, (this.schema!= null), (that.schema!= null))) {
return false;
}
}
return true;
}
@Override
public boolean equals(Object object) {
final EqualsStrategy strategy = JAXBEqualsStrategy.getInstance();
return equals(null, null, object, strategy);
}
@Override
public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
int currentHashCode = 1;
{
List theJoinColumn;
theJoinColumn = (((this.joinColumn!= null)&&(!this.joinColumn.isEmpty()))?this.getJoinColumn():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "joinColumn", theJoinColumn), currentHashCode, theJoinColumn, ((this.joinColumn!= null)&&(!this.joinColumn.isEmpty())));
}
{
ForeignKey theForeignKey;
theForeignKey = this.getForeignKey();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "foreignKey", theForeignKey), currentHashCode, theForeignKey, (this.foreignKey!= null));
}
{
List theInverseJoinColumn;
theInverseJoinColumn = (((this.inverseJoinColumn!= null)&&(!this.inverseJoinColumn.isEmpty()))?this.getInverseJoinColumn():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "inverseJoinColumn", theInverseJoinColumn), currentHashCode, theInverseJoinColumn, ((this.inverseJoinColumn!= null)&&(!this.inverseJoinColumn.isEmpty())));
}
{
ForeignKey theInverseForeignKey;
theInverseForeignKey = this.getInverseForeignKey();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "inverseForeignKey", theInverseForeignKey), currentHashCode, theInverseForeignKey, (this.inverseForeignKey!= null));
}
{
List theUniqueConstraint;
theUniqueConstraint = (((this.uniqueConstraint!= null)&&(!this.uniqueConstraint.isEmpty()))?this.getUniqueConstraint():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "uniqueConstraint", theUniqueConstraint), currentHashCode, theUniqueConstraint, ((this.uniqueConstraint!= null)&&(!this.uniqueConstraint.isEmpty())));
}
{
List theIndex;
theIndex = (((this.index!= null)&&(!this.index.isEmpty()))?this.getIndex():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "index", theIndex), currentHashCode, theIndex, ((this.index!= null)&&(!this.index.isEmpty())));
}
{
String theName;
theName = this.getName();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "name", theName), currentHashCode, theName, (this.name!= null));
}
{
String theCatalog;
theCatalog = this.getCatalog();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "catalog", theCatalog), currentHashCode, theCatalog, (this.catalog!= null));
}
{
String theSchema;
theSchema = this.getSchema();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "schema", theSchema), currentHashCode, theSchema, (this.schema!= null));
}
return currentHashCode;
}
@Override
public int hashCode() {
final HashCodeStrategy strategy = JAXBHashCodeStrategy.getInstance();
return this.hashCode(null, strategy);
}
@Override
public Object clone() {
return copyTo(createNewInstance());
}
@Override
public Object copyTo(Object target) {
final CopyStrategy strategy = JAXBCopyStrategy.getInstance();
return copyTo(null, target, strategy);
}
@Override
public Object copyTo(ObjectLocator locator, Object target, CopyStrategy strategy) {
final Object draftCopy = ((target == null)?createNewInstance():target);
if (draftCopy instanceof JoinTable) {
final JoinTable copy = ((JoinTable) draftCopy);
{
Boolean joinColumnShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, ((this.joinColumn!= null)&&(!this.joinColumn.isEmpty())));
if (joinColumnShouldBeCopiedAndSet == Boolean.TRUE) {
List sourceJoinColumn;
sourceJoinColumn = (((this.joinColumn!= null)&&(!this.joinColumn.isEmpty()))?this.getJoinColumn():null);
@SuppressWarnings("unchecked")
List copyJoinColumn = ((List ) strategy.copy(LocatorUtils.property(locator, "joinColumn", sourceJoinColumn), sourceJoinColumn, ((this.joinColumn!= null)&&(!this.joinColumn.isEmpty()))));
copy.joinColumn = null;
if (copyJoinColumn!= null) {
List uniqueJoinColumnl = copy.getJoinColumn();
uniqueJoinColumnl.addAll(copyJoinColumn);
}
} else {
if (joinColumnShouldBeCopiedAndSet == Boolean.FALSE) {
copy.joinColumn = null;
}
}
}
{
Boolean foreignKeyShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.foreignKey!= null));
if (foreignKeyShouldBeCopiedAndSet == Boolean.TRUE) {
ForeignKey sourceForeignKey;
sourceForeignKey = this.getForeignKey();
ForeignKey copyForeignKey = ((ForeignKey) strategy.copy(LocatorUtils.property(locator, "foreignKey", sourceForeignKey), sourceForeignKey, (this.foreignKey!= null)));
copy.setForeignKey(copyForeignKey);
} else {
if (foreignKeyShouldBeCopiedAndSet == Boolean.FALSE) {
copy.foreignKey = null;
}
}
}
{
Boolean inverseJoinColumnShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, ((this.inverseJoinColumn!= null)&&(!this.inverseJoinColumn.isEmpty())));
if (inverseJoinColumnShouldBeCopiedAndSet == Boolean.TRUE) {
List sourceInverseJoinColumn;
sourceInverseJoinColumn = (((this.inverseJoinColumn!= null)&&(!this.inverseJoinColumn.isEmpty()))?this.getInverseJoinColumn():null);
@SuppressWarnings("unchecked")
List copyInverseJoinColumn = ((List ) strategy.copy(LocatorUtils.property(locator, "inverseJoinColumn", sourceInverseJoinColumn), sourceInverseJoinColumn, ((this.inverseJoinColumn!= null)&&(!this.inverseJoinColumn.isEmpty()))));
copy.inverseJoinColumn = null;
if (copyInverseJoinColumn!= null) {
List uniqueInverseJoinColumnl = copy.getInverseJoinColumn();
uniqueInverseJoinColumnl.addAll(copyInverseJoinColumn);
}
} else {
if (inverseJoinColumnShouldBeCopiedAndSet == Boolean.FALSE) {
copy.inverseJoinColumn = null;
}
}
}
{
Boolean inverseForeignKeyShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.inverseForeignKey!= null));
if (inverseForeignKeyShouldBeCopiedAndSet == Boolean.TRUE) {
ForeignKey sourceInverseForeignKey;
sourceInverseForeignKey = this.getInverseForeignKey();
ForeignKey copyInverseForeignKey = ((ForeignKey) strategy.copy(LocatorUtils.property(locator, "inverseForeignKey", sourceInverseForeignKey), sourceInverseForeignKey, (this.inverseForeignKey!= null)));
copy.setInverseForeignKey(copyInverseForeignKey);
} else {
if (inverseForeignKeyShouldBeCopiedAndSet == Boolean.FALSE) {
copy.inverseForeignKey = null;
}
}
}
{
Boolean uniqueConstraintShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, ((this.uniqueConstraint!= null)&&(!this.uniqueConstraint.isEmpty())));
if (uniqueConstraintShouldBeCopiedAndSet == Boolean.TRUE) {
List sourceUniqueConstraint;
sourceUniqueConstraint = (((this.uniqueConstraint!= null)&&(!this.uniqueConstraint.isEmpty()))?this.getUniqueConstraint():null);
@SuppressWarnings("unchecked")
List copyUniqueConstraint = ((List ) strategy.copy(LocatorUtils.property(locator, "uniqueConstraint", sourceUniqueConstraint), sourceUniqueConstraint, ((this.uniqueConstraint!= null)&&(!this.uniqueConstraint.isEmpty()))));
copy.uniqueConstraint = null;
if (copyUniqueConstraint!= null) {
List uniqueUniqueConstraintl = copy.getUniqueConstraint();
uniqueUniqueConstraintl.addAll(copyUniqueConstraint);
}
} else {
if (uniqueConstraintShouldBeCopiedAndSet == Boolean.FALSE) {
copy.uniqueConstraint = null;
}
}
}
{
Boolean indexShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, ((this.index!= null)&&(!this.index.isEmpty())));
if (indexShouldBeCopiedAndSet == Boolean.TRUE) {
List sourceIndex;
sourceIndex = (((this.index!= null)&&(!this.index.isEmpty()))?this.getIndex():null);
@SuppressWarnings("unchecked")
List copyIndex = ((List ) strategy.copy(LocatorUtils.property(locator, "index", sourceIndex), sourceIndex, ((this.index!= null)&&(!this.index.isEmpty()))));
copy.index = null;
if (copyIndex!= null) {
List uniqueIndexl = copy.getIndex();
uniqueIndexl.addAll(copyIndex);
}
} else {
if (indexShouldBeCopiedAndSet == Boolean.FALSE) {
copy.index = null;
}
}
}
{
Boolean nameShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.name!= null));
if (nameShouldBeCopiedAndSet == Boolean.TRUE) {
String sourceName;
sourceName = this.getName();
String copyName = ((String) strategy.copy(LocatorUtils.property(locator, "name", sourceName), sourceName, (this.name!= null)));
copy.setName(copyName);
} else {
if (nameShouldBeCopiedAndSet == Boolean.FALSE) {
copy.name = null;
}
}
}
{
Boolean catalogShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.catalog!= null));
if (catalogShouldBeCopiedAndSet == Boolean.TRUE) {
String sourceCatalog;
sourceCatalog = this.getCatalog();
String copyCatalog = ((String) strategy.copy(LocatorUtils.property(locator, "catalog", sourceCatalog), sourceCatalog, (this.catalog!= null)));
copy.setCatalog(copyCatalog);
} else {
if (catalogShouldBeCopiedAndSet == Boolean.FALSE) {
copy.catalog = null;
}
}
}
{
Boolean schemaShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.schema!= null));
if (schemaShouldBeCopiedAndSet == Boolean.TRUE) {
String sourceSchema;
sourceSchema = this.getSchema();
String copySchema = ((String) strategy.copy(LocatorUtils.property(locator, "schema", sourceSchema), sourceSchema, (this.schema!= null)));
copy.setSchema(copySchema);
} else {
if (schemaShouldBeCopiedAndSet == Boolean.FALSE) {
copy.schema = null;
}
}
}
}
return draftCopy;
}
@Override
public Object createNewInstance() {
return new JoinTable();
}
@Override
public void mergeFrom(Object left, Object right) {
final MergeStrategy strategy = JAXBMergeStrategy.getInstance();
mergeFrom(null, null, left, right, strategy);
}
@Override
public void mergeFrom(ObjectLocator leftLocator, ObjectLocator rightLocator, Object left, Object right, MergeStrategy strategy) {
if (right instanceof JoinTable) {
final JoinTable target = this;
final JoinTable leftObject = ((JoinTable) left);
final JoinTable rightObject = ((JoinTable) right);
{
Boolean joinColumnShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, ((leftObject.joinColumn!= null)&&(!leftObject.joinColumn.isEmpty())), ((rightObject.joinColumn!= null)&&(!rightObject.joinColumn.isEmpty())));
if (joinColumnShouldBeMergedAndSet == Boolean.TRUE) {
List lhsJoinColumn;
lhsJoinColumn = (((leftObject.joinColumn!= null)&&(!leftObject.joinColumn.isEmpty()))?leftObject.getJoinColumn():null);
List rhsJoinColumn;
rhsJoinColumn = (((rightObject.joinColumn!= null)&&(!rightObject.joinColumn.isEmpty()))?rightObject.getJoinColumn():null);
List mergedJoinColumn = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "joinColumn", lhsJoinColumn), LocatorUtils.property(rightLocator, "joinColumn", rhsJoinColumn), lhsJoinColumn, rhsJoinColumn, ((leftObject.joinColumn!= null)&&(!leftObject.joinColumn.isEmpty())), ((rightObject.joinColumn!= null)&&(!rightObject.joinColumn.isEmpty()))));
target.joinColumn = null;
if (mergedJoinColumn!= null) {
List uniqueJoinColumnl = target.getJoinColumn();
uniqueJoinColumnl.addAll(mergedJoinColumn);
}
} else {
if (joinColumnShouldBeMergedAndSet == Boolean.FALSE) {
target.joinColumn = null;
}
}
}
{
Boolean foreignKeyShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, (leftObject.foreignKey!= null), (rightObject.foreignKey!= null));
if (foreignKeyShouldBeMergedAndSet == Boolean.TRUE) {
ForeignKey lhsForeignKey;
lhsForeignKey = leftObject.getForeignKey();
ForeignKey rhsForeignKey;
rhsForeignKey = rightObject.getForeignKey();
ForeignKey mergedForeignKey = ((ForeignKey) strategy.merge(LocatorUtils.property(leftLocator, "foreignKey", lhsForeignKey), LocatorUtils.property(rightLocator, "foreignKey", rhsForeignKey), lhsForeignKey, rhsForeignKey, (leftObject.foreignKey!= null), (rightObject.foreignKey!= null)));
target.setForeignKey(mergedForeignKey);
} else {
if (foreignKeyShouldBeMergedAndSet == Boolean.FALSE) {
target.foreignKey = null;
}
}
}
{
Boolean inverseJoinColumnShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, ((leftObject.inverseJoinColumn!= null)&&(!leftObject.inverseJoinColumn.isEmpty())), ((rightObject.inverseJoinColumn!= null)&&(!rightObject.inverseJoinColumn.isEmpty())));
if (inverseJoinColumnShouldBeMergedAndSet == Boolean.TRUE) {
List lhsInverseJoinColumn;
lhsInverseJoinColumn = (((leftObject.inverseJoinColumn!= null)&&(!leftObject.inverseJoinColumn.isEmpty()))?leftObject.getInverseJoinColumn():null);
List rhsInverseJoinColumn;
rhsInverseJoinColumn = (((rightObject.inverseJoinColumn!= null)&&(!rightObject.inverseJoinColumn.isEmpty()))?rightObject.getInverseJoinColumn():null);
List mergedInverseJoinColumn = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "inverseJoinColumn", lhsInverseJoinColumn), LocatorUtils.property(rightLocator, "inverseJoinColumn", rhsInverseJoinColumn), lhsInverseJoinColumn, rhsInverseJoinColumn, ((leftObject.inverseJoinColumn!= null)&&(!leftObject.inverseJoinColumn.isEmpty())), ((rightObject.inverseJoinColumn!= null)&&(!rightObject.inverseJoinColumn.isEmpty()))));
target.inverseJoinColumn = null;
if (mergedInverseJoinColumn!= null) {
List uniqueInverseJoinColumnl = target.getInverseJoinColumn();
uniqueInverseJoinColumnl.addAll(mergedInverseJoinColumn);
}
} else {
if (inverseJoinColumnShouldBeMergedAndSet == Boolean.FALSE) {
target.inverseJoinColumn = null;
}
}
}
{
Boolean inverseForeignKeyShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, (leftObject.inverseForeignKey!= null), (rightObject.inverseForeignKey!= null));
if (inverseForeignKeyShouldBeMergedAndSet == Boolean.TRUE) {
ForeignKey lhsInverseForeignKey;
lhsInverseForeignKey = leftObject.getInverseForeignKey();
ForeignKey rhsInverseForeignKey;
rhsInverseForeignKey = rightObject.getInverseForeignKey();
ForeignKey mergedInverseForeignKey = ((ForeignKey) strategy.merge(LocatorUtils.property(leftLocator, "inverseForeignKey", lhsInverseForeignKey), LocatorUtils.property(rightLocator, "inverseForeignKey", rhsInverseForeignKey), lhsInverseForeignKey, rhsInverseForeignKey, (leftObject.inverseForeignKey!= null), (rightObject.inverseForeignKey!= null)));
target.setInverseForeignKey(mergedInverseForeignKey);
} else {
if (inverseForeignKeyShouldBeMergedAndSet == Boolean.FALSE) {
target.inverseForeignKey = null;
}
}
}
{
Boolean uniqueConstraintShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, ((leftObject.uniqueConstraint!= null)&&(!leftObject.uniqueConstraint.isEmpty())), ((rightObject.uniqueConstraint!= null)&&(!rightObject.uniqueConstraint.isEmpty())));
if (uniqueConstraintShouldBeMergedAndSet == Boolean.TRUE) {
List lhsUniqueConstraint;
lhsUniqueConstraint = (((leftObject.uniqueConstraint!= null)&&(!leftObject.uniqueConstraint.isEmpty()))?leftObject.getUniqueConstraint():null);
List rhsUniqueConstraint;
rhsUniqueConstraint = (((rightObject.uniqueConstraint!= null)&&(!rightObject.uniqueConstraint.isEmpty()))?rightObject.getUniqueConstraint():null);
List mergedUniqueConstraint = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "uniqueConstraint", lhsUniqueConstraint), LocatorUtils.property(rightLocator, "uniqueConstraint", rhsUniqueConstraint), lhsUniqueConstraint, rhsUniqueConstraint, ((leftObject.uniqueConstraint!= null)&&(!leftObject.uniqueConstraint.isEmpty())), ((rightObject.uniqueConstraint!= null)&&(!rightObject.uniqueConstraint.isEmpty()))));
target.uniqueConstraint = null;
if (mergedUniqueConstraint!= null) {
List uniqueUniqueConstraintl = target.getUniqueConstraint();
uniqueUniqueConstraintl.addAll(mergedUniqueConstraint);
}
} else {
if (uniqueConstraintShouldBeMergedAndSet == Boolean.FALSE) {
target.uniqueConstraint = null;
}
}
}
{
Boolean indexShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, ((leftObject.index!= null)&&(!leftObject.index.isEmpty())), ((rightObject.index!= null)&&(!rightObject.index.isEmpty())));
if (indexShouldBeMergedAndSet == Boolean.TRUE) {
List lhsIndex;
lhsIndex = (((leftObject.index!= null)&&(!leftObject.index.isEmpty()))?leftObject.getIndex():null);
List rhsIndex;
rhsIndex = (((rightObject.index!= null)&&(!rightObject.index.isEmpty()))?rightObject.getIndex():null);
List mergedIndex = ((List ) strategy.merge(LocatorUtils.property(leftLocator, "index", lhsIndex), LocatorUtils.property(rightLocator, "index", rhsIndex), lhsIndex, rhsIndex, ((leftObject.index!= null)&&(!leftObject.index.isEmpty())), ((rightObject.index!= null)&&(!rightObject.index.isEmpty()))));
target.index = null;
if (mergedIndex!= null) {
List uniqueIndexl = target.getIndex();
uniqueIndexl.addAll(mergedIndex);
}
} else {
if (indexShouldBeMergedAndSet == Boolean.FALSE) {
target.index = null;
}
}
}
{
Boolean nameShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, (leftObject.name!= null), (rightObject.name!= null));
if (nameShouldBeMergedAndSet == Boolean.TRUE) {
String lhsName;
lhsName = leftObject.getName();
String rhsName;
rhsName = rightObject.getName();
String mergedName = ((String) strategy.merge(LocatorUtils.property(leftLocator, "name", lhsName), LocatorUtils.property(rightLocator, "name", rhsName), lhsName, rhsName, (leftObject.name!= null), (rightObject.name!= null)));
target.setName(mergedName);
} else {
if (nameShouldBeMergedAndSet == Boolean.FALSE) {
target.name = null;
}
}
}
{
Boolean catalogShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, (leftObject.catalog!= null), (rightObject.catalog!= null));
if (catalogShouldBeMergedAndSet == Boolean.TRUE) {
String lhsCatalog;
lhsCatalog = leftObject.getCatalog();
String rhsCatalog;
rhsCatalog = rightObject.getCatalog();
String mergedCatalog = ((String) strategy.merge(LocatorUtils.property(leftLocator, "catalog", lhsCatalog), LocatorUtils.property(rightLocator, "catalog", rhsCatalog), lhsCatalog, rhsCatalog, (leftObject.catalog!= null), (rightObject.catalog!= null)));
target.setCatalog(mergedCatalog);
} else {
if (catalogShouldBeMergedAndSet == Boolean.FALSE) {
target.catalog = null;
}
}
}
{
Boolean schemaShouldBeMergedAndSet = strategy.shouldBeMergedAndSet(leftLocator, rightLocator, (leftObject.schema!= null), (rightObject.schema!= null));
if (schemaShouldBeMergedAndSet == Boolean.TRUE) {
String lhsSchema;
lhsSchema = leftObject.getSchema();
String rhsSchema;
rhsSchema = rightObject.getSchema();
String mergedSchema = ((String) strategy.merge(LocatorUtils.property(leftLocator, "schema", lhsSchema), LocatorUtils.property(rightLocator, "schema", rhsSchema), lhsSchema, rhsSchema, (leftObject.schema!= null), (rightObject.schema!= null)));
target.setSchema(mergedSchema);
} else {
if (schemaShouldBeMergedAndSet == Boolean.FALSE) {
target.schema = null;
}
}
}
}
}
}