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

com.tools20022.repository.entity.Commission 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.CommissionTypeV2Code;
import com.tools20022.repository.codeset.CurrencyCode;
import com.tools20022.repository.codeset.TaxationBasisCode;
import com.tools20022.repository.datatype.CurrencyAndAmount;
import com.tools20022.repository.datatype.ISODateTime;
import com.tools20022.repository.datatype.Max35Text;
import com.tools20022.repository.datatype.PercentageRate;
import com.tools20022.repository.entity.Adjustment;
import com.tools20022.repository.GeneratedRepository;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
import java.util.List;

/**
 * Amount of money due to a party as compensation for a service.
 * 

* Class diagram *

* *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMBusinessComponent#getSuperType * superType} = {@linkplain com.tools20022.repository.entity.Adjustment * Adjustment}
  • *
  • {@linkplain com.tools20022.metamodel.MMBusinessComponent#getElement * element} = *
      *
    • * {@linkplain com.tools20022.repository.entity.Commission#mmCommissionWaiving * Commission.mmCommissionWaiving}
    • *
    • {@linkplain com.tools20022.repository.entity.Commission#mmTrade * Commission.mmTrade}
    • *
    • {@linkplain com.tools20022.repository.entity.Commission#mmCommissionType * Commission.mmCommissionType}
    • *
    • {@linkplain com.tools20022.repository.entity.Commission#mmBasis * Commission.mmBasis}
    • *
    • * {@linkplain com.tools20022.repository.entity.Commission#mmCommercialAgreementReference * Commission.mmCommercialAgreementReference}
    • *
    • * {@linkplain com.tools20022.repository.entity.Commission#mmCalculationDate * Commission.mmCalculationDate}
    • *
    • {@linkplain com.tools20022.repository.entity.Commission#mmRate * Commission.mmRate}
    • *
    • * {@linkplain com.tools20022.repository.entity.Commission#mmCommissionAmount * Commission.mmCommissionAmount}
    • *
    • {@linkplain com.tools20022.repository.entity.Commission#mmBroker * Commission.mmBroker}
    • *
    • * {@linkplain com.tools20022.repository.entity.Commission#mmCommissionPartyRole * Commission.mmCommissionPartyRole}
    • *
    • {@linkplain com.tools20022.repository.entity.Commission#mmAccount * Commission.mmAccount}
    • *
    • {@linkplain com.tools20022.repository.entity.Commission#mmRelatedQuote * Commission.mmRelatedQuote}
    • *
    • {@linkplain com.tools20022.repository.entity.Commission#mmSplitRate * Commission.mmSplitRate}
    • *
    • {@linkplain com.tools20022.repository.entity.Commission#mmCurrency * Commission.mmCurrency}
    • *
    • * {@linkplain com.tools20022.repository.entity.Commission#mmCorporateActionFeesAndCharges * Commission.mmCorporateActionFeesAndCharges}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessComponent#getAssociationDomain * associationDomain} = *
      *
    • {@linkplain com.tools20022.repository.entity.CashAccount#mmCommission * CashAccount.mmCommission}
    • *
    • {@linkplain com.tools20022.repository.entity.Trade#mmTradeCommission * Trade.mmTradeCommission}
    • *
    • * {@linkplain com.tools20022.repository.entity.CommissionWaiver#mmCommission * CommissionWaiver.mmCommission}
    • *
    • * {@linkplain com.tools20022.repository.entity.CorporateActionFeesAndCharges#mmCommission * CorporateActionFeesAndCharges.mmCommission}
    • *
    • {@linkplain com.tools20022.repository.entity.Broker#mmCommission * Broker.mmCommission}
    • *
    • * {@linkplain com.tools20022.repository.entity.CommissionPartyRole#mmCommission * CommissionPartyRole.mmCommission}
    • *
    • * {@linkplain com.tools20022.repository.entity.SecuritiesQuoteVariable#mmCommission * SecuritiesQuoteVariable.mmCommission}
    • *
    *
  • *
  • * {@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} = * "Commission"
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Amount of money due to a party as compensation for a service." *
  • *
*/ public class Commission extends Adjustment { final static private AtomicReference mmObject_lazy = new AtomicReference<>(); protected CommissionWaiver commissionWaiving; /** * Voluntary non-enforcement of the right to all or part of a commission. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.CommissionWaiver#mmCommission * CommissionWaiver.mmCommission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.CommissionWaiver * CommissionWaiver}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "CommissionWaiving"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Voluntary non-enforcement of the right to all or part of a commission."
  • *
*/ public static final MMBusinessAssociationEnd mmCommissionWaiving = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "CommissionWaiving"; definition = "Voluntary non-enforcement of the right to all or part of a commission."; maxOccurs = 1; minOccurs = 1; opposite_lazy = () -> com.tools20022.repository.entity.CommissionWaiver.mmCommission; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.CommissionWaiver.mmObject(); } }; protected Trade trade; /** * Trade for which commission parameters are specified. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.Trade#mmTradeCommission * Trade.mmTradeCommission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.Trade Trade}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Trade"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Trade for which commission parameters are specified."
  • *
*/ public static final MMBusinessAssociationEnd mmTrade = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "Trade"; definition = "Trade for which commission parameters are specified."; maxOccurs = 1; minOccurs = 0; opposite_lazy = () -> com.tools20022.repository.entity.Trade.mmTradeCommission; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.Trade.mmObject(); } }; protected CommissionTypeV2Code commissionType; /** * Service for which the commission is asked or paid. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.codeset.CommissionTypeV2Code * CommissionTypeV2Code}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "CommissionType"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Service for which the commission is asked or paid."
  • *
*/ public static final MMBusinessAttribute mmCommissionType = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "CommissionType"; definition = "Service for which the commission is asked or paid."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> CommissionTypeV2Code.mmObject(); } public Method getGetterMethod() { try { return Commission.class.getMethod("getCommissionType", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected TaxationBasisCode basis; /** * Basis upon which a commission is charged, eg, flat fee. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.codeset.TaxationBasisCode * TaxationBasisCode}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Basis"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Basis upon which a commission is charged, eg, flat fee."
  • *
*/ public static final MMBusinessAttribute mmBasis = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "Basis"; definition = "Basis upon which a commission is charged, eg, flat fee."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> TaxationBasisCode.mmObject(); } public Method getGetterMethod() { try { return Commission.class.getMethod("getBasis", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected Max35Text commercialAgreementReference; /** * Reference to the agreement established between the fund and another * party. This element, amongst others, defines the conditions of the * commissions. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = {@linkplain com.tools20022.repository.datatype.Max35Text * Max35Text}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "CommercialAgreementReference"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Reference to the agreement established between the fund and another party. This element, amongst others, defines the conditions of the commissions." *
  • *
*/ public static final MMBusinessAttribute mmCommercialAgreementReference = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "CommercialAgreementReference"; definition = "Reference to the agreement established between the fund and another party. This element, amongst others, defines the conditions of the commissions."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> Max35Text.mmObject(); } public Method getGetterMethod() { try { return Commission.class.getMethod("getCommercialAgreementReference", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected ISODateTime calculationDate; /** * Date/time at which the commission is calculated. *

* 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.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "CalculationDate"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Date/time at which the commission is calculated."
  • *
*/ public static final MMBusinessAttribute mmCalculationDate = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "CalculationDate"; definition = "Date/time at which the commission is calculated."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> ISODateTime.mmObject(); } public Method getGetterMethod() { try { return Commission.class.getMethod("getCalculationDate", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected PercentageRate rate; /** * Commission expressed as a percentage. *

* 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.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Rate"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Commission expressed as a percentage."
  • *
*/ public static final MMBusinessAttribute mmRate = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "Rate"; definition = "Commission expressed as a percentage."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> PercentageRate.mmObject(); } public Method getGetterMethod() { try { return Commission.class.getMethod("getRate", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected CurrencyAndAmount commissionAmount; /** * Commission expressed as an amount of money. *

* 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.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "CommissionAmount"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Commission expressed as an amount of money."
  • *
*/ public static final MMBusinessAttribute mmCommissionAmount = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "CommissionAmount"; definition = "Commission expressed as an amount of money."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> CurrencyAndAmount.mmObject(); } public Method getGetterMethod() { try { return Commission.class.getMethod("getCommissionAmount", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected List broker; /** * Broker to which a commission is paid. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.Broker#mmCommission * Broker.mmCommission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.Broker Broker}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Broker"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Broker to which a commission is paid."
  • *
*/ public static final MMBusinessAssociationEnd mmBroker = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "Broker"; definition = "Broker to which a commission is paid."; minOccurs = 0; opposite_lazy = () -> com.tools20022.repository.entity.Broker.mmCommission; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.Broker.mmObject(); } }; protected List commissionPartyRole; /** * Role played by a party in the context of commissions. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.CommissionPartyRole#mmCommission * CommissionPartyRole.mmCommission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.CommissionPartyRole * CommissionPartyRole}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "CommissionPartyRole"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Role played by a party in the context of commissions."
  • *
*/ public static final MMBusinessAssociationEnd mmCommissionPartyRole = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "CommissionPartyRole"; definition = "Role played by a party in the context of commissions."; minOccurs = 0; opposite_lazy = () -> com.tools20022.repository.entity.CommissionPartyRole.mmCommission; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.CommissionPartyRole.mmObject(); } }; protected List account; /** * Account used for the commission fees. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.CashAccount#mmCommission * CashAccount.mmCommission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.CashAccount * CashAccount}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Account"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Account used for the commission fees."
  • *
*/ public static final MMBusinessAssociationEnd mmAccount = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "Account"; definition = "Account used for the commission fees."; minOccurs = 0; opposite_lazy = () -> com.tools20022.repository.entity.CashAccount.mmCommission; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.CashAccount.mmObject(); } }; protected SecuritiesQuoteVariable relatedQuote; /** * Quote which includes a commission. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.SecuritiesQuoteVariable#mmCommission * SecuritiesQuoteVariable.mmCommission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = * {@linkplain com.tools20022.repository.entity.SecuritiesQuoteVariable * SecuritiesQuoteVariable}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "RelatedQuote"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Quote which includes a commission."
  • *
*/ public static final MMBusinessAssociationEnd mmRelatedQuote = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "RelatedQuote"; definition = "Quote which includes a commission."; maxOccurs = 1; minOccurs = 1; opposite_lazy = () -> com.tools20022.repository.entity.SecuritiesQuoteVariable.mmCommission; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.SecuritiesQuoteVariable.mmObject(); } }; protected PercentageRate splitRate; /** * Percentage of the total commission received by an intermediary. *

* 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.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "SplitRate"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Percentage of the total commission received by an intermediary."
  • *
*/ public static final MMBusinessAttribute mmSplitRate = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "SplitRate"; definition = "Percentage of the total commission received by an intermediary."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> PercentageRate.mmObject(); } public Method getGetterMethod() { try { return Commission.class.getMethod("getSplitRate", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected CurrencyCode currency; /** * Currency in which the commission has to be settled. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = {@linkplain com.tools20022.repository.codeset.CurrencyCode * CurrencyCode}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Currency"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Currency in which the commission has to be settled."
  • *
*/ public static final MMBusinessAttribute mmCurrency = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "Currency"; definition = "Currency in which the commission has to be settled."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> CurrencyCode.mmObject(); } public Method getGetterMethod() { try { return Commission.class.getMethod("getCurrency", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected CorporateActionFeesAndCharges corporateActionFeesAndCharges; /** * Corporate action fees to which commission fees are added. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.CorporateActionFeesAndCharges#mmCommission * CorporateActionFeesAndCharges.mmCommission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = * {@linkplain com.tools20022.repository.entity.CorporateActionFeesAndCharges * CorporateActionFeesAndCharges}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.Commission Commission}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "CorporateActionFeesAndCharges"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Corporate action fees to which commission fees are added." *
  • *
*/ public static final MMBusinessAssociationEnd mmCorporateActionFeesAndCharges = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.Commission.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "CorporateActionFeesAndCharges"; definition = "Corporate action fees to which commission fees are added."; maxOccurs = 1; minOccurs = 1; opposite_lazy = () -> com.tools20022.repository.entity.CorporateActionFeesAndCharges.mmCommission; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.CorporateActionFeesAndCharges.mmObject(); } }; static public MMBusinessComponent mmObject() { mmObject_lazy.compareAndSet(null, new MMBusinessComponent() { { dataDictionary_lazy = () -> GeneratedRepository.mmdataDict; registrationStatus = MMRegistrationStatus.REGISTERED; name = "Commission"; definition = "Amount of money due to a party as compensation for a service."; associationDomain_lazy = () -> Arrays.asList(com.tools20022.repository.entity.CashAccount.mmCommission, com.tools20022.repository.entity.Trade.mmTradeCommission, com.tools20022.repository.entity.CommissionWaiver.mmCommission, com.tools20022.repository.entity.CorporateActionFeesAndCharges.mmCommission, com.tools20022.repository.entity.Broker.mmCommission, com.tools20022.repository.entity.CommissionPartyRole.mmCommission, com.tools20022.repository.entity.SecuritiesQuoteVariable.mmCommission); superType_lazy = () -> Adjustment.mmObject(); element_lazy = () -> Arrays.asList(com.tools20022.repository.entity.Commission.mmCommissionWaiving, com.tools20022.repository.entity.Commission.mmTrade, com.tools20022.repository.entity.Commission.mmCommissionType, com.tools20022.repository.entity.Commission.mmBasis, com.tools20022.repository.entity.Commission.mmCommercialAgreementReference, com.tools20022.repository.entity.Commission.mmCalculationDate, com.tools20022.repository.entity.Commission.mmRate, com.tools20022.repository.entity.Commission.mmCommissionAmount, com.tools20022.repository.entity.Commission.mmBroker, com.tools20022.repository.entity.Commission.mmCommissionPartyRole, com.tools20022.repository.entity.Commission.mmAccount, com.tools20022.repository.entity.Commission.mmRelatedQuote, com.tools20022.repository.entity.Commission.mmSplitRate, com.tools20022.repository.entity.Commission.mmCurrency, com.tools20022.repository.entity.Commission.mmCorporateActionFeesAndCharges); } @Override public Class getInstanceClass() { return Commission.class; } }); return mmObject_lazy.get(); } public CommissionWaiver getCommissionWaiving() { return commissionWaiving; } public void setCommissionWaiving(com.tools20022.repository.entity.CommissionWaiver commissionWaiving) { this.commissionWaiving = commissionWaiving; } public Trade getTrade() { return trade; } public void setTrade(com.tools20022.repository.entity.Trade trade) { this.trade = trade; } public CommissionTypeV2Code getCommissionType() { return commissionType; } public void setCommissionType(CommissionTypeV2Code commissionType) { this.commissionType = commissionType; } public TaxationBasisCode getBasis() { return basis; } public void setBasis(TaxationBasisCode basis) { this.basis = basis; } public Max35Text getCommercialAgreementReference() { return commercialAgreementReference; } public void setCommercialAgreementReference(Max35Text commercialAgreementReference) { this.commercialAgreementReference = commercialAgreementReference; } public ISODateTime getCalculationDate() { return calculationDate; } public void setCalculationDate(ISODateTime calculationDate) { this.calculationDate = calculationDate; } public PercentageRate getRate() { return rate; } public void setRate(PercentageRate rate) { this.rate = rate; } public CurrencyAndAmount getCommissionAmount() { return commissionAmount; } public void setCommissionAmount(CurrencyAndAmount commissionAmount) { this.commissionAmount = commissionAmount; } public List getBroker() { return broker; } public void setBroker(List broker) { this.broker = broker; } public List getCommissionPartyRole() { return commissionPartyRole; } public void setCommissionPartyRole(List commissionPartyRole) { this.commissionPartyRole = commissionPartyRole; } public List getAccount() { return account; } public void setAccount(List account) { this.account = account; } public SecuritiesQuoteVariable getRelatedQuote() { return relatedQuote; } public void setRelatedQuote(com.tools20022.repository.entity.SecuritiesQuoteVariable relatedQuote) { this.relatedQuote = relatedQuote; } public PercentageRate getSplitRate() { return splitRate; } public void setSplitRate(PercentageRate splitRate) { this.splitRate = splitRate; } public CurrencyCode getCurrency() { return currency; } public void setCurrency(CurrencyCode currency) { this.currency = currency; } public CorporateActionFeesAndCharges getCorporateActionFeesAndCharges() { return corporateActionFeesAndCharges; } public void setCorporateActionFeesAndCharges(com.tools20022.repository.entity.CorporateActionFeesAndCharges corporateActionFeesAndCharges) { this.corporateActionFeesAndCharges = corporateActionFeesAndCharges; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy