oasis.names.specification.ubl.schema.xsd.commonaggregatecomponents_2.PaymentMeansType Maven / Gradle / Ivy
//
// Este archivo ha sido generado por la arquitectura JavaTM para la implantación de la referencia de enlace (JAXB) XML v2.2.11
// Visite http://java.sun.com/xml/jaxb
// Todas las modificaciones realizadas en este archivo se perderán si se vuelve a compilar el esquema de origen.
// Generado el: 2021.03.22 a las 07:02:09 PM CET
//
package oasis.names.specification.ubl.schema.xsd.commonaggregatecomponents_2;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
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 oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.IDType;
import oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.InstructionIDType;
import oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.InstructionNoteType;
import oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.PaymentChannelCodeType;
import oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.PaymentDueDateType;
import oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.PaymentIDType;
import oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.PaymentMeansCodeType;
import oasis.names.specification.ubl.schema.xsd.commonextensioncomponents_2.UBLExtensionsType;
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.JAXBEqualsStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
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;
/**
* Clase Java para PaymentMeansType complex type.
*
*
El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
*
*
* <complexType name="PaymentMeansType">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2}UBLExtensions" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}ID" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}PaymentMeansCode"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}PaymentDueDate" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}PaymentChannelCode" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}InstructionID" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}InstructionNote" maxOccurs="unbounded" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}PaymentID" maxOccurs="unbounded" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2}CardAccount" maxOccurs="unbounded" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2}PayerFinancialAccount" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2}PayeeFinancialAccount" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2}CreditAccount" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2}PaymentMandate" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2}TradeFinancing" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "PaymentMeansType", propOrder = {
"ublExtensions",
"id",
"paymentMeansCode",
"paymentDueDate",
"paymentChannelCode",
"instructionID",
"instructionNote",
"paymentID",
"cardAccount",
"payerFinancialAccount",
"payeeFinancialAccount",
"creditAccount",
"paymentMandate",
"tradeFinancing"
})
public class PaymentMeansType implements Serializable, Equals2, HashCode2, ToString2
{
private final static long serialVersionUID = 100L;
@XmlElement(name = "UBLExtensions", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2")
protected UBLExtensionsType ublExtensions;
@XmlElement(name = "ID", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
protected IDType id;
@XmlElement(name = "PaymentMeansCode", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2", required = true)
protected PaymentMeansCodeType paymentMeansCode;
@XmlElement(name = "PaymentDueDate", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
protected PaymentDueDateType paymentDueDate;
@XmlElement(name = "PaymentChannelCode", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
protected PaymentChannelCodeType paymentChannelCode;
@XmlElement(name = "InstructionID", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
protected InstructionIDType instructionID;
@XmlElement(name = "InstructionNote", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
protected List instructionNote;
@XmlElement(name = "PaymentID", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
protected List paymentID;
@XmlElement(name = "CardAccount")
protected List cardAccount;
@XmlElement(name = "PayerFinancialAccount")
protected FinancialAccountType payerFinancialAccount;
@XmlElement(name = "PayeeFinancialAccount")
protected FinancialAccountType payeeFinancialAccount;
@XmlElement(name = "CreditAccount")
protected CreditAccountType creditAccount;
@XmlElement(name = "PaymentMandate")
protected PaymentMandateType paymentMandate;
@XmlElement(name = "TradeFinancing")
protected TradeFinancingType tradeFinancing;
/**
* Obtiene el valor de la propiedad ublExtensions.
*
* @return
* possible object is
* {@link UBLExtensionsType }
*
*/
public UBLExtensionsType getUBLExtensions() {
return ublExtensions;
}
/**
* Define el valor de la propiedad ublExtensions.
*
* @param value
* allowed object is
* {@link UBLExtensionsType }
*
*/
public void setUBLExtensions(UBLExtensionsType value) {
this.ublExtensions = value;
}
/**
* Obtiene el valor de la propiedad id.
*
* @return
* possible object is
* {@link IDType }
*
*/
public IDType getID() {
return id;
}
/**
* Define el valor de la propiedad id.
*
* @param value
* allowed object is
* {@link IDType }
*
*/
public void setID(IDType value) {
this.id = value;
}
/**
* Obtiene el valor de la propiedad paymentMeansCode.
*
* @return
* possible object is
* {@link PaymentMeansCodeType }
*
*/
public PaymentMeansCodeType getPaymentMeansCode() {
return paymentMeansCode;
}
/**
* Define el valor de la propiedad paymentMeansCode.
*
* @param value
* allowed object is
* {@link PaymentMeansCodeType }
*
*/
public void setPaymentMeansCode(PaymentMeansCodeType value) {
this.paymentMeansCode = value;
}
/**
* Obtiene el valor de la propiedad paymentDueDate.
*
* @return
* possible object is
* {@link PaymentDueDateType }
*
*/
public PaymentDueDateType getPaymentDueDate() {
return paymentDueDate;
}
/**
* Define el valor de la propiedad paymentDueDate.
*
* @param value
* allowed object is
* {@link PaymentDueDateType }
*
*/
public void setPaymentDueDate(PaymentDueDateType value) {
this.paymentDueDate = value;
}
/**
* Obtiene el valor de la propiedad paymentChannelCode.
*
* @return
* possible object is
* {@link PaymentChannelCodeType }
*
*/
public PaymentChannelCodeType getPaymentChannelCode() {
return paymentChannelCode;
}
/**
* Define el valor de la propiedad paymentChannelCode.
*
* @param value
* allowed object is
* {@link PaymentChannelCodeType }
*
*/
public void setPaymentChannelCode(PaymentChannelCodeType value) {
this.paymentChannelCode = value;
}
/**
* Obtiene el valor de la propiedad instructionID.
*
* @return
* possible object is
* {@link InstructionIDType }
*
*/
public InstructionIDType getInstructionID() {
return instructionID;
}
/**
* Define el valor de la propiedad instructionID.
*
* @param value
* allowed object is
* {@link InstructionIDType }
*
*/
public void setInstructionID(InstructionIDType value) {
this.instructionID = value;
}
/**
* Gets the value of the instructionNote 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 instructionNote property.
*
*
* For example, to add a new item, do as follows:
*
* getInstructionNote().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link InstructionNoteType }
*
*
*/
public List getInstructionNote() {
if (instructionNote == null) {
instructionNote = new ArrayList();
}
return this.instructionNote;
}
/**
* Gets the value of the paymentID 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 paymentID property.
*
*
* For example, to add a new item, do as follows:
*
* getPaymentID().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link PaymentIDType }
*
*
*/
public List getPaymentID() {
if (paymentID == null) {
paymentID = new ArrayList();
}
return this.paymentID;
}
/**
* Gets the value of the cardAccount 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 cardAccount property.
*
*
* For example, to add a new item, do as follows:
*
* getCardAccount().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link CardAccountType }
*
*
*/
public List getCardAccount() {
if (cardAccount == null) {
cardAccount = new ArrayList();
}
return this.cardAccount;
}
/**
* Obtiene el valor de la propiedad payerFinancialAccount.
*
* @return
* possible object is
* {@link FinancialAccountType }
*
*/
public FinancialAccountType getPayerFinancialAccount() {
return payerFinancialAccount;
}
/**
* Define el valor de la propiedad payerFinancialAccount.
*
* @param value
* allowed object is
* {@link FinancialAccountType }
*
*/
public void setPayerFinancialAccount(FinancialAccountType value) {
this.payerFinancialAccount = value;
}
/**
* Obtiene el valor de la propiedad payeeFinancialAccount.
*
* @return
* possible object is
* {@link FinancialAccountType }
*
*/
public FinancialAccountType getPayeeFinancialAccount() {
return payeeFinancialAccount;
}
/**
* Define el valor de la propiedad payeeFinancialAccount.
*
* @param value
* allowed object is
* {@link FinancialAccountType }
*
*/
public void setPayeeFinancialAccount(FinancialAccountType value) {
this.payeeFinancialAccount = value;
}
/**
* Obtiene el valor de la propiedad creditAccount.
*
* @return
* possible object is
* {@link CreditAccountType }
*
*/
public CreditAccountType getCreditAccount() {
return creditAccount;
}
/**
* Define el valor de la propiedad creditAccount.
*
* @param value
* allowed object is
* {@link CreditAccountType }
*
*/
public void setCreditAccount(CreditAccountType value) {
this.creditAccount = value;
}
/**
* Obtiene el valor de la propiedad paymentMandate.
*
* @return
* possible object is
* {@link PaymentMandateType }
*
*/
public PaymentMandateType getPaymentMandate() {
return paymentMandate;
}
/**
* Define el valor de la propiedad paymentMandate.
*
* @param value
* allowed object is
* {@link PaymentMandateType }
*
*/
public void setPaymentMandate(PaymentMandateType value) {
this.paymentMandate = value;
}
/**
* Obtiene el valor de la propiedad tradeFinancing.
*
* @return
* possible object is
* {@link TradeFinancingType }
*
*/
public TradeFinancingType getTradeFinancing() {
return tradeFinancing;
}
/**
* Define el valor de la propiedad tradeFinancing.
*
* @param value
* allowed object is
* {@link TradeFinancingType }
*
*/
public void setTradeFinancing(TradeFinancingType value) {
this.tradeFinancing = value;
}
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) {
{
UBLExtensionsType theUBLExtensions;
theUBLExtensions = this.getUBLExtensions();
strategy.appendField(locator, this, "ublExtensions", buffer, theUBLExtensions, (this.ublExtensions!= null));
}
{
IDType theID;
theID = this.getID();
strategy.appendField(locator, this, "id", buffer, theID, (this.id!= null));
}
{
PaymentMeansCodeType thePaymentMeansCode;
thePaymentMeansCode = this.getPaymentMeansCode();
strategy.appendField(locator, this, "paymentMeansCode", buffer, thePaymentMeansCode, (this.paymentMeansCode!= null));
}
{
PaymentDueDateType thePaymentDueDate;
thePaymentDueDate = this.getPaymentDueDate();
strategy.appendField(locator, this, "paymentDueDate", buffer, thePaymentDueDate, (this.paymentDueDate!= null));
}
{
PaymentChannelCodeType thePaymentChannelCode;
thePaymentChannelCode = this.getPaymentChannelCode();
strategy.appendField(locator, this, "paymentChannelCode", buffer, thePaymentChannelCode, (this.paymentChannelCode!= null));
}
{
InstructionIDType theInstructionID;
theInstructionID = this.getInstructionID();
strategy.appendField(locator, this, "instructionID", buffer, theInstructionID, (this.instructionID!= null));
}
{
List theInstructionNote;
theInstructionNote = (((this.instructionNote!= null)&&(!this.instructionNote.isEmpty()))?this.getInstructionNote():null);
strategy.appendField(locator, this, "instructionNote", buffer, theInstructionNote, ((this.instructionNote!= null)&&(!this.instructionNote.isEmpty())));
}
{
List thePaymentID;
thePaymentID = (((this.paymentID!= null)&&(!this.paymentID.isEmpty()))?this.getPaymentID():null);
strategy.appendField(locator, this, "paymentID", buffer, thePaymentID, ((this.paymentID!= null)&&(!this.paymentID.isEmpty())));
}
{
List theCardAccount;
theCardAccount = (((this.cardAccount!= null)&&(!this.cardAccount.isEmpty()))?this.getCardAccount():null);
strategy.appendField(locator, this, "cardAccount", buffer, theCardAccount, ((this.cardAccount!= null)&&(!this.cardAccount.isEmpty())));
}
{
FinancialAccountType thePayerFinancialAccount;
thePayerFinancialAccount = this.getPayerFinancialAccount();
strategy.appendField(locator, this, "payerFinancialAccount", buffer, thePayerFinancialAccount, (this.payerFinancialAccount!= null));
}
{
FinancialAccountType thePayeeFinancialAccount;
thePayeeFinancialAccount = this.getPayeeFinancialAccount();
strategy.appendField(locator, this, "payeeFinancialAccount", buffer, thePayeeFinancialAccount, (this.payeeFinancialAccount!= null));
}
{
CreditAccountType theCreditAccount;
theCreditAccount = this.getCreditAccount();
strategy.appendField(locator, this, "creditAccount", buffer, theCreditAccount, (this.creditAccount!= null));
}
{
PaymentMandateType thePaymentMandate;
thePaymentMandate = this.getPaymentMandate();
strategy.appendField(locator, this, "paymentMandate", buffer, thePaymentMandate, (this.paymentMandate!= null));
}
{
TradeFinancingType theTradeFinancing;
theTradeFinancing = this.getTradeFinancing();
strategy.appendField(locator, this, "tradeFinancing", buffer, theTradeFinancing, (this.tradeFinancing!= null));
}
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 PaymentMeansType that = ((PaymentMeansType) object);
{
UBLExtensionsType lhsUBLExtensions;
lhsUBLExtensions = this.getUBLExtensions();
UBLExtensionsType rhsUBLExtensions;
rhsUBLExtensions = that.getUBLExtensions();
if (!strategy.equals(LocatorUtils.property(thisLocator, "ublExtensions", lhsUBLExtensions), LocatorUtils.property(thatLocator, "ublExtensions", rhsUBLExtensions), lhsUBLExtensions, rhsUBLExtensions, (this.ublExtensions!= null), (that.ublExtensions!= null))) {
return false;
}
}
{
IDType lhsID;
lhsID = this.getID();
IDType rhsID;
rhsID = that.getID();
if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsID), LocatorUtils.property(thatLocator, "id", rhsID), lhsID, rhsID, (this.id!= null), (that.id!= null))) {
return false;
}
}
{
PaymentMeansCodeType lhsPaymentMeansCode;
lhsPaymentMeansCode = this.getPaymentMeansCode();
PaymentMeansCodeType rhsPaymentMeansCode;
rhsPaymentMeansCode = that.getPaymentMeansCode();
if (!strategy.equals(LocatorUtils.property(thisLocator, "paymentMeansCode", lhsPaymentMeansCode), LocatorUtils.property(thatLocator, "paymentMeansCode", rhsPaymentMeansCode), lhsPaymentMeansCode, rhsPaymentMeansCode, (this.paymentMeansCode!= null), (that.paymentMeansCode!= null))) {
return false;
}
}
{
PaymentDueDateType lhsPaymentDueDate;
lhsPaymentDueDate = this.getPaymentDueDate();
PaymentDueDateType rhsPaymentDueDate;
rhsPaymentDueDate = that.getPaymentDueDate();
if (!strategy.equals(LocatorUtils.property(thisLocator, "paymentDueDate", lhsPaymentDueDate), LocatorUtils.property(thatLocator, "paymentDueDate", rhsPaymentDueDate), lhsPaymentDueDate, rhsPaymentDueDate, (this.paymentDueDate!= null), (that.paymentDueDate!= null))) {
return false;
}
}
{
PaymentChannelCodeType lhsPaymentChannelCode;
lhsPaymentChannelCode = this.getPaymentChannelCode();
PaymentChannelCodeType rhsPaymentChannelCode;
rhsPaymentChannelCode = that.getPaymentChannelCode();
if (!strategy.equals(LocatorUtils.property(thisLocator, "paymentChannelCode", lhsPaymentChannelCode), LocatorUtils.property(thatLocator, "paymentChannelCode", rhsPaymentChannelCode), lhsPaymentChannelCode, rhsPaymentChannelCode, (this.paymentChannelCode!= null), (that.paymentChannelCode!= null))) {
return false;
}
}
{
InstructionIDType lhsInstructionID;
lhsInstructionID = this.getInstructionID();
InstructionIDType rhsInstructionID;
rhsInstructionID = that.getInstructionID();
if (!strategy.equals(LocatorUtils.property(thisLocator, "instructionID", lhsInstructionID), LocatorUtils.property(thatLocator, "instructionID", rhsInstructionID), lhsInstructionID, rhsInstructionID, (this.instructionID!= null), (that.instructionID!= null))) {
return false;
}
}
{
List lhsInstructionNote;
lhsInstructionNote = (((this.instructionNote!= null)&&(!this.instructionNote.isEmpty()))?this.getInstructionNote():null);
List rhsInstructionNote;
rhsInstructionNote = (((that.instructionNote!= null)&&(!that.instructionNote.isEmpty()))?that.getInstructionNote():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "instructionNote", lhsInstructionNote), LocatorUtils.property(thatLocator, "instructionNote", rhsInstructionNote), lhsInstructionNote, rhsInstructionNote, ((this.instructionNote!= null)&&(!this.instructionNote.isEmpty())), ((that.instructionNote!= null)&&(!that.instructionNote.isEmpty())))) {
return false;
}
}
{
List lhsPaymentID;
lhsPaymentID = (((this.paymentID!= null)&&(!this.paymentID.isEmpty()))?this.getPaymentID():null);
List rhsPaymentID;
rhsPaymentID = (((that.paymentID!= null)&&(!that.paymentID.isEmpty()))?that.getPaymentID():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "paymentID", lhsPaymentID), LocatorUtils.property(thatLocator, "paymentID", rhsPaymentID), lhsPaymentID, rhsPaymentID, ((this.paymentID!= null)&&(!this.paymentID.isEmpty())), ((that.paymentID!= null)&&(!that.paymentID.isEmpty())))) {
return false;
}
}
{
List lhsCardAccount;
lhsCardAccount = (((this.cardAccount!= null)&&(!this.cardAccount.isEmpty()))?this.getCardAccount():null);
List rhsCardAccount;
rhsCardAccount = (((that.cardAccount!= null)&&(!that.cardAccount.isEmpty()))?that.getCardAccount():null);
if (!strategy.equals(LocatorUtils.property(thisLocator, "cardAccount", lhsCardAccount), LocatorUtils.property(thatLocator, "cardAccount", rhsCardAccount), lhsCardAccount, rhsCardAccount, ((this.cardAccount!= null)&&(!this.cardAccount.isEmpty())), ((that.cardAccount!= null)&&(!that.cardAccount.isEmpty())))) {
return false;
}
}
{
FinancialAccountType lhsPayerFinancialAccount;
lhsPayerFinancialAccount = this.getPayerFinancialAccount();
FinancialAccountType rhsPayerFinancialAccount;
rhsPayerFinancialAccount = that.getPayerFinancialAccount();
if (!strategy.equals(LocatorUtils.property(thisLocator, "payerFinancialAccount", lhsPayerFinancialAccount), LocatorUtils.property(thatLocator, "payerFinancialAccount", rhsPayerFinancialAccount), lhsPayerFinancialAccount, rhsPayerFinancialAccount, (this.payerFinancialAccount!= null), (that.payerFinancialAccount!= null))) {
return false;
}
}
{
FinancialAccountType lhsPayeeFinancialAccount;
lhsPayeeFinancialAccount = this.getPayeeFinancialAccount();
FinancialAccountType rhsPayeeFinancialAccount;
rhsPayeeFinancialAccount = that.getPayeeFinancialAccount();
if (!strategy.equals(LocatorUtils.property(thisLocator, "payeeFinancialAccount", lhsPayeeFinancialAccount), LocatorUtils.property(thatLocator, "payeeFinancialAccount", rhsPayeeFinancialAccount), lhsPayeeFinancialAccount, rhsPayeeFinancialAccount, (this.payeeFinancialAccount!= null), (that.payeeFinancialAccount!= null))) {
return false;
}
}
{
CreditAccountType lhsCreditAccount;
lhsCreditAccount = this.getCreditAccount();
CreditAccountType rhsCreditAccount;
rhsCreditAccount = that.getCreditAccount();
if (!strategy.equals(LocatorUtils.property(thisLocator, "creditAccount", lhsCreditAccount), LocatorUtils.property(thatLocator, "creditAccount", rhsCreditAccount), lhsCreditAccount, rhsCreditAccount, (this.creditAccount!= null), (that.creditAccount!= null))) {
return false;
}
}
{
PaymentMandateType lhsPaymentMandate;
lhsPaymentMandate = this.getPaymentMandate();
PaymentMandateType rhsPaymentMandate;
rhsPaymentMandate = that.getPaymentMandate();
if (!strategy.equals(LocatorUtils.property(thisLocator, "paymentMandate", lhsPaymentMandate), LocatorUtils.property(thatLocator, "paymentMandate", rhsPaymentMandate), lhsPaymentMandate, rhsPaymentMandate, (this.paymentMandate!= null), (that.paymentMandate!= null))) {
return false;
}
}
{
TradeFinancingType lhsTradeFinancing;
lhsTradeFinancing = this.getTradeFinancing();
TradeFinancingType rhsTradeFinancing;
rhsTradeFinancing = that.getTradeFinancing();
if (!strategy.equals(LocatorUtils.property(thisLocator, "tradeFinancing", lhsTradeFinancing), LocatorUtils.property(thatLocator, "tradeFinancing", rhsTradeFinancing), lhsTradeFinancing, rhsTradeFinancing, (this.tradeFinancing!= null), (that.tradeFinancing!= null))) {
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;
{
UBLExtensionsType theUBLExtensions;
theUBLExtensions = this.getUBLExtensions();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "ublExtensions", theUBLExtensions), currentHashCode, theUBLExtensions, (this.ublExtensions!= null));
}
{
IDType theID;
theID = this.getID();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theID), currentHashCode, theID, (this.id!= null));
}
{
PaymentMeansCodeType thePaymentMeansCode;
thePaymentMeansCode = this.getPaymentMeansCode();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "paymentMeansCode", thePaymentMeansCode), currentHashCode, thePaymentMeansCode, (this.paymentMeansCode!= null));
}
{
PaymentDueDateType thePaymentDueDate;
thePaymentDueDate = this.getPaymentDueDate();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "paymentDueDate", thePaymentDueDate), currentHashCode, thePaymentDueDate, (this.paymentDueDate!= null));
}
{
PaymentChannelCodeType thePaymentChannelCode;
thePaymentChannelCode = this.getPaymentChannelCode();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "paymentChannelCode", thePaymentChannelCode), currentHashCode, thePaymentChannelCode, (this.paymentChannelCode!= null));
}
{
InstructionIDType theInstructionID;
theInstructionID = this.getInstructionID();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "instructionID", theInstructionID), currentHashCode, theInstructionID, (this.instructionID!= null));
}
{
List theInstructionNote;
theInstructionNote = (((this.instructionNote!= null)&&(!this.instructionNote.isEmpty()))?this.getInstructionNote():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "instructionNote", theInstructionNote), currentHashCode, theInstructionNote, ((this.instructionNote!= null)&&(!this.instructionNote.isEmpty())));
}
{
List thePaymentID;
thePaymentID = (((this.paymentID!= null)&&(!this.paymentID.isEmpty()))?this.getPaymentID():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "paymentID", thePaymentID), currentHashCode, thePaymentID, ((this.paymentID!= null)&&(!this.paymentID.isEmpty())));
}
{
List theCardAccount;
theCardAccount = (((this.cardAccount!= null)&&(!this.cardAccount.isEmpty()))?this.getCardAccount():null);
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "cardAccount", theCardAccount), currentHashCode, theCardAccount, ((this.cardAccount!= null)&&(!this.cardAccount.isEmpty())));
}
{
FinancialAccountType thePayerFinancialAccount;
thePayerFinancialAccount = this.getPayerFinancialAccount();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "payerFinancialAccount", thePayerFinancialAccount), currentHashCode, thePayerFinancialAccount, (this.payerFinancialAccount!= null));
}
{
FinancialAccountType thePayeeFinancialAccount;
thePayeeFinancialAccount = this.getPayeeFinancialAccount();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "payeeFinancialAccount", thePayeeFinancialAccount), currentHashCode, thePayeeFinancialAccount, (this.payeeFinancialAccount!= null));
}
{
CreditAccountType theCreditAccount;
theCreditAccount = this.getCreditAccount();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "creditAccount", theCreditAccount), currentHashCode, theCreditAccount, (this.creditAccount!= null));
}
{
PaymentMandateType thePaymentMandate;
thePaymentMandate = this.getPaymentMandate();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "paymentMandate", thePaymentMandate), currentHashCode, thePaymentMandate, (this.paymentMandate!= null));
}
{
TradeFinancingType theTradeFinancing;
theTradeFinancing = this.getTradeFinancing();
currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "tradeFinancing", theTradeFinancing), currentHashCode, theTradeFinancing, (this.tradeFinancing!= null));
}
return currentHashCode;
}
public int hashCode() {
final HashCodeStrategy2 strategy = JAXBHashCodeStrategy.INSTANCE;
return this.hashCode(null, strategy);
}
}