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

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

The newest version!
/* Tools20022 - API for ISO 20022
* Copyright (C) 2017 Tools20022.com - László Bukodi 
* 
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* 
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
* 
* You should have received a copy of the GNU General Public License
* along with this program.  If not, see .
*/

package com.tools20022.repository.entity;

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

/**
 * Substitution of collateral by specifying the collateral to be returned and
 * proposing the new type(s) of collateral to be delivered.
 * 

* Class diagram *

* *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMBusinessComponent#getElement * element} = *
      *
    • * {@linkplain com.tools20022.repository.entity.CollateralSubstitution#mmType * CollateralSubstitution.mmType}
    • *
    • * {@linkplain com.tools20022.repository.entity.CollateralSubstitution#mmAcceptedAmount * CollateralSubstitution.mmAcceptedAmount}
    • *
    • * {@linkplain com.tools20022.repository.entity.CollateralSubstitution#mmRejectedAmount * CollateralSubstitution.mmRejectedAmount}
    • *
    • * {@linkplain com.tools20022.repository.entity.CollateralSubstitution#mmRelatedManagementProcess * CollateralSubstitution.mmRelatedManagementProcess}
    • *
    • * {@linkplain com.tools20022.repository.entity.CollateralSubstitution#mmNewCollateral * CollateralSubstitution.mmNewCollateral}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessComponent#getAssociationDomain * associationDomain} = *
      *
    • * {@linkplain com.tools20022.repository.entity.Collateral#mmRelatedCollateralSubstitution * Collateral.mmRelatedCollateralSubstitution}
    • *
    • * {@linkplain com.tools20022.repository.entity.CollateralManagement#mmCollateralSubstitution * CollateralManagement.mmCollateralSubstitution}
    • *
    *
  • *
  • * {@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.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName name} = * "CollateralSubstitution"
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Substitution of collateral by specifying the collateral to be returned and proposing the new type(s) of collateral to be delivered." *
  • *
*/ public class CollateralSubstitution { final static private AtomicReference mmObject_lazy = new AtomicReference<>(); protected CollateralSubstitutionTypeCode type; /** * Specifies if the collateral that is substituted was posted against the * variation margin or the independent amount. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.codeset.CollateralSubstitutionTypeCode * CollateralSubstitutionTypeCode}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.CollateralSubstitution * CollateralSubstitution}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Type"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Specifies if the collateral that is substituted was posted against the variation margin or the independent amount." *
  • *
*/ public static final MMBusinessAttribute mmType = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.CollateralSubstitution.mmObject(); registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Type"; definition = "Specifies if the collateral that is substituted was posted against the variation margin or the independent amount."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> CollateralSubstitutionTypeCode.mmObject(); } public Method getGetterMethod() { try { return CollateralSubstitution.class.getMethod("getType", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected CurrencyAndAmount acceptedAmount; /** * Provides the accepted collateral substitution amount. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.datatype.CurrencyAndAmount * CurrencyAndAmount}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.CollateralSubstitution * CollateralSubstitution}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "AcceptedAmount"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Provides the accepted collateral substitution amount."
  • *
*/ public static final MMBusinessAttribute mmAcceptedAmount = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.CollateralSubstitution.mmObject(); registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "AcceptedAmount"; definition = "Provides the accepted collateral substitution amount."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> CurrencyAndAmount.mmObject(); } public Method getGetterMethod() { try { return CollateralSubstitution.class.getMethod("getAcceptedAmount", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected CurrencyAndAmount rejectedAmount; /** * Specifies the collateral substitution amount that is rejected. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.datatype.CurrencyAndAmount * CurrencyAndAmount}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.CollateralSubstitution * CollateralSubstitution}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "RejectedAmount"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Specifies the collateral substitution amount that is rejected."
  • *
*/ public static final MMBusinessAttribute mmRejectedAmount = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.CollateralSubstitution.mmObject(); registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "RejectedAmount"; definition = "Specifies the collateral substitution amount that is rejected."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> CurrencyAndAmount.mmObject(); } public Method getGetterMethod() { try { return CollateralSubstitution.class.getMethod("getRejectedAmount", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected CollateralManagement relatedManagementProcess; /** * Process which groups the activities related to collateral. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.CollateralManagement#mmCollateralSubstitution * CollateralManagement.mmCollateralSubstitution}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = * {@linkplain com.tools20022.repository.entity.CollateralManagement * CollateralManagement}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.CollateralSubstitution * CollateralSubstitution}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "RelatedManagementProcess"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Process which groups the activities related to collateral."
  • *
*/ public static final MMBusinessAssociationEnd mmRelatedManagementProcess = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.CollateralSubstitution.mmObject(); registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "RelatedManagementProcess"; definition = "Process which groups the activities related to collateral."; maxOccurs = 1; minOccurs = 0; opposite_lazy = () -> com.tools20022.repository.entity.CollateralManagement.mmCollateralSubstitution; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.CollateralManagement.mmObject(); } }; protected List newCollateral; /** * Specifies the collateral which is replacing the returned one. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.Collateral#mmRelatedCollateralSubstitution * Collateral.mmRelatedCollateralSubstitution}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.Collateral * Collateral}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.CollateralSubstitution * CollateralSubstitution}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "NewCollateral"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Specifies the collateral which is replacing the returned one."
  • *
*/ public static final MMBusinessAssociationEnd mmNewCollateral = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.CollateralSubstitution.mmObject(); registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "NewCollateral"; definition = "Specifies the collateral which is replacing the returned one."; minOccurs = 0; opposite_lazy = () -> com.tools20022.repository.entity.Collateral.mmRelatedCollateralSubstitution; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.Collateral.mmObject(); } }; static public MMBusinessComponent mmObject() { mmObject_lazy.compareAndSet(null, new MMBusinessComponent() { { dataDictionary_lazy = () -> GeneratedRepository.mmdataDict; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "CollateralSubstitution"; definition = "Substitution of collateral by specifying the collateral to be returned and proposing the new type(s) of collateral to be delivered."; associationDomain_lazy = () -> Arrays.asList(com.tools20022.repository.entity.Collateral.mmRelatedCollateralSubstitution, com.tools20022.repository.entity.CollateralManagement.mmCollateralSubstitution); element_lazy = () -> Arrays.asList(com.tools20022.repository.entity.CollateralSubstitution.mmType, com.tools20022.repository.entity.CollateralSubstitution.mmAcceptedAmount, com.tools20022.repository.entity.CollateralSubstitution.mmRejectedAmount, com.tools20022.repository.entity.CollateralSubstitution.mmRelatedManagementProcess, com.tools20022.repository.entity.CollateralSubstitution.mmNewCollateral); } @Override public Class getInstanceClass() { return CollateralSubstitution.class; } }); return mmObject_lazy.get(); } public CollateralSubstitutionTypeCode getType() { return type; } public void setType(CollateralSubstitutionTypeCode type) { this.type = type; } public CurrencyAndAmount getAcceptedAmount() { return acceptedAmount; } public void setAcceptedAmount(CurrencyAndAmount acceptedAmount) { this.acceptedAmount = acceptedAmount; } public CurrencyAndAmount getRejectedAmount() { return rejectedAmount; } public void setRejectedAmount(CurrencyAndAmount rejectedAmount) { this.rejectedAmount = rejectedAmount; } public CollateralManagement getRelatedManagementProcess() { return relatedManagementProcess; } public void setRelatedManagementProcess(com.tools20022.repository.entity.CollateralManagement relatedManagementProcess) { this.relatedManagementProcess = relatedManagementProcess; } public List getNewCollateral() { return newCollateral; } public void setNewCollateral(List newCollateral) { this.newCollateral = newCollateral; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy