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

com.tools20022.repository.msg.LoanContract1 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.msg;

import com.tools20022.metamodel.MMMessageAssociationEnd;
import com.tools20022.metamodel.MMMessageAttribute;
import com.tools20022.metamodel.MMMessageComponent;
import com.tools20022.metamodel.MMRegistrationStatus;
import com.tools20022.repository.choice.InterestPaymentSchedule1Choice;
import com.tools20022.repository.choice.InterestRate2Choice;
import com.tools20022.repository.choice.PaymentSchedule1Choice;
import com.tools20022.repository.codeset.ActiveCurrencyCode;
import com.tools20022.repository.datatype.ActiveCurrencyAndAmount;
import com.tools20022.repository.datatype.Exact1NumericText;
import com.tools20022.repository.datatype.ISODate;
import com.tools20022.repository.datatype.TrueFalseIndicator;
import com.tools20022.repository.entity.*;
import com.tools20022.repository.GeneratedRepository;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;

/**
 * Contract by which an amount of money in exchange for future repayment of the
 * principal amount along with interest or other finance charges.
 * 

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageElementContainer#getMessageElement * messageElement} = *
      *
    • * {@linkplain com.tools20022.repository.msg.LoanContract1#mmContractDocumentIdentification * LoanContract1.mmContractDocumentIdentification}
    • *
    • {@linkplain com.tools20022.repository.msg.LoanContract1#mmBuyer * LoanContract1.mmBuyer}
    • *
    • {@linkplain com.tools20022.repository.msg.LoanContract1#mmSeller * LoanContract1.mmSeller}
    • *
    • {@linkplain com.tools20022.repository.msg.LoanContract1#mmAmount * LoanContract1.mmAmount}
    • *
    • {@linkplain com.tools20022.repository.msg.LoanContract1#mmMaturityDate * LoanContract1.mmMaturityDate}
    • *
    • * {@linkplain com.tools20022.repository.msg.LoanContract1#mmProlongationFlag * LoanContract1.mmProlongationFlag}
    • *
    • {@linkplain com.tools20022.repository.msg.LoanContract1#mmStartDate * LoanContract1.mmStartDate}
    • *
    • * {@linkplain com.tools20022.repository.msg.LoanContract1#mmSettlementCurrency * LoanContract1.mmSettlementCurrency}
    • *
    • * {@linkplain com.tools20022.repository.msg.LoanContract1#mmSpecialConditions * LoanContract1.mmSpecialConditions}
    • *
    • {@linkplain com.tools20022.repository.msg.LoanContract1#mmDurationCode * LoanContract1.mmDurationCode}
    • *
    • {@linkplain com.tools20022.repository.msg.LoanContract1#mmInterestRate * LoanContract1.mmInterestRate}
    • *
    • {@linkplain com.tools20022.repository.msg.LoanContract1#mmTranche * LoanContract1.mmTranche}
    • *
    • * {@linkplain com.tools20022.repository.msg.LoanContract1#mmPaymentSchedule * LoanContract1.mmPaymentSchedule}
    • *
    • * {@linkplain com.tools20022.repository.msg.LoanContract1#mmInterestSchedule * LoanContract1.mmInterestSchedule}
    • *
    • * {@linkplain com.tools20022.repository.msg.LoanContract1#mmIntraCompanyLoan * LoanContract1.mmIntraCompanyLoan}
    • *
    • {@linkplain com.tools20022.repository.msg.LoanContract1#mmCollateral * LoanContract1.mmCollateral}
    • *
    • {@linkplain com.tools20022.repository.msg.LoanContract1#mmSyndicatedLoan * LoanContract1.mmSyndicatedLoan}
    • *
    • {@linkplain com.tools20022.repository.msg.LoanContract1#mmAttachment * LoanContract1.mmAttachment}
    • *
    *
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageComponentType#getTrace * trace} = {@linkplain com.tools20022.repository.entity.Loan Loan}
  • *
  • * {@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} = * "LoanContract1"
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Contract by which an amount of money in exchange for future repayment of the principal amount along with interest or other finance charges." *
  • *
*/ @XmlAccessorType(XmlAccessType.PROPERTY) @XmlType(name = "LoanContract1", propOrder = {"contractDocumentIdentification", "buyer", "seller", "amount", "maturityDate", "prolongationFlag", "startDate", "settlementCurrency", "specialConditions", "durationCode", "interestRate", "tranche", "paymentSchedule", "interestSchedule", "intraCompanyLoan", "collateral", "syndicatedLoan", "attachment"}) public class LoanContract1 { final static private AtomicReference mmObject_lazy = new AtomicReference<>(); protected DocumentIdentification22 contractDocumentIdentification; /** * Contract document referenced from this loan agreement. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getComplexType * complexType} = * {@linkplain com.tools20022.repository.msg.DocumentIdentification22 * DocumentIdentification22}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.Security#mmIdentification * Security.mmIdentification}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "CtrctDocId"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "ContractDocumentIdentification"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Contract document referenced from this loan agreement."
  • *
*/ public static final MMMessageAttribute mmContractDocumentIdentification = new MMMessageAttribute() { { businessElementTrace_lazy = () -> Security.mmIdentification; componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "CtrctDocId"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "ContractDocumentIdentification"; definition = "Contract document referenced from this loan agreement."; maxOccurs = 1; minOccurs = 1; complexType_lazy = () -> com.tools20022.repository.msg.DocumentIdentification22.mmObject(); } }; protected List buyer; /** * Party that is specified as the buyer for this loan agreement. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.msg.TradeParty2 * TradeParty2}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessComponentTrace * businessComponentTrace} = * {@linkplain com.tools20022.repository.entity.BuyerRole BuyerRole}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Buyr"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Buyer"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Party that is specified as the buyer for this loan agreement."
  • *
*/ public static final MMMessageAssociationEnd mmBuyer = new MMMessageAssociationEnd() { { businessComponentTrace_lazy = () -> BuyerRole.mmObject(); componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "Buyr"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Buyer"; definition = "Party that is specified as the buyer for this loan agreement."; minOccurs = 1; isComposite = true; type_lazy = () -> com.tools20022.repository.msg.TradeParty2.mmObject(); } }; protected List seller; /** * Party that is specified as the seller for this loan agreement. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.msg.TradeParty2 * TradeParty2}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessComponentTrace * businessComponentTrace} = * {@linkplain com.tools20022.repository.entity.SellerRole SellerRole}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Sellr"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Seller"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Party that is specified as the seller for this loan agreement."
  • *
*/ public static final MMMessageAssociationEnd mmSeller = new MMMessageAssociationEnd() { { businessComponentTrace_lazy = () -> SellerRole.mmObject(); componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "Sellr"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Seller"; definition = "Party that is specified as the seller for this loan agreement."; minOccurs = 1; isComposite = true; type_lazy = () -> com.tools20022.repository.msg.TradeParty2.mmObject(); } }; protected ActiveCurrencyAndAmount amount; /** * Loan amount as defined in the contract. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.datatype.ActiveCurrencyAndAmount * ActiveCurrencyAndAmount}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.Loan#mmPrincipalAmount * Loan.mmPrincipalAmount}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Amt"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Amount"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Loan amount as defined in the contract."
  • *
*/ public static final MMMessageAttribute mmAmount = new MMMessageAttribute() { { businessElementTrace_lazy = () -> Loan.mmPrincipalAmount; componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "Amt"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Amount"; definition = "Loan amount as defined in the contract."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> ActiveCurrencyAndAmount.mmObject(); } }; protected ISODate maturityDate; /** * Planned final repayment date at the time of issuance. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = {@linkplain com.tools20022.repository.datatype.ISODate * ISODate}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.Asset#mmMaturityDate * Asset.mmMaturityDate}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "MtrtyDt"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "MaturityDate"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Planned final repayment date at the time of issuance."
  • *
*/ public static final MMMessageAttribute mmMaturityDate = new MMMessageAttribute() { { businessElementTrace_lazy = () -> Asset.mmMaturityDate; componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "MtrtyDt"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "MaturityDate"; definition = "Planned final repayment date at the time of issuance."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> ISODate.mmObject(); } }; protected TrueFalseIndicator prolongationFlag; /** * Indicates whether the contract duration is extended or not. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.datatype.TrueFalseIndicator * TrueFalseIndicator}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "PrlngtnFlg"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "ProlongationFlag"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Indicates whether the contract duration is extended or not."
  • *
*/ public static final MMMessageAttribute mmProlongationFlag = new MMMessageAttribute() { { componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "PrlngtnFlg"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "ProlongationFlag"; definition = "Indicates whether the contract duration is extended or not."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> TrueFalseIndicator.mmObject(); } }; protected ISODate startDate; /** * Start date of the loan contract. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = {@linkplain com.tools20022.repository.datatype.ISODate * ISODate}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.Issuance#mmIssueDate * Issuance.mmIssueDate}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "StartDt"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "StartDate"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Start date of the loan contract."
  • *
*/ public static final MMMessageAttribute mmStartDate = new MMMessageAttribute() { { businessElementTrace_lazy = () -> Issuance.mmIssueDate; componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "StartDt"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "StartDate"; definition = "Start date of the loan contract."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> ISODate.mmObject(); } }; protected ActiveCurrencyCode settlementCurrency; /** * Currency in which the loan is being settled. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.codeset.ActiveCurrencyCode * ActiveCurrencyCode}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.SecuritiesConversion#mmConversionQuotedCurrency * SecuritiesConversion.mmConversionQuotedCurrency}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "SttlmCcy"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "SettlementCurrency"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Currency in which the loan is being settled."
  • *
*/ public static final MMMessageAttribute mmSettlementCurrency = new MMMessageAttribute() { { businessElementTrace_lazy = () -> SecuritiesConversion.mmConversionQuotedCurrency; componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "SttlmCcy"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "SettlementCurrency"; definition = "Currency in which the loan is being settled."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> ActiveCurrencyCode.mmObject(); } }; protected SpecialCondition1 specialConditions; /** * When the amount is credited outside of the country, special conditions * are applicable. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.msg.SpecialCondition1 * SpecialCondition1}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "SpclConds"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "SpecialConditions"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "When the amount is credited outside of the country, special conditions are applicable." *
  • *
*/ public static final MMMessageAssociationEnd mmSpecialConditions = new MMMessageAssociationEnd() { { componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "SpclConds"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "SpecialConditions"; definition = "When the amount is credited outside of the country, special conditions are applicable."; maxOccurs = 1; minOccurs = 0; isComposite = true; type_lazy = () -> com.tools20022.repository.msg.SpecialCondition1.mmObject(); } }; protected Exact1NumericText durationCode; /** * Loan duration in a coded form. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.datatype.Exact1NumericText * Exact1NumericText}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "DrtnCd"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "DurationCode"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Loan duration in a coded form."
  • *
*/ public static final MMMessageAttribute mmDurationCode = new MMMessageAttribute() { { componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "DrtnCd"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "DurationCode"; definition = "Loan duration in a coded form."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> Exact1NumericText.mmObject(); } }; protected InterestRate2Choice interestRate; /** * Interest rate for the loan. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.choice.InterestRate2Choice * InterestRate2Choice}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.PaymentTerms#mmPercentage * PaymentTerms.mmPercentage}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "IntrstRate"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "InterestRate"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Interest rate for the loan."
  • *
*/ public static final MMMessageAssociationEnd mmInterestRate = new MMMessageAssociationEnd() { { businessElementTrace_lazy = () -> PaymentTerms.mmPercentage; componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "IntrstRate"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "InterestRate"; definition = "Interest rate for the loan."; maxOccurs = 1; minOccurs = 1; isComposite = true; type_lazy = () -> InterestRate2Choice.mmObject(); } }; protected List tranche; /** * One part or division of the loan, used to define the repayment. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.msg.LoanContractTranche1 * LoanContractTranche1}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.Asset#mmTranche * Asset.mmTranche}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Trch"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Tranche"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "One part or division of the loan, used to define the repayment."
  • *
*/ public static final MMMessageAssociationEnd mmTranche = new MMMessageAssociationEnd() { { businessElementTrace_lazy = () -> Asset.mmTranche; componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "Trch"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Tranche"; definition = "One part or division of the loan, used to define the repayment."; minOccurs = 0; isComposite = true; type_lazy = () -> com.tools20022.repository.msg.LoanContractTranche1.mmObject(); } }; protected PaymentSchedule1Choice paymentSchedule; /** * Schedule of the payments defined for the loan contract. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = * {@linkplain com.tools20022.repository.choice.PaymentSchedule1Choice * PaymentSchedule1Choice}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.PaymentObligation#mmPaymentTerms * PaymentObligation.mmPaymentTerms}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "PmtSchdl"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "PaymentSchedule"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Schedule of the payments defined for the loan contract."
  • *
*/ public static final MMMessageAssociationEnd mmPaymentSchedule = new MMMessageAssociationEnd() { { businessElementTrace_lazy = () -> PaymentObligation.mmPaymentTerms; componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "PmtSchdl"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "PaymentSchedule"; definition = "Schedule of the payments defined for the loan contract."; maxOccurs = 1; minOccurs = 0; isComposite = true; type_lazy = () -> PaymentSchedule1Choice.mmObject(); } }; protected InterestPaymentSchedule1Choice interestSchedule; /** * Schedule of the interest payments defined for the loan contract. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = * {@linkplain com.tools20022.repository.choice.InterestPaymentSchedule1Choice * InterestPaymentSchedule1Choice}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.Loan#mmInterestPaymentsSchedule * Loan.mmInterestPaymentsSchedule}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "IntrstSchdl"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "InterestSchedule"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Schedule of the interest payments defined for the loan contract."
  • *
*/ public static final MMMessageAssociationEnd mmInterestSchedule = new MMMessageAssociationEnd() { { businessElementTrace_lazy = () -> Loan.mmInterestPaymentsSchedule; componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "IntrstSchdl"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "InterestSchedule"; definition = "Schedule of the interest payments defined for the loan contract."; maxOccurs = 1; minOccurs = 1; isComposite = true; type_lazy = () -> InterestPaymentSchedule1Choice.mmObject(); } }; protected TrueFalseIndicator intraCompanyLoan; /** * Loan is an intra company loan. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.datatype.TrueFalseIndicator * TrueFalseIndicator}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.Loan#mmIntraCompanyLoanIndicator * Loan.mmIntraCompanyLoanIndicator}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "IntraCpnyLn"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "IntraCompanyLoan"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Loan is an intra company loan."
  • *
*/ public static final MMMessageAttribute mmIntraCompanyLoan = new MMMessageAttribute() { { businessElementTrace_lazy = () -> Loan.mmIntraCompanyLoanIndicator; componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "IntraCpnyLn"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "IntraCompanyLoan"; definition = "Loan is an intra company loan."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> TrueFalseIndicator.mmObject(); } }; protected ContractCollateral1 collateral; /** * Details of the collateral for the loan. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.msg.ContractCollateral1 * ContractCollateral1}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.CollateralAgreement#mmCollateral * CollateralAgreement.mmCollateral}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Coll"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Collateral"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Details of the collateral for the loan."
  • *
*/ public static final MMMessageAssociationEnd mmCollateral = new MMMessageAssociationEnd() { { businessElementTrace_lazy = () -> CollateralAgreement.mmCollateral; componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "Coll"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Collateral"; definition = "Details of the collateral for the loan."; maxOccurs = 1; minOccurs = 0; isComposite = true; type_lazy = () -> com.tools20022.repository.msg.ContractCollateral1.mmObject(); } }; protected List syndicatedLoan; /** * Loan offered by a group of lenders (called a syndicate) who work together * to provide funds for a single borrower. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.msg.SyndicatedLoan1 * SyndicatedLoan1}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessComponentTrace * businessComponentTrace} = * {@linkplain com.tools20022.repository.entity.Loan Loan}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "SndctdLn"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "SyndicatedLoan"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Loan offered by a group of lenders (called a syndicate) who work together to provide funds for a single borrower. " *
  • *
*/ public static final MMMessageAssociationEnd mmSyndicatedLoan = new MMMessageAssociationEnd() { { businessComponentTrace_lazy = () -> Loan.mmObject(); componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "SndctdLn"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "SyndicatedLoan"; definition = "Loan offered by a group of lenders (called a syndicate) who work together to provide funds for a single borrower. "; minOccurs = 0; isComposite = true; type_lazy = () -> com.tools20022.repository.msg.SyndicatedLoan1.mmObject(); } }; protected List attachment; /** * Documents provided as attachments to the loan contract. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = * {@linkplain com.tools20022.repository.msg.DocumentGeneralInformation3 * DocumentGeneralInformation3}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.RegisteredContract#mmAttachment * RegisteredContract.mmAttachment}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.LoanContract1 LoanContract1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Attchmnt"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Attachment"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Documents provided as attachments to the loan contract."
  • *
*/ public static final MMMessageAssociationEnd mmAttachment = new MMMessageAssociationEnd() { { businessElementTrace_lazy = () -> RegisteredContract.mmAttachment; componentContext_lazy = () -> LoanContract1.mmObject(); isDerived = false; xmlTag = "Attchmnt"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Attachment"; definition = "Documents provided as attachments to the loan contract."; minOccurs = 0; isComposite = true; type_lazy = () -> com.tools20022.repository.msg.DocumentGeneralInformation3.mmObject(); } }; final static public MMMessageComponent mmObject() { mmObject_lazy.compareAndSet(null, new MMMessageComponent() { { messageElement_lazy = () -> Arrays.asList(LoanContract1.mmContractDocumentIdentification, LoanContract1.mmBuyer, LoanContract1.mmSeller, LoanContract1.mmAmount, LoanContract1.mmMaturityDate, LoanContract1.mmProlongationFlag, LoanContract1.mmStartDate, LoanContract1.mmSettlementCurrency, LoanContract1.mmSpecialConditions, LoanContract1.mmDurationCode, LoanContract1.mmInterestRate, LoanContract1.mmTranche, LoanContract1.mmPaymentSchedule, LoanContract1.mmInterestSchedule, LoanContract1.mmIntraCompanyLoan, LoanContract1.mmCollateral, LoanContract1.mmSyndicatedLoan, LoanContract1.mmAttachment); trace_lazy = () -> Loan.mmObject(); dataDictionary_lazy = () -> GeneratedRepository.mmdataDict; registrationStatus = MMRegistrationStatus.REGISTERED; name = "LoanContract1"; definition = "Contract by which an amount of money in exchange for future repayment of the principal amount along with interest or other finance charges."; } }); return mmObject_lazy.get(); } @XmlElement(name = "CtrctDocId", required = true) public DocumentIdentification22 getContractDocumentIdentification() { return contractDocumentIdentification; } public void setContractDocumentIdentification(com.tools20022.repository.msg.DocumentIdentification22 contractDocumentIdentification) { this.contractDocumentIdentification = contractDocumentIdentification; } @XmlElement(name = "Buyr", required = true) public List getBuyer() { return buyer; } public void setBuyer(List buyer) { this.buyer = buyer; } @XmlElement(name = "Sellr", required = true) public List getSeller() { return seller; } public void setSeller(List seller) { this.seller = seller; } @XmlElement(name = "Amt", required = true) public ActiveCurrencyAndAmount getAmount() { return amount; } public void setAmount(ActiveCurrencyAndAmount amount) { this.amount = amount; } @XmlElement(name = "MtrtyDt", required = true) public ISODate getMaturityDate() { return maturityDate; } public void setMaturityDate(ISODate maturityDate) { this.maturityDate = maturityDate; } @XmlElement(name = "PrlngtnFlg", required = true) public TrueFalseIndicator getProlongationFlag() { return prolongationFlag; } public void setProlongationFlag(TrueFalseIndicator prolongationFlag) { this.prolongationFlag = prolongationFlag; } @XmlElement(name = "StartDt", required = true) public ISODate getStartDate() { return startDate; } public void setStartDate(ISODate startDate) { this.startDate = startDate; } @XmlElement(name = "SttlmCcy", required = true) public ActiveCurrencyCode getSettlementCurrency() { return settlementCurrency; } public void setSettlementCurrency(ActiveCurrencyCode settlementCurrency) { this.settlementCurrency = settlementCurrency; } @XmlElement(name = "SpclConds") public SpecialCondition1 getSpecialConditions() { return specialConditions; } public void setSpecialConditions(com.tools20022.repository.msg.SpecialCondition1 specialConditions) { this.specialConditions = specialConditions; } @XmlElement(name = "DrtnCd", required = true) public Exact1NumericText getDurationCode() { return durationCode; } public void setDurationCode(Exact1NumericText durationCode) { this.durationCode = durationCode; } @XmlElement(name = "IntrstRate", required = true) public InterestRate2Choice getInterestRate() { return interestRate; } public void setInterestRate(InterestRate2Choice interestRate) { this.interestRate = interestRate; } @XmlElement(name = "Trch") public List getTranche() { return tranche; } public void setTranche(List tranche) { this.tranche = tranche; } @XmlElement(name = "PmtSchdl") public PaymentSchedule1Choice getPaymentSchedule() { return paymentSchedule; } public void setPaymentSchedule(PaymentSchedule1Choice paymentSchedule) { this.paymentSchedule = paymentSchedule; } @XmlElement(name = "IntrstSchdl", required = true) public InterestPaymentSchedule1Choice getInterestSchedule() { return interestSchedule; } public void setInterestSchedule(InterestPaymentSchedule1Choice interestSchedule) { this.interestSchedule = interestSchedule; } @XmlElement(name = "IntraCpnyLn", required = true) public TrueFalseIndicator getIntraCompanyLoan() { return intraCompanyLoan; } public void setIntraCompanyLoan(TrueFalseIndicator intraCompanyLoan) { this.intraCompanyLoan = intraCompanyLoan; } @XmlElement(name = "Coll") public ContractCollateral1 getCollateral() { return collateral; } public void setCollateral(com.tools20022.repository.msg.ContractCollateral1 collateral) { this.collateral = collateral; } @XmlElement(name = "SndctdLn") public List getSyndicatedLoan() { return syndicatedLoan; } public void setSyndicatedLoan(List syndicatedLoan) { this.syndicatedLoan = syndicatedLoan; } @XmlElement(name = "Attchmnt") public List getAttachment() { return attachment; } public void setAttachment(List attachment) { this.attachment = attachment; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy