com.tools20022.repository.msg.RemittanceAmount3 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tools20022-api-payments Show documentation
Show all versions of tools20022-api-payments Show documentation
Java API for ISO 20022 - Payments business domain
/* Tools20022 - API for ISO 20022
* Copyright (C) 2017 Tools20022.com - László Bukodi
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
package com.tools20022.repository.msg;
import com.tools20022.metamodel.MMMessageAssociationEnd;
import com.tools20022.metamodel.MMMessageAttribute;
import com.tools20022.metamodel.MMMessageComponent;
import com.tools20022.metamodel.MMRegistrationStatus;
import com.tools20022.repository.datatype.ActiveOrHistoricCurrencyAndAmount;
import com.tools20022.repository.entity.Adjustment;
import com.tools20022.repository.entity.Discount;
import com.tools20022.repository.entity.PaymentObligation;
import com.tools20022.repository.entity.Tax;
import com.tools20022.repository.GeneratedRepository;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
* Nature of the amount and currency on a document referred to in the remittance
* section, typically either the original amount due/payable or the amount
* actually remitted for the referenced document.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageElementContainer#getMessageElement
* messageElement} =
*
* -
* {@linkplain com.tools20022.repository.msg.RemittanceAmount3#mmDuePayableAmount
* RemittanceAmount3.mmDuePayableAmount}
* -
* {@linkplain com.tools20022.repository.msg.RemittanceAmount3#mmDiscountAppliedAmount
* RemittanceAmount3.mmDiscountAppliedAmount}
* -
* {@linkplain com.tools20022.repository.msg.RemittanceAmount3#mmCreditNoteAmount
* RemittanceAmount3.mmCreditNoteAmount}
* - {@linkplain com.tools20022.repository.msg.RemittanceAmount3#mmTaxAmount
* RemittanceAmount3.mmTaxAmount}
* -
* {@linkplain com.tools20022.repository.msg.RemittanceAmount3#mmAdjustmentAmountAndReason
* RemittanceAmount3.mmAdjustmentAmountAndReason}
* -
* {@linkplain com.tools20022.repository.msg.RemittanceAmount3#mmRemittedAmount
* RemittanceAmount3.mmRemittedAmount}
*
*
* -
* {@linkplain com.tools20022.metamodel.MMTopLevelDictionaryEntry#getDataDictionary
* dataDictionary} =
* {@linkplain com.tools20022.repository.GeneratedRepository#mmdataDict
* GeneratedRepository.mmdataDict}
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName name} =
* "RemittanceAmount3"
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Nature of the amount and currency on a document referred to in the remittance section, typically either the original amount due/payable or the amount actually remitted for the referenced document."
*
* - {@linkplain com.tools20022.metamodel.MMModelEntity#getPreviousVersion
* previousVersion} =
* {@linkplain com.tools20022.repository.msg.RemittanceAmount2
* RemittanceAmount2}
*
*/
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlType(name = "RemittanceAmount3", propOrder = {"duePayableAmount", "discountAppliedAmount", "creditNoteAmount", "taxAmount", "adjustmentAmountAndReason", "remittedAmount"})
public class RemittanceAmount3 {
final static private AtomicReference mmObject_lazy = new AtomicReference<>();
protected ActiveOrHistoricCurrencyAndAmount duePayableAmount;
/**
* Amount specified is the exact amount due and payable to the creditor.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.datatype.ActiveOrHistoricCurrencyAndAmount
* ActiveOrHistoricCurrencyAndAmount}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace
* businessElementTrace} =
* {@linkplain com.tools20022.repository.entity.PaymentObligation#mmAmount
* PaymentObligation.mmAmount}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.RemittanceAmount3
* RemittanceAmount3}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "DuePyblAmt"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "DuePayableAmount"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Amount specified is the exact amount due and payable to the creditor."
* -
* {@linkplain com.tools20022.metamodel.MMModelEntity#getPreviousVersion
* previousVersion} =
* {@linkplain com.tools20022.repository.msg.RemittanceAmount2#mmDuePayableAmount
* RemittanceAmount2.mmDuePayableAmount}
*
*/
public static final MMMessageAttribute mmDuePayableAmount = new MMMessageAttribute() {
{
businessElementTrace_lazy = () -> PaymentObligation.mmAmount;
componentContext_lazy = () -> RemittanceAmount3.mmObject();
isDerived = false;
xmlTag = "DuePyblAmt";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "DuePayableAmount";
definition = "Amount specified is the exact amount due and payable to the creditor.";
previousVersion_lazy = () -> RemittanceAmount2.mmDuePayableAmount;
maxOccurs = 1;
minOccurs = 0;
simpleType_lazy = () -> ActiveOrHistoricCurrencyAndAmount.mmObject();
}
};
protected List discountAppliedAmount;
/**
* Amount of discount to be applied to the amount due and payable to the
* creditor.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageAttribute#getComplexType
* complexType} =
* {@linkplain com.tools20022.repository.msg.DiscountAmountAndType1
* DiscountAmountAndType1}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace
* businessElementTrace} =
* {@linkplain com.tools20022.repository.entity.Discount#mmDiscountAppliedAmount
* Discount.mmDiscountAppliedAmount}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.RemittanceAmount3
* RemittanceAmount3}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "DscntApldAmt"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "DiscountAppliedAmount"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Amount of discount to be applied to the amount due and payable to the creditor."
*
* -
* {@linkplain com.tools20022.metamodel.MMModelEntity#getPreviousVersion
* previousVersion} =
* {@linkplain com.tools20022.repository.msg.RemittanceAmount2#mmDiscountAppliedAmount
* RemittanceAmount2.mmDiscountAppliedAmount}
*
*/
public static final MMMessageAttribute mmDiscountAppliedAmount = new MMMessageAttribute() {
{
businessElementTrace_lazy = () -> Discount.mmDiscountAppliedAmount;
componentContext_lazy = () -> RemittanceAmount3.mmObject();
isDerived = false;
xmlTag = "DscntApldAmt";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "DiscountAppliedAmount";
definition = "Amount of discount to be applied to the amount due and payable to the creditor.";
previousVersion_lazy = () -> RemittanceAmount2.mmDiscountAppliedAmount;
minOccurs = 0;
complexType_lazy = () -> com.tools20022.repository.msg.DiscountAmountAndType1.mmObject();
}
};
protected ActiveOrHistoricCurrencyAndAmount creditNoteAmount;
/**
* Amount of a credit note.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.datatype.ActiveOrHistoricCurrencyAndAmount
* ActiveOrHistoricCurrencyAndAmount}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.RemittanceAmount3
* RemittanceAmount3}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "CdtNoteAmt"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "CreditNoteAmount"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Amount of a credit note."
* -
* {@linkplain com.tools20022.metamodel.MMModelEntity#getPreviousVersion
* previousVersion} =
* {@linkplain com.tools20022.repository.msg.RemittanceAmount2#mmCreditNoteAmount
* RemittanceAmount2.mmCreditNoteAmount}
*
*/
public static final MMMessageAttribute mmCreditNoteAmount = new MMMessageAttribute() {
{
componentContext_lazy = () -> RemittanceAmount3.mmObject();
isDerived = false;
xmlTag = "CdtNoteAmt";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "CreditNoteAmount";
definition = "Amount of a credit note.";
previousVersion_lazy = () -> RemittanceAmount2.mmCreditNoteAmount;
maxOccurs = 1;
minOccurs = 0;
simpleType_lazy = () -> ActiveOrHistoricCurrencyAndAmount.mmObject();
}
};
protected List taxAmount;
/**
* Amount of the tax.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageAttribute#getComplexType
* complexType} =
* {@linkplain com.tools20022.repository.msg.TaxAmountAndType1
* TaxAmountAndType1}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace
* businessElementTrace} =
* {@linkplain com.tools20022.repository.entity.Tax#mmAmount Tax.mmAmount}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.RemittanceAmount3
* RemittanceAmount3}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "TaxAmt"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "TaxAmount"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Amount of the tax."
* -
* {@linkplain com.tools20022.metamodel.MMModelEntity#getPreviousVersion
* previousVersion} =
* {@linkplain com.tools20022.repository.msg.RemittanceAmount2#mmTaxAmount
* RemittanceAmount2.mmTaxAmount}
*
*/
public static final MMMessageAttribute mmTaxAmount = new MMMessageAttribute() {
{
businessElementTrace_lazy = () -> Tax.mmAmount;
componentContext_lazy = () -> RemittanceAmount3.mmObject();
isDerived = false;
xmlTag = "TaxAmt";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "TaxAmount";
definition = "Amount of the tax.";
previousVersion_lazy = () -> RemittanceAmount2.mmTaxAmount;
minOccurs = 0;
complexType_lazy = () -> com.tools20022.repository.msg.TaxAmountAndType1.mmObject();
}
};
protected List adjustmentAmountAndReason;
/**
* Specifies detailed information on the amount and reason of the
* adjustment.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.msg.DocumentAdjustment1
* DocumentAdjustment1}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessComponentTrace
* businessComponentTrace} =
* {@linkplain com.tools20022.repository.entity.Adjustment Adjustment}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.RemittanceAmount3
* RemittanceAmount3}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "AdjstmntAmtAndRsn"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "AdjustmentAmountAndReason"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Specifies detailed information on the amount and reason of the adjustment."
*
* -
* {@linkplain com.tools20022.metamodel.MMModelEntity#getPreviousVersion
* previousVersion} =
* {@linkplain com.tools20022.repository.msg.RemittanceAmount2#mmAdjustmentAmountAndReason
* RemittanceAmount2.mmAdjustmentAmountAndReason}
*
*/
public static final MMMessageAssociationEnd mmAdjustmentAmountAndReason = new MMMessageAssociationEnd() {
{
businessComponentTrace_lazy = () -> Adjustment.mmObject();
componentContext_lazy = () -> RemittanceAmount3.mmObject();
isDerived = false;
xmlTag = "AdjstmntAmtAndRsn";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "AdjustmentAmountAndReason";
definition = "Specifies detailed information on the amount and reason of the adjustment.";
previousVersion_lazy = () -> RemittanceAmount2.mmAdjustmentAmountAndReason;
minOccurs = 0;
isComposite = true;
type_lazy = () -> com.tools20022.repository.msg.DocumentAdjustment1.mmObject();
}
};
protected ActiveOrHistoricCurrencyAndAmount remittedAmount;
/**
* Amount of money remitted.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.datatype.ActiveOrHistoricCurrencyAndAmount
* ActiveOrHistoricCurrencyAndAmount}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.RemittanceAmount3
* RemittanceAmount3}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "RmtdAmt"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "RemittedAmount"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Amount of money remitted."
* -
* {@linkplain com.tools20022.metamodel.MMModelEntity#getPreviousVersion
* previousVersion} =
* {@linkplain com.tools20022.repository.msg.RemittanceAmount2#mmRemittedAmount
* RemittanceAmount2.mmRemittedAmount}
*
*/
public static final MMMessageAttribute mmRemittedAmount = new MMMessageAttribute() {
{
componentContext_lazy = () -> RemittanceAmount3.mmObject();
isDerived = false;
xmlTag = "RmtdAmt";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "RemittedAmount";
definition = "Amount of money remitted.";
previousVersion_lazy = () -> RemittanceAmount2.mmRemittedAmount;
maxOccurs = 1;
minOccurs = 0;
simpleType_lazy = () -> ActiveOrHistoricCurrencyAndAmount.mmObject();
}
};
final static public MMMessageComponent mmObject() {
mmObject_lazy.compareAndSet(null, new MMMessageComponent() {
{
messageElement_lazy = () -> Arrays.asList(RemittanceAmount3.mmDuePayableAmount, RemittanceAmount3.mmDiscountAppliedAmount, RemittanceAmount3.mmCreditNoteAmount, RemittanceAmount3.mmTaxAmount,
RemittanceAmount3.mmAdjustmentAmountAndReason, RemittanceAmount3.mmRemittedAmount);
dataDictionary_lazy = () -> GeneratedRepository.mmdataDict;
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "RemittanceAmount3";
definition = "Nature of the amount and currency on a document referred to in the remittance section, typically either the original amount due/payable or the amount actually remitted for the referenced document.";
previousVersion_lazy = () -> RemittanceAmount2.mmObject();
}
});
return mmObject_lazy.get();
}
@XmlElement(name = "DuePyblAmt")
public ActiveOrHistoricCurrencyAndAmount getDuePayableAmount() {
return duePayableAmount;
}
public void setDuePayableAmount(ActiveOrHistoricCurrencyAndAmount duePayableAmount) {
this.duePayableAmount = duePayableAmount;
}
@XmlElement(name = "DscntApldAmt")
public List getDiscountAppliedAmount() {
return discountAppliedAmount;
}
public void setDiscountAppliedAmount(List discountAppliedAmount) {
this.discountAppliedAmount = discountAppliedAmount;
}
@XmlElement(name = "CdtNoteAmt")
public ActiveOrHistoricCurrencyAndAmount getCreditNoteAmount() {
return creditNoteAmount;
}
public void setCreditNoteAmount(ActiveOrHistoricCurrencyAndAmount creditNoteAmount) {
this.creditNoteAmount = creditNoteAmount;
}
@XmlElement(name = "TaxAmt")
public List getTaxAmount() {
return taxAmount;
}
public void setTaxAmount(List taxAmount) {
this.taxAmount = taxAmount;
}
@XmlElement(name = "AdjstmntAmtAndRsn")
public List getAdjustmentAmountAndReason() {
return adjustmentAmountAndReason;
}
public void setAdjustmentAmountAndReason(List adjustmentAmountAndReason) {
this.adjustmentAmountAndReason = adjustmentAmountAndReason;
}
@XmlElement(name = "RmtdAmt")
public ActiveOrHistoricCurrencyAndAmount getRemittedAmount() {
return remittedAmount;
}
public void setRemittedAmount(ActiveOrHistoricCurrencyAndAmount remittedAmount) {
this.remittedAmount = remittedAmount;
}
}