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.Commission 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.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;
}
}