All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tools20022.repository.entity.AmountRange Maven / Gradle / Ivy

There is a newer version: 0.1.2
Show 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.entity;

import com.tools20022.metamodel.*;
import com.tools20022.repository.choice.ImpliedCurrencyAmountRangeChoice;
import com.tools20022.repository.codeset.CurrencyCode;
import com.tools20022.repository.codeset.DebitCreditCode;
import com.tools20022.repository.datatype.CurrencyAndAmount;
import com.tools20022.repository.GeneratedRepository;
import com.tools20022.repository.msg.CurrencyAndAmountRange2;
import com.tools20022.repository.msg.FromToAmountRange;
import com.tools20022.repository.msg.InterestRecord1;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;

/**
 * Range of amount values.
 * 

* Class diagram *

* *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMBusinessComponent#getElement * element} = *
      *
    • {@linkplain com.tools20022.repository.entity.AmountRange#mmFromAmount * AmountRange.mmFromAmount}
    • *
    • {@linkplain com.tools20022.repository.entity.AmountRange#mmToAmount * AmountRange.mmToAmount}
    • *
    • {@linkplain com.tools20022.repository.entity.AmountRange#mmEqualAmount * AmountRange.mmEqualAmount}
    • *
    • * {@linkplain com.tools20022.repository.entity.AmountRange#mmNotEqualAmount * AmountRange.mmNotEqualAmount}
    • *
    • * {@linkplain com.tools20022.repository.entity.AmountRange#mmCreditDebitIndicator * AmountRange.mmCreditDebitIndicator}
    • *
    • {@linkplain com.tools20022.repository.entity.AmountRange#mmCurrency * AmountRange.mmCurrency}
    • *
    • * {@linkplain com.tools20022.repository.entity.AmountRange#mmRelatedInterest * AmountRange.mmRelatedInterest}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessComponent#getAssociationDomain * associationDomain} = *
      *
    • * {@linkplain com.tools20022.repository.entity.AmountRangeBoundary#mmFromAmountRange * AmountRangeBoundary.mmFromAmountRange}
    • *
    • * {@linkplain com.tools20022.repository.entity.AmountRangeBoundary#mmToAmountRange * AmountRangeBoundary.mmToAmountRange}
    • *
    • * {@linkplain com.tools20022.repository.entity.InterestCalculation#mmRateValidityRange * InterestCalculation.mmRateValidityRange}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessComponent#getDerivationElement * derivationElement} = *
      *
    • * {@linkplain com.tools20022.repository.choice.ImpliedCurrencyAmountRangeChoice#mmFromToAmount * ImpliedCurrencyAmountRangeChoice.mmFromToAmount}
    • *
    • * {@linkplain com.tools20022.repository.msg.CurrencyAndAmountRange2#mmAmount * CurrencyAndAmountRange2.mmAmount}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessComponent#getDerivationComponent * derivationComponent} = *
      *
    • {@linkplain com.tools20022.repository.msg.FromToAmountRange * FromToAmountRange}
    • *
    • * {@linkplain com.tools20022.repository.choice.ImpliedCurrencyAmountRangeChoice * ImpliedCurrencyAmountRangeChoice}
    • *
    • {@linkplain com.tools20022.repository.msg.CurrencyAndAmountRange2 * CurrencyAndAmountRange2}
    • *
    *
  • *
  • * {@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} = * "AmountRange"
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Range of amount values."
  • *
*/ public class AmountRange { final static private AtomicReference mmObject_lazy = new AtomicReference<>(); protected AmountRangeBoundary fromAmount; /** * Lower boundary of a range of amount values. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.AmountRangeBoundary#mmFromAmountRange * AmountRangeBoundary.mmFromAmountRange}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.AmountRangeBoundary * AmountRangeBoundary}
  • *
  • {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation * derivation} = *
      *
    • * {@linkplain com.tools20022.repository.msg.FromToAmountRange#mmFromAmount * FromToAmountRange.mmFromAmount}
    • *
    • * {@linkplain com.tools20022.repository.choice.ImpliedCurrencyAmountRangeChoice#mmFromAmount * ImpliedCurrencyAmountRangeChoice.mmFromAmount}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.AmountRange AmountRange}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "FromAmount"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Lower boundary of a range of amount values."
  • *
*/ public static final MMBusinessAssociationEnd mmFromAmount = new MMBusinessAssociationEnd() { { derivation_lazy = () -> Arrays.asList(FromToAmountRange.mmFromAmount, ImpliedCurrencyAmountRangeChoice.mmFromAmount); isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.AmountRange.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "FromAmount"; definition = "Lower boundary of a range of amount values."; maxOccurs = 1; minOccurs = 1; opposite_lazy = () -> com.tools20022.repository.entity.AmountRangeBoundary.mmFromAmountRange; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.AmountRangeBoundary.mmObject(); } }; protected AmountRangeBoundary toAmount; /** * Upper boundary of a range of amount values. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.AmountRangeBoundary#mmToAmountRange * AmountRangeBoundary.mmToAmountRange}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.AmountRangeBoundary * AmountRangeBoundary}
  • *
  • {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation * derivation} = *
      *
    • * {@linkplain com.tools20022.repository.msg.FromToAmountRange#mmToAmount * FromToAmountRange.mmToAmount}
    • *
    • * {@linkplain com.tools20022.repository.choice.ImpliedCurrencyAmountRangeChoice#mmToAmount * ImpliedCurrencyAmountRangeChoice.mmToAmount}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.AmountRange AmountRange}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "ToAmount"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Upper boundary of a range of amount values."
  • *
*/ public static final MMBusinessAssociationEnd mmToAmount = new MMBusinessAssociationEnd() { { derivation_lazy = () -> Arrays.asList(FromToAmountRange.mmToAmount, ImpliedCurrencyAmountRangeChoice.mmToAmount); isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.AmountRange.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "ToAmount"; definition = "Upper boundary of a range of amount values."; maxOccurs = 1; minOccurs = 1; opposite_lazy = () -> com.tools20022.repository.entity.AmountRangeBoundary.mmToAmountRange; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.AmountRangeBoundary.mmObject(); } }; protected CurrencyAndAmount equalAmount; /** * Exact value an amount must match to be considered valid. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.datatype.CurrencyAndAmount * CurrencyAndAmount}
  • *
  • {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation * derivation} = *
      *
    • * {@linkplain com.tools20022.repository.choice.ImpliedCurrencyAmountRangeChoice#mmEqualAmount * ImpliedCurrencyAmountRangeChoice.mmEqualAmount}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.AmountRange AmountRange}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "EqualAmount"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Exact value an amount must match to be considered valid."
  • *
*/ public static final MMBusinessAttribute mmEqualAmount = new MMBusinessAttribute() { { derivation_lazy = () -> Arrays.asList(ImpliedCurrencyAmountRangeChoice.mmEqualAmount); isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.AmountRange.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "EqualAmount"; definition = "Exact value an amount must match to be considered valid."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> CurrencyAndAmount.mmObject(); } public Method getGetterMethod() { try { return AmountRange.class.getMethod("getEqualAmount", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected CurrencyAndAmount notEqualAmount; /** * Value that an amount must not match to be considered valid. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.datatype.CurrencyAndAmount * CurrencyAndAmount}
  • *
  • {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation * derivation} = *
      *
    • * {@linkplain com.tools20022.repository.choice.ImpliedCurrencyAmountRangeChoice#mmNotEqualAmount * ImpliedCurrencyAmountRangeChoice.mmNotEqualAmount}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.AmountRange AmountRange}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "NotEqualAmount"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Value that an amount must not match to be considered valid."
  • *
*/ public static final MMBusinessAttribute mmNotEqualAmount = new MMBusinessAttribute() { { derivation_lazy = () -> Arrays.asList(ImpliedCurrencyAmountRangeChoice.mmNotEqualAmount); isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.AmountRange.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "NotEqualAmount"; definition = "Value that an amount must not match to be considered valid."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> CurrencyAndAmount.mmObject(); } public Method getGetterMethod() { try { return AmountRange.class.getMethod("getNotEqualAmount", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected DebitCreditCode creditDebitIndicator; /** * Indicates whether the amount is a credited or debited amount. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.codeset.DebitCreditCode * DebitCreditCode}
  • *
  • {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation * derivation} = *
      *
    • * {@linkplain com.tools20022.repository.msg.CurrencyAndAmountRange2#mmCreditDebitIndicator * CurrencyAndAmountRange2.mmCreditDebitIndicator}
    • *
    • * {@linkplain com.tools20022.repository.msg.InterestRecord1#mmCreditDebitIndicator * InterestRecord1.mmCreditDebitIndicator}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.AmountRange AmountRange}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.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 MMBusinessAttribute mmCreditDebitIndicator = new MMBusinessAttribute() { { derivation_lazy = () -> Arrays.asList(CurrencyAndAmountRange2.mmCreditDebitIndicator, InterestRecord1.mmCreditDebitIndicator); isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.AmountRange.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "CreditDebitIndicator"; definition = "Indicates whether the amount is a credited or debited amount."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> DebitCreditCode.mmObject(); } public Method getGetterMethod() { try { return AmountRange.class.getMethod("getCreditDebitIndicator", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected CurrencyCode currency; /** * Medium of exchange of value, used to qualify an amount. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = {@linkplain com.tools20022.repository.codeset.CurrencyCode * CurrencyCode}
  • *
  • {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation * derivation} = *
      *
    • * {@linkplain com.tools20022.repository.msg.CurrencyAndAmountRange2#mmCurrency * CurrencyAndAmountRange2.mmCurrency}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.AmountRange AmountRange}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.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 MMBusinessAttribute mmCurrency = new MMBusinessAttribute() { { derivation_lazy = () -> Arrays.asList(CurrencyAndAmountRange2.mmCurrency); isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.AmountRange.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "Currency"; definition = "Medium of exchange of value, used to qualify an amount."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> CurrencyCode.mmObject(); } public Method getGetterMethod() { try { return AmountRange.class.getMethod("getCurrency", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected InterestCalculation relatedInterest; /** * Interest which applies on a specific amount range. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.InterestCalculation#mmRateValidityRange * InterestCalculation.mmRateValidityRange}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.InterestCalculation * InterestCalculation}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.AmountRange AmountRange}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "RelatedInterest"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Interest which applies on a specific amount range."
  • *
*/ public static final MMBusinessAssociationEnd mmRelatedInterest = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.AmountRange.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "RelatedInterest"; definition = "Interest which applies on a specific amount range."; maxOccurs = 1; minOccurs = 0; opposite_lazy = () -> com.tools20022.repository.entity.InterestCalculation.mmRateValidityRange; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.InterestCalculation.mmObject(); } }; static public MMBusinessComponent mmObject() { mmObject_lazy.compareAndSet(null, new MMBusinessComponent() { { dataDictionary_lazy = () -> GeneratedRepository.mmdataDict; registrationStatus = MMRegistrationStatus.REGISTERED; name = "AmountRange"; definition = "Range of amount values."; associationDomain_lazy = () -> Arrays.asList(com.tools20022.repository.entity.AmountRangeBoundary.mmFromAmountRange, com.tools20022.repository.entity.AmountRangeBoundary.mmToAmountRange, com.tools20022.repository.entity.InterestCalculation.mmRateValidityRange); derivationElement_lazy = () -> Arrays.asList(ImpliedCurrencyAmountRangeChoice.mmFromToAmount, CurrencyAndAmountRange2.mmAmount); element_lazy = () -> Arrays.asList(com.tools20022.repository.entity.AmountRange.mmFromAmount, com.tools20022.repository.entity.AmountRange.mmToAmount, com.tools20022.repository.entity.AmountRange.mmEqualAmount, com.tools20022.repository.entity.AmountRange.mmNotEqualAmount, com.tools20022.repository.entity.AmountRange.mmCreditDebitIndicator, com.tools20022.repository.entity.AmountRange.mmCurrency, com.tools20022.repository.entity.AmountRange.mmRelatedInterest); derivationComponent_lazy = () -> Arrays.asList(FromToAmountRange.mmObject(), ImpliedCurrencyAmountRangeChoice.mmObject(), CurrencyAndAmountRange2.mmObject()); } @Override public Class getInstanceClass() { return AmountRange.class; } }); return mmObject_lazy.get(); } public AmountRangeBoundary getFromAmount() { return fromAmount; } public void setFromAmount(com.tools20022.repository.entity.AmountRangeBoundary fromAmount) { this.fromAmount = fromAmount; } public AmountRangeBoundary getToAmount() { return toAmount; } public void setToAmount(com.tools20022.repository.entity.AmountRangeBoundary toAmount) { this.toAmount = toAmount; } public CurrencyAndAmount getEqualAmount() { return equalAmount; } public void setEqualAmount(CurrencyAndAmount equalAmount) { this.equalAmount = equalAmount; } public CurrencyAndAmount getNotEqualAmount() { return notEqualAmount; } public void setNotEqualAmount(CurrencyAndAmount notEqualAmount) { this.notEqualAmount = notEqualAmount; } public DebitCreditCode getCreditDebitIndicator() { return creditDebitIndicator; } public void setCreditDebitIndicator(DebitCreditCode creditDebitIndicator) { this.creditDebitIndicator = creditDebitIndicator; } public CurrencyCode getCurrency() { return currency; } public void setCurrency(CurrencyCode currency) { this.currency = currency; } public InterestCalculation getRelatedInterest() { return relatedInterest; } public void setRelatedInterest(com.tools20022.repository.entity.InterestCalculation relatedInterest) { this.relatedInterest = relatedInterest; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy