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

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

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.entity;

import com.tools20022.metamodel.*;
import com.tools20022.repository.codeset.DebitCreditCode;
import com.tools20022.repository.datatype.CurrencyAndAmount;
import com.tools20022.repository.datatype.ISODateTime;
import com.tools20022.repository.datatype.PercentageRate;
import com.tools20022.repository.GeneratedRepository;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;

/**
 * Part of an investor's subscription amount that is held by the fund in order
 * to pay incentive / performance fees at the end of the fiscal year.
 * 

* Class diagram *

* *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMBusinessComponent#getElement * element} = *
      *
    • {@linkplain com.tools20022.repository.entity.Equalisation#mmAmount * Equalisation.mmAmount}
    • *
    • {@linkplain com.tools20022.repository.entity.Equalisation#mmDate * Equalisation.mmDate}
    • *
    • {@linkplain com.tools20022.repository.entity.Equalisation#mmRate * Equalisation.mmRate}
    • *
    • * {@linkplain com.tools20022.repository.entity.Equalisation#mmRelatedInvestmentFundTransaction * Equalisation.mmRelatedInvestmentFundTransaction}
    • *
    • * {@linkplain com.tools20022.repository.entity.Equalisation#mmCreditDebitIndicator * Equalisation.mmCreditDebitIndicator}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessComponent#getAssociationDomain * associationDomain} = *
      *
    • * {@linkplain com.tools20022.repository.entity.InvestmentFundClass#mmEqualisation * InvestmentFundClass.mmEqualisation}
    • *
    *
  • *
  • * {@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} = * "Equalisation"
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Part of an investor's subscription amount that is held by the fund in order to pay incentive / performance fees at the end of the fiscal year." *
  • *
*/ public class Equalisation { final static private AtomicReference mmObject_lazy = new AtomicReference<>(); protected CurrencyAndAmount amount; /** * Amount of money resulting from the calculation of the equalisation. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.datatype.CurrencyAndAmount * CurrencyAndAmount}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Equalisation Equalisation}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Amount"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Amount of money resulting from the calculation of the equalisation."
  • *
*/ public static final MMBusinessAttribute mmAmount = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Equalisation.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "Amount"; definition = "Amount of money resulting from the calculation of the equalisation."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> CurrencyAndAmount.mmObject(); } public Method getGetterMethod() { try { return Equalisation.class.getMethod("getAmount", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected ISODateTime date; /** * Date on which all or part of any holding bought in a unit trust is * subject to being treated as capital rather than income. This is normally * one day after the previous distribution's ex date. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = {@linkplain com.tools20022.repository.datatype.ISODateTime * ISODateTime}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Equalisation Equalisation}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Date"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Date on which all or part of any holding bought in a unit trust is subject to being treated as capital rather than income. This is normally one day after the previous distribution's ex date." *
  • *
*/ public static final MMBusinessAttribute mmDate = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Equalisation.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "Date"; definition = "Date on which all or part of any holding bought in a unit trust is subject to being treated as capital rather than income. This is normally one day after the previous distribution's ex date."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> ISODateTime.mmObject(); } public Method getGetterMethod() { try { return Equalisation.class.getMethod("getDate", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected PercentageRate rate; /** * Rate used for calculation of the equalisation. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.datatype.PercentageRate * PercentageRate}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Equalisation Equalisation}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Rate"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Rate used for calculation of the equalisation."
  • *
*/ public static final MMBusinessAttribute mmRate = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Equalisation.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "Rate"; definition = "Rate used for calculation of the equalisation."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> PercentageRate.mmObject(); } public Method getGetterMethod() { try { return Equalisation.class.getMethod("getRate", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected InvestmentFundClass relatedInvestmentFundTransaction; /** * Investment fund transaction for which equalisation is specified. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.InvestmentFundClass#mmEqualisation * InvestmentFundClass.mmEqualisation}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.InvestmentFundClass * InvestmentFundClass}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Equalisation Equalisation}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "RelatedInvestmentFundTransaction"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Investment fund transaction for which equalisation is specified."
  • *
*/ public static final MMBusinessAssociationEnd mmRelatedInvestmentFundTransaction = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Equalisation.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "RelatedInvestmentFundTransaction"; definition = "Investment fund transaction for which equalisation is specified."; maxOccurs = 1; minOccurs = 0; opposite_lazy = () -> com.tools20022.repository.entity.InvestmentFundClass.mmEqualisation; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.InvestmentFundClass.mmObject(); } }; protected DebitCreditCode creditDebitIndicator; /** * Debit for a negative amount or credit for a positive amount. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.codeset.DebitCreditCode * DebitCreditCode}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Equalisation Equalisation}
  • *
  • * {@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} = * "Debit for a negative amount or credit for a positive amount."
  • *
*/ public static final MMBusinessAttribute mmCreditDebitIndicator = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Equalisation.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "CreditDebitIndicator"; definition = "Debit for a negative amount or credit for a positive amount."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> DebitCreditCode.mmObject(); } public Method getGetterMethod() { try { return Equalisation.class.getMethod("getCreditDebitIndicator", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; static public MMBusinessComponent mmObject() { mmObject_lazy.compareAndSet(null, new MMBusinessComponent() { { dataDictionary_lazy = () -> GeneratedRepository.mmdataDict; registrationStatus = MMRegistrationStatus.REGISTERED; name = "Equalisation"; definition = "Part of an investor's subscription amount that is held by the fund in order to pay incentive / performance fees at the end of the fiscal year."; associationDomain_lazy = () -> Arrays.asList(com.tools20022.repository.entity.InvestmentFundClass.mmEqualisation); element_lazy = () -> Arrays.asList(com.tools20022.repository.entity.Equalisation.mmAmount, com.tools20022.repository.entity.Equalisation.mmDate, com.tools20022.repository.entity.Equalisation.mmRate, com.tools20022.repository.entity.Equalisation.mmRelatedInvestmentFundTransaction, com.tools20022.repository.entity.Equalisation.mmCreditDebitIndicator); } @Override public Class getInstanceClass() { return Equalisation.class; } }); return mmObject_lazy.get(); } public CurrencyAndAmount getAmount() { return amount; } public void setAmount(CurrencyAndAmount amount) { this.amount = amount; } public ISODateTime getDate() { return date; } public void setDate(ISODateTime date) { this.date = date; } public PercentageRate getRate() { return rate; } public void setRate(PercentageRate rate) { this.rate = rate; } public InvestmentFundClass getRelatedInvestmentFundTransaction() { return relatedInvestmentFundTransaction; } public void setRelatedInvestmentFundTransaction(com.tools20022.repository.entity.InvestmentFundClass relatedInvestmentFundTransaction) { this.relatedInvestmentFundTransaction = relatedInvestmentFundTransaction; } public DebitCreditCode getCreditDebitIndicator() { return creditDebitIndicator; } public void setCreditDebitIndicator(DebitCreditCode creditDebitIndicator) { this.creditDebitIndicator = creditDebitIndicator; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy