All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.tools20022.repository.entity.VariableInterest Maven / Gradle / Ivy
/* 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;
}
}