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

com.tools20022.repository.entity.VariableInterest 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.choice.InterestRate2Choice;
import com.tools20022.repository.codeset.FrequencyCode;
import com.tools20022.repository.datatype.ISODateTime;
import com.tools20022.repository.datatype.Max16Text;
import com.tools20022.repository.datatype.PercentageRate;
import com.tools20022.repository.GeneratedRepository;
import com.tools20022.repository.msg.FloatingInterestRate4;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
import java.util.List;

/**
 * Specifies the estimated interest rate and the parameters used for determining
 * its value.
 * 

* Class diagram *

* *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMBusinessComponent#getElement * element} = *
      *
    • * {@linkplain com.tools20022.repository.entity.VariableInterest#mmVariableRateChangeFrequency * VariableInterest.mmVariableRateChangeFrequency}
    • *
    • * {@linkplain com.tools20022.repository.entity.VariableInterest#mmFixingDate * VariableInterest.mmFixingDate}
    • *
    • * {@linkplain com.tools20022.repository.entity.VariableInterest#mmInterestCalculation * VariableInterest.mmInterestCalculation}
    • *
    • * {@linkplain com.tools20022.repository.entity.VariableInterest#mmReportingDate * VariableInterest.mmReportingDate}
    • *
    • * {@linkplain com.tools20022.repository.entity.VariableInterest#mmResetDate * VariableInterest.mmResetDate}
    • *
    • {@linkplain com.tools20022.repository.entity.VariableInterest#mmArrears * VariableInterest.mmArrears}
    • *
    • {@linkplain com.tools20022.repository.entity.VariableInterest#mmIndex * VariableInterest.mmIndex}
    • *
    • * {@linkplain com.tools20022.repository.entity.VariableInterest#mmYieldCalculation * VariableInterest.mmYieldCalculation}
    • *
    • * {@linkplain com.tools20022.repository.entity.VariableInterest#mmBenchmarkReference * VariableInterest.mmBenchmarkReference}
    • *
    • * {@linkplain com.tools20022.repository.entity.VariableInterest#mmEstimatedInterestRate * VariableInterest.mmEstimatedInterestRate}
    • *
    • * {@linkplain com.tools20022.repository.entity.VariableInterest#mmVariableRateValueDate * VariableInterest.mmVariableRateValueDate}
    • *
    • * {@linkplain com.tools20022.repository.entity.VariableInterest#mmLifeCalculation * VariableInterest.mmLifeCalculation}
    • *
    • * {@linkplain com.tools20022.repository.entity.VariableInterest#mmDurationCalculation * VariableInterest.mmDurationCalculation}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessComponent#getAssociationDomain * associationDomain} = *
      *
    • * {@linkplain com.tools20022.repository.entity.Security#mmRelatedVariableInterest * Security.mmRelatedVariableInterest}
    • *
    • * {@linkplain com.tools20022.repository.entity.InterestCalculation#mmVariableInterest * InterestCalculation.mmVariableInterest}
    • *
    • {@linkplain com.tools20022.repository.entity.Index#mmVariableInterest * Index.mmVariableInterest}
    • *
    • * {@linkplain com.tools20022.repository.entity.YieldCalculation#mmVariableInterest * YieldCalculation.mmVariableInterest}
    • *
    • * {@linkplain com.tools20022.repository.entity.DurationCalculation#mmVariableInterest * DurationCalculation.mmVariableInterest}
    • *
    • * {@linkplain com.tools20022.repository.entity.LifeCalculation#mmVariableInterest * LifeCalculation.mmVariableInterest}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessComponent#getDerivationElement * derivationElement} = *
      *
    • * {@linkplain com.tools20022.repository.choice.InterestRate2Choice#mmFloating * InterestRate2Choice.mmFloating}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessComponent#getDerivationComponent * derivationComponent} = *
      *
    • {@linkplain com.tools20022.repository.msg.FloatingInterestRate4 * FloatingInterestRate4}
    • *
    *
  • *
  • * {@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} = * "VariableInterest"
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Specifies the estimated interest rate and the parameters used for determining its value." *
  • *
*/ public class VariableInterest { final static private AtomicReference mmObject_lazy = new AtomicReference<>(); protected FrequencyCode variableRateChangeFrequency; /** * Specifies the frequency of change to the variable rate of an interest * bearing instrument. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.codeset.FrequencyCode * FrequencyCode}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.VariableInterest * VariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "VariableRateChangeFrequency"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Specifies the frequency of change to the variable rate of an interest bearing instrument." *
  • *
*/ public static final MMBusinessAttribute mmVariableRateChangeFrequency = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.VariableInterest.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "VariableRateChangeFrequency"; definition = "Specifies the frequency of change to the variable rate of an interest bearing instrument."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> FrequencyCode.mmObject(); } public Method getGetterMethod() { try { return VariableInterest.class.getMethod("getVariableRateChangeFrequency", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected ISODateTime fixingDate; /** * Date/time at which the rate determination is made, also called * determination date, for instance the date the interest rate of a floating * rate note will be/was calculated, according to the terms of the issue. *

* 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.VariableInterest * VariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "FixingDate"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Date/time at which the rate determination is made, also called determination date, for instance the date the interest rate of a floating rate note will be/was calculated, according to the terms of the issue." *
  • *
*/ public static final MMBusinessAttribute mmFixingDate = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.VariableInterest.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "FixingDate"; definition = "Date/time at which the rate determination is made, also called determination date, for instance the date the interest rate of a floating rate note will be/was calculated, according to the terms of the issue."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> ISODateTime.mmObject(); } public Method getGetterMethod() { try { return VariableInterest.class.getMethod("getFixingDate", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected List interestCalculation; /** * Interest calculation for which a variable interest is used. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.InterestCalculation#mmVariableInterest * InterestCalculation.mmVariableInterest}
  • *
  • * {@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.VariableInterest * VariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "InterestCalculation"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Interest calculation for which a variable interest is used."
  • *
*/ public static final MMBusinessAssociationEnd mmInterestCalculation = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.VariableInterest.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "InterestCalculation"; definition = "Interest calculation for which a variable interest is used."; minOccurs = 0; opposite_lazy = () -> com.tools20022.repository.entity.InterestCalculation.mmVariableInterest; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.InterestCalculation.mmObject(); } }; protected ISODateTime reportingDate; /** * Last date the new interest rate must be reported to the market. *

* 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.VariableInterest * VariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "ReportingDate"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Last date the new interest rate must be reported to the market."
  • *
*/ public static final MMBusinessAttribute mmReportingDate = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.VariableInterest.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "ReportingDate"; definition = "Last date the new interest rate must be reported to the market."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> ISODateTime.mmObject(); } public Method getGetterMethod() { try { return VariableInterest.class.getMethod("getReportingDate", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected ISODateTime resetDate; /** * Date/time at which the interest rate of an interest bearing instrument * will be reset, according to the terms of the issue. *

* 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.VariableInterest * VariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "ResetDate"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Date/time at which the interest rate of an interest bearing instrument will be reset, according to the terms of the issue." *
  • *
*/ public static final MMBusinessAttribute mmResetDate = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.VariableInterest.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "ResetDate"; definition = "Date/time at which the interest rate of an interest bearing instrument will be reset, according to the terms of the issue."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> ISODateTime.mmObject(); } public Method getGetterMethod() { try { return VariableInterest.class.getMethod("getResetDate", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected Max16Text arrears; /** * Indicates that the rate reset will occur at the end of the payment period * (True case) *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = {@linkplain com.tools20022.repository.datatype.Max16Text * Max16Text}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.VariableInterest * VariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Arrears"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Indicates that the rate reset will occur at the end of the payment period (True case)" *
  • *
*/ public static final MMBusinessAttribute mmArrears = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.VariableInterest.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "Arrears"; definition = "Indicates that the rate reset will occur at the end of the payment period (True case)"; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> Max16Text.mmObject(); } public Method getGetterMethod() { try { return VariableInterest.class.getMethod("getArrears", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected List index; /** * Identifies the index used for calculating the interest *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.Index#mmVariableInterest * Index.mmVariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.Index Index}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.VariableInterest * VariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Index"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Identifies the index used for calculating the interest"
  • *
*/ public static final MMBusinessAssociationEnd mmIndex = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.VariableInterest.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "Index"; definition = "Identifies the index used for calculating the interest"; minOccurs = 0; opposite_lazy = () -> com.tools20022.repository.entity.Index.mmVariableInterest; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.Index.mmObject(); } }; protected YieldCalculation yieldCalculation; /** * Yield calculation for which a variable interest is used. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.YieldCalculation#mmVariableInterest * YieldCalculation.mmVariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.YieldCalculation * YieldCalculation}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.VariableInterest * VariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "YieldCalculation"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Yield calculation for which a variable interest is used."
  • *
*/ public static final MMBusinessAssociationEnd mmYieldCalculation = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.VariableInterest.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "YieldCalculation"; definition = "Yield calculation for which a variable interest is used."; maxOccurs = 1; minOccurs = 1; opposite_lazy = () -> com.tools20022.repository.entity.YieldCalculation.mmVariableInterest; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.YieldCalculation.mmObject(); } }; protected Security benchmarkReference; /** * Benchmark rate against which variable rate instruments are measured to * determine the interest rate, for example, LIBOR. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.Security#mmRelatedVariableInterest * Security.mmRelatedVariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.Security Security}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.VariableInterest * VariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "BenchmarkReference"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Benchmark rate against which variable rate instruments are measured to determine the interest rate, for example, LIBOR." *
  • *
*/ public static final MMBusinessAssociationEnd mmBenchmarkReference = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.VariableInterest.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "BenchmarkReference"; definition = "Benchmark rate against which variable rate instruments are measured to determine the interest rate, for example, LIBOR."; maxOccurs = 1; minOccurs = 1; opposite_lazy = () -> com.tools20022.repository.entity.Security.mmRelatedVariableInterest; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.Security.mmObject(); } }; protected PercentageRate estimatedInterestRate; /** * Estimated per annum ratio of interest paid to the principal amount of the * financial instrument for a specific period of time. *

* 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.VariableInterest * VariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "EstimatedInterestRate"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Estimated per annum ratio of interest paid to the principal amount of the financial instrument for a specific period of time." *
  • *
*/ public static final MMBusinessAttribute mmEstimatedInterestRate = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.VariableInterest.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "EstimatedInterestRate"; definition = "Estimated per annum ratio of interest paid to the principal amount of the financial instrument for a specific period of time."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> PercentageRate.mmObject(); } public Method getGetterMethod() { try { return VariableInterest.class.getMethod("getEstimatedInterestRate", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected ISODateTime variableRateValueDate; /** * Date/time as of which the variable rate is valid. *

* 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.VariableInterest * VariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "VariableRateValueDate"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Date/time as of which the variable rate is valid."
  • *
*/ public static final MMBusinessAttribute mmVariableRateValueDate = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.VariableInterest.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "VariableRateValueDate"; definition = "Date/time as of which the variable rate is valid."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> ISODateTime.mmObject(); } public Method getGetterMethod() { try { return VariableInterest.class.getMethod("getVariableRateValueDate", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected LifeCalculation lifeCalculation; /** * Lfe calculation for which a variable interest is used. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.LifeCalculation#mmVariableInterest * LifeCalculation.mmVariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.LifeCalculation * LifeCalculation}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.VariableInterest * VariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "LifeCalculation"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Lfe calculation for which a variable interest is used."
  • *
*/ public static final MMBusinessAssociationEnd mmLifeCalculation = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.VariableInterest.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "LifeCalculation"; definition = "Lfe calculation for which a variable interest is used."; maxOccurs = 1; minOccurs = 1; opposite_lazy = () -> com.tools20022.repository.entity.LifeCalculation.mmVariableInterest; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.LifeCalculation.mmObject(); } }; protected DurationCalculation durationCalculation; /** * Duration calculation for which a variable interest is used. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.DurationCalculation#mmVariableInterest * DurationCalculation.mmVariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.DurationCalculation * DurationCalculation}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.VariableInterest * VariableInterest}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "DurationCalculation"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Duration calculation for which a variable interest is used."
  • *
*/ public static final MMBusinessAssociationEnd mmDurationCalculation = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.VariableInterest.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "DurationCalculation"; definition = "Duration calculation for which a variable interest is used."; maxOccurs = 1; minOccurs = 1; opposite_lazy = () -> com.tools20022.repository.entity.DurationCalculation.mmVariableInterest; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.DurationCalculation.mmObject(); } }; static public MMBusinessComponent mmObject() { mmObject_lazy.compareAndSet(null, new MMBusinessComponent() { { dataDictionary_lazy = () -> GeneratedRepository.mmdataDict; registrationStatus = MMRegistrationStatus.REGISTERED; name = "VariableInterest"; definition = "Specifies the estimated interest rate and the parameters used for determining its value."; associationDomain_lazy = () -> Arrays.asList(com.tools20022.repository.entity.Security.mmRelatedVariableInterest, com.tools20022.repository.entity.InterestCalculation.mmVariableInterest, com.tools20022.repository.entity.Index.mmVariableInterest, com.tools20022.repository.entity.YieldCalculation.mmVariableInterest, com.tools20022.repository.entity.DurationCalculation.mmVariableInterest, com.tools20022.repository.entity.LifeCalculation.mmVariableInterest); derivationElement_lazy = () -> Arrays.asList(InterestRate2Choice.mmFloating); element_lazy = () -> Arrays .asList(com.tools20022.repository.entity.VariableInterest.mmVariableRateChangeFrequency, com.tools20022.repository.entity.VariableInterest.mmFixingDate, com.tools20022.repository.entity.VariableInterest.mmInterestCalculation, com.tools20022.repository.entity.VariableInterest.mmReportingDate, com.tools20022.repository.entity.VariableInterest.mmResetDate, com.tools20022.repository.entity.VariableInterest.mmArrears, com.tools20022.repository.entity.VariableInterest.mmIndex, com.tools20022.repository.entity.VariableInterest.mmYieldCalculation, com.tools20022.repository.entity.VariableInterest.mmBenchmarkReference, com.tools20022.repository.entity.VariableInterest.mmEstimatedInterestRate, com.tools20022.repository.entity.VariableInterest.mmVariableRateValueDate, com.tools20022.repository.entity.VariableInterest.mmLifeCalculation, com.tools20022.repository.entity.VariableInterest.mmDurationCalculation); derivationComponent_lazy = () -> Arrays.asList(FloatingInterestRate4.mmObject()); } @Override public Class getInstanceClass() { return VariableInterest.class; } }); return mmObject_lazy.get(); } public FrequencyCode getVariableRateChangeFrequency() { return variableRateChangeFrequency; } public void setVariableRateChangeFrequency(FrequencyCode variableRateChangeFrequency) { this.variableRateChangeFrequency = variableRateChangeFrequency; } public ISODateTime getFixingDate() { return fixingDate; } public void setFixingDate(ISODateTime fixingDate) { this.fixingDate = fixingDate; } public List getInterestCalculation() { return interestCalculation; } public void setInterestCalculation(List interestCalculation) { this.interestCalculation = interestCalculation; } public ISODateTime getReportingDate() { return reportingDate; } public void setReportingDate(ISODateTime reportingDate) { this.reportingDate = reportingDate; } public ISODateTime getResetDate() { return resetDate; } public void setResetDate(ISODateTime resetDate) { this.resetDate = resetDate; } public Max16Text getArrears() { return arrears; } public void setArrears(Max16Text arrears) { this.arrears = arrears; } public List getIndex() { return index; } public void setIndex(List index) { this.index = index; } public YieldCalculation getYieldCalculation() { return yieldCalculation; } public void setYieldCalculation(com.tools20022.repository.entity.YieldCalculation yieldCalculation) { this.yieldCalculation = yieldCalculation; } public Security getBenchmarkReference() { return benchmarkReference; } public void setBenchmarkReference(com.tools20022.repository.entity.Security benchmarkReference) { this.benchmarkReference = benchmarkReference; } public PercentageRate getEstimatedInterestRate() { return estimatedInterestRate; } public void setEstimatedInterestRate(PercentageRate estimatedInterestRate) { this.estimatedInterestRate = estimatedInterestRate; } public ISODateTime getVariableRateValueDate() { return variableRateValueDate; } public void setVariableRateValueDate(ISODateTime variableRateValueDate) { this.variableRateValueDate = variableRateValueDate; } public LifeCalculation getLifeCalculation() { return lifeCalculation; } public void setLifeCalculation(com.tools20022.repository.entity.LifeCalculation lifeCalculation) { this.lifeCalculation = lifeCalculation; } public DurationCalculation getDurationCalculation() { return durationCalculation; } public void setDurationCalculation(com.tools20022.repository.entity.DurationCalculation durationCalculation) { this.durationCalculation = durationCalculation; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy