com.tools20022.repository.msg.CurrencyAndAmountRange2 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
The newest version!
/* 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.MMMessageAttribute;
import com.tools20022.metamodel.MMMessageComponent;
import com.tools20022.metamodel.MMRegistrationStatus;
import com.tools20022.repository.choice.ImpliedCurrencyAmountRangeChoice;
import com.tools20022.repository.codeset.ActiveOrHistoricCurrencyCode;
import com.tools20022.repository.codeset.CreditDebitCode;
import com.tools20022.repository.entity.AmountRange;
import com.tools20022.repository.GeneratedRepository;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
* Range of amount values.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageElementContainer#getMessageElement
* messageElement} =
*
* -
* {@linkplain com.tools20022.repository.msg.CurrencyAndAmountRange2#mmAmount
* CurrencyAndAmountRange2.mmAmount}
* -
* {@linkplain com.tools20022.repository.msg.CurrencyAndAmountRange2#mmCreditDebitIndicator
* CurrencyAndAmountRange2.mmCreditDebitIndicator}
* -
* {@linkplain com.tools20022.repository.msg.CurrencyAndAmountRange2#mmCurrency
* CurrencyAndAmountRange2.mmCurrency}
*
*
* - {@linkplain com.tools20022.metamodel.MMMessageComponentType#getTrace
* trace} = {@linkplain com.tools20022.repository.entity.AmountRange
* AmountRange}
* -
* {@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} =
* "CurrencyAndAmountRange2"
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Range of amount values."
*
*/
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlType(name = "CurrencyAndAmountRange2", propOrder = {"amount", "creditDebitIndicator", "currency"})
public class CurrencyAndAmountRange2 {
final static private AtomicReference mmObject_lazy = new AtomicReference<>();
protected ImpliedCurrencyAmountRangeChoice amount;
/**
* Specified amount or amount range.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageAttribute#getComplexType
* complexType} =
* {@linkplain com.tools20022.repository.choice.ImpliedCurrencyAmountRangeChoice
* ImpliedCurrencyAmountRangeChoice}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessComponentTrace
* businessComponentTrace} =
* {@linkplain com.tools20022.repository.entity.AmountRange AmountRange}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.CurrencyAndAmountRange2
* CurrencyAndAmountRange2}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "Amt"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Amount"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Specified amount or amount range."
*
*/
public static final MMMessageAttribute mmAmount = new MMMessageAttribute() {
{
businessComponentTrace_lazy = () -> AmountRange.mmObject();
componentContext_lazy = () -> CurrencyAndAmountRange2.mmObject();
isDerived = false;
xmlTag = "Amt";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "Amount";
definition = "Specified amount or amount range.";
maxOccurs = 1;
minOccurs = 1;
complexType_lazy = () -> ImpliedCurrencyAmountRangeChoice.mmObject();
}
};
protected CreditDebitCode creditDebitIndicator;
/**
* Indicates whether the amount is a credited or debited amount.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.codeset.CreditDebitCode
* CreditDebitCode}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace
* businessElementTrace} =
* {@linkplain com.tools20022.repository.entity.AmountRange#mmCreditDebitIndicator
* AmountRange.mmCreditDebitIndicator}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.CurrencyAndAmountRange2
* CurrencyAndAmountRange2}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "CdtDbtInd"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "CreditDebitIndicator"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Indicates whether the amount is a credited or debited amount."
*
*/
public static final MMMessageAttribute mmCreditDebitIndicator = new MMMessageAttribute() {
{
businessElementTrace_lazy = () -> AmountRange.mmCreditDebitIndicator;
componentContext_lazy = () -> CurrencyAndAmountRange2.mmObject();
isDerived = false;
xmlTag = "CdtDbtInd";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "CreditDebitIndicator";
definition = "Indicates whether the amount is a credited or debited amount.";
maxOccurs = 1;
minOccurs = 0;
simpleType_lazy = () -> CreditDebitCode.mmObject();
}
};
protected ActiveOrHistoricCurrencyCode currency;
/**
* Medium of exchange of value, used to qualify an amount.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.codeset.ActiveOrHistoricCurrencyCode
* ActiveOrHistoricCurrencyCode}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace
* businessElementTrace} =
* {@linkplain com.tools20022.repository.entity.AmountRange#mmCurrency
* AmountRange.mmCurrency}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.CurrencyAndAmountRange2
* CurrencyAndAmountRange2}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "Ccy"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Currency"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Medium of exchange of value, used to qualify an amount."
*
*/
public static final MMMessageAttribute mmCurrency = new MMMessageAttribute() {
{
businessElementTrace_lazy = () -> AmountRange.mmCurrency;
componentContext_lazy = () -> CurrencyAndAmountRange2.mmObject();
isDerived = false;
xmlTag = "Ccy";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "Currency";
definition = "Medium of exchange of value, used to qualify an amount.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> ActiveOrHistoricCurrencyCode.mmObject();
}
};
final static public MMMessageComponent mmObject() {
mmObject_lazy.compareAndSet(null, new MMMessageComponent() {
{
messageElement_lazy = () -> Arrays.asList(CurrencyAndAmountRange2.mmAmount, CurrencyAndAmountRange2.mmCreditDebitIndicator, CurrencyAndAmountRange2.mmCurrency);
trace_lazy = () -> AmountRange.mmObject();
dataDictionary_lazy = () -> GeneratedRepository.mmdataDict;
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "CurrencyAndAmountRange2";
definition = "Range of amount values.";
}
});
return mmObject_lazy.get();
}
@XmlElement(name = "Amt", required = true)
public ImpliedCurrencyAmountRangeChoice getAmount() {
return amount;
}
public void setAmount(ImpliedCurrencyAmountRangeChoice amount) {
this.amount = amount;
}
@XmlElement(name = "CdtDbtInd")
public CreditDebitCode getCreditDebitIndicator() {
return creditDebitIndicator;
}
public void setCreditDebitIndicator(CreditDebitCode creditDebitIndicator) {
this.creditDebitIndicator = creditDebitIndicator;
}
@XmlElement(name = "Ccy", required = true)
public ActiveOrHistoricCurrencyCode getCurrency() {
return currency;
}
public void setCurrency(ActiveOrHistoricCurrencyCode currency) {
this.currency = currency;
}
}