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.CommercialTrade Maven / Gradle / Ivy
/* Tools20022 - API for ISO 20022
* Copyright (C) 2017 Tools20022.com - László Bukodi
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
package com.tools20022.repository.entity;
import com.tools20022.metamodel.*;
import com.tools20022.repository.choice.UnderlyingContract1Choice;
import com.tools20022.repository.datatype.CurrencyAndAmount;
import com.tools20022.repository.entity.Trade;
import com.tools20022.repository.GeneratedRepository;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
import java.util.List;
/**
* Commercial details of a trade transaction between a buyer and a seller.
*
* Class diagram
*
*
*
* Constant fields:
*
* {@linkplain com.tools20022.metamodel.MMBusinessComponent#getSuperType
* superType} = {@linkplain com.tools20022.repository.entity.Trade Trade}
* {@linkplain com.tools20022.metamodel.MMBusinessComponent#getElement
* element} =
*
*
* {@linkplain com.tools20022.repository.entity.CommercialTrade#mmPurchaseAccount
* CommercialTrade.mmPurchaseAccount}
*
* {@linkplain com.tools20022.repository.entity.CommercialTrade#mmPaymentObligation
* CommercialTrade.mmPaymentObligation}
*
* {@linkplain com.tools20022.repository.entity.CommercialTrade#mmTotalAcceptedAmount
* CommercialTrade.mmTotalAcceptedAmount}
* {@linkplain com.tools20022.repository.entity.CommercialTrade#mmPartyRole
* CommercialTrade.mmPartyRole}
*
* {@linkplain com.tools20022.repository.entity.CommercialTrade#mmTradeSettlement
* CommercialTrade.mmTradeSettlement}
*
* {@linkplain com.tools20022.repository.entity.CommercialTrade#mmProductDeliveryObligation
* CommercialTrade.mmProductDeliveryObligation}
*
* {@linkplain com.tools20022.repository.entity.CommercialTrade#mmPurchaseOrder
* CommercialTrade.mmPurchaseOrder}
* {@linkplain com.tools20022.repository.entity.CommercialTrade#mmDocuments
* CommercialTrade.mmDocuments}
*
* {@linkplain com.tools20022.repository.entity.CommercialTrade#mmRelatedUndertaking
* CommercialTrade.mmRelatedUndertaking}
*
* {@linkplain com.tools20022.repository.entity.CommercialTrade#mmTransactionStatus
* CommercialTrade.mmTransactionStatus}
* {@linkplain com.tools20022.repository.entity.CommercialTrade#mmAgreement
* CommercialTrade.mmAgreement}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessComponent#getAssociationDomain
* associationDomain} =
*
*
* {@linkplain com.tools20022.repository.entity.CashAccount#mmRelatedCommercialTrade
* CashAccount.mmRelatedCommercialTrade}
* {@linkplain com.tools20022.repository.entity.Agreement#mmTrade
* Agreement.mmTrade}
* {@linkplain com.tools20022.repository.entity.Document#mmCommercialTrade
* Document.mmCommercialTrade}
*
* {@linkplain com.tools20022.repository.entity.PaymentObligation#mmCommercialTrade
* PaymentObligation.mmCommercialTrade}
*
* {@linkplain com.tools20022.repository.entity.UnderlyingTransaction#mmCommercialTrade
* UnderlyingTransaction.mmCommercialTrade}
*
* {@linkplain com.tools20022.repository.entity.CommercialTradePartyRole#mmCommercialTrade
* CommercialTradePartyRole.mmCommercialTrade}
*
* {@linkplain com.tools20022.repository.entity.CommercialTradeSettlement#mmCommercialTrade
* CommercialTradeSettlement.mmCommercialTrade}
*
* {@linkplain com.tools20022.repository.entity.BaselineStatus#mmCommercialTrade
* BaselineStatus.mmCommercialTrade}
*
* {@linkplain com.tools20022.repository.entity.PurchaseOrder#mmResultingCommercialTrade
* PurchaseOrder.mmResultingCommercialTrade}
*
* {@linkplain com.tools20022.repository.entity.ProductDeliveryObligation#mmCommercialTrade
* ProductDeliveryObligation.mmCommercialTrade}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessComponent#getDerivationElement
* derivationElement} =
*
*
* {@linkplain com.tools20022.repository.choice.UnderlyingContract1Choice#mmTrade
* UnderlyingContract1Choice.mmTrade}
*
*
*
* {@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} =
* "CommercialTrade"
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Commercial details of a trade transaction between a buyer and a seller."
*
*/
public class CommercialTrade extends Trade {
final static private AtomicReference mmObject_lazy = new AtomicReference<>();
protected List purchaseAccount;
/**
* Specific purchase account for recording debits and credits for accounting
* purposes.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.CashAccount#mmRelatedCommercialTrade
* CashAccount.mmRelatedCommercialTrade}
*
* {@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.CommercialTrade
* CommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "PurchaseAccount"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Specific purchase account for recording debits and credits for accounting purposes."
*
*
*/
public static final MMBusinessAssociationEnd mmPurchaseAccount = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CommercialTrade.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "PurchaseAccount";
definition = "Specific purchase account for recording debits and credits for accounting purposes.";
minOccurs = 0;
opposite_lazy = () -> com.tools20022.repository.entity.CashAccount.mmRelatedCommercialTrade;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.CashAccount.mmObject();
}
};
protected List paymentObligation;
/**
* Obligation for the buyer to settle the value of the products bought.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.PaymentObligation#mmCommercialTrade
* PaymentObligation.mmCommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.entity.PaymentObligation
* PaymentObligation}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CommercialTrade
* CommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "PaymentObligation"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Obligation for the buyer to settle the value of the products bought."
*
*/
public static final MMBusinessAssociationEnd mmPaymentObligation = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CommercialTrade.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "PaymentObligation";
definition = "Obligation for the buyer to settle the value of the products bought.";
minOccurs = 0;
opposite_lazy = () -> com.tools20022.repository.entity.PaymentObligation.mmCommercialTrade;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.PaymentObligation.mmObject();
}
};
protected CurrencyAndAmount totalAcceptedAmount;
/**
* Total amount of a trade, that is the sum of the accepted items.
*
* 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.CommercialTrade
* CommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "TotalAcceptedAmount"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Total amount of a trade, that is the sum of the accepted items."
*
*/
public static final MMBusinessAttribute mmTotalAcceptedAmount = new MMBusinessAttribute() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CommercialTrade.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "TotalAcceptedAmount";
definition = "Total amount of a trade, that is the sum of the accepted items.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> CurrencyAndAmount.mmObject();
}
public Method getGetterMethod() {
try {
return CommercialTrade.class.getMethod("getTotalAcceptedAmount", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected List partyRole;
/**
* Role played by a party in the context of a trade.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.CommercialTradePartyRole#mmCommercialTrade
* CommercialTradePartyRole.mmCommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} =
* {@linkplain com.tools20022.repository.entity.CommercialTradePartyRole
* CommercialTradePartyRole}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CommercialTrade
* CommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "PartyRole"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Role played by a party in the context of a trade."
*
*/
public static final MMBusinessAssociationEnd mmPartyRole = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CommercialTrade.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "PartyRole";
definition = "Role played by a party in the context of a trade.";
minOccurs = 0;
opposite_lazy = () -> com.tools20022.repository.entity.CommercialTradePartyRole.mmCommercialTrade;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.CommercialTradePartyRole.mmObject();
}
};
protected List tradeSettlement;
/**
* Process of settling a commercial trade.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.CommercialTradeSettlement#mmCommercialTrade
* CommercialTradeSettlement.mmCommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} =
* {@linkplain com.tools20022.repository.entity.CommercialTradeSettlement
* CommercialTradeSettlement}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CommercialTrade
* CommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "TradeSettlement"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Process of settling a commercial trade."
*
*/
public static final MMBusinessAssociationEnd mmTradeSettlement = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CommercialTrade.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "TradeSettlement";
definition = "Process of settling a commercial trade.";
minOccurs = 0;
opposite_lazy = () -> com.tools20022.repository.entity.CommercialTradeSettlement.mmCommercialTrade;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.CommercialTradeSettlement.mmObject();
}
};
protected List productDeliveryObligation;
/**
* Obligation for the seller to deliver the products to the buyer.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.ProductDeliveryObligation#mmCommercialTrade
* ProductDeliveryObligation.mmCommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} =
* {@linkplain com.tools20022.repository.entity.ProductDeliveryObligation
* ProductDeliveryObligation}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CommercialTrade
* CommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "ProductDeliveryObligation"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Obligation for the seller to deliver the products to the buyer."
*
*/
public static final MMBusinessAssociationEnd mmProductDeliveryObligation = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CommercialTrade.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "ProductDeliveryObligation";
definition = "Obligation for the seller to deliver the products to the buyer.";
minOccurs = 0;
opposite_lazy = () -> com.tools20022.repository.entity.ProductDeliveryObligation.mmCommercialTrade;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.ProductDeliveryObligation.mmObject();
}
};
protected PurchaseOrder purchaseOrder;
/**
* Specifies the purchase order related to a commercial trade.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.PurchaseOrder#mmResultingCommercialTrade
* PurchaseOrder.mmResultingCommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.entity.PurchaseOrder
* PurchaseOrder}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CommercialTrade
* CommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "PurchaseOrder"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Specifies the purchase order related to a commercial trade."
*
*/
public static final MMBusinessAssociationEnd mmPurchaseOrder = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CommercialTrade.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "PurchaseOrder";
definition = "Specifies the purchase order related to a commercial trade.";
maxOccurs = 1;
minOccurs = 0;
opposite_lazy = () -> com.tools20022.repository.entity.PurchaseOrder.mmResultingCommercialTrade;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.PurchaseOrder.mmObject();
}
};
protected Document documents;
/**
* Documents related to a commercial trade transaction.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.Document#mmCommercialTrade
* Document.mmCommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.entity.Document Document}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CommercialTrade
* CommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Documents"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Documents related to a commercial trade transaction."
*
*
*/
public static final MMBusinessAssociationEnd mmDocuments = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CommercialTrade.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Documents";
definition = "Documents related to a commercial trade transaction.";
maxOccurs = 1;
minOccurs = 1;
opposite_lazy = () -> com.tools20022.repository.entity.Document.mmCommercialTrade;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.Document.mmObject();
}
};
protected UnderlyingTransaction relatedUndertaking;
/**
* Undertaking related to the commercial trade.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.UnderlyingTransaction#mmCommercialTrade
* UnderlyingTransaction.mmCommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} =
* {@linkplain com.tools20022.repository.entity.UnderlyingTransaction
* UnderlyingTransaction}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CommercialTrade
* CommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "RelatedUndertaking"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Undertaking related to the commercial trade."
*
*/
public static final MMBusinessAssociationEnd mmRelatedUndertaking = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CommercialTrade.mmObject();
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "RelatedUndertaking";
definition = "Undertaking related to the commercial trade.";
maxOccurs = 1;
minOccurs = 1;
opposite_lazy = () -> com.tools20022.repository.entity.UnderlyingTransaction.mmCommercialTrade;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.UnderlyingTransaction.mmObject();
}
};
protected BaselineStatus transactionStatus;
/**
* Status of a commercial trade processed in a central system.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.BaselineStatus#mmCommercialTrade
* BaselineStatus.mmCommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.entity.BaselineStatus
* BaselineStatus}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CommercialTrade
* CommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "TransactionStatus"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Status of a commercial trade processed in a central system."
*
*/
public static final MMBusinessAssociationEnd mmTransactionStatus = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CommercialTrade.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "TransactionStatus";
definition = "Status of a commercial trade processed in a central system.";
maxOccurs = 1;
minOccurs = 1;
opposite_lazy = () -> com.tools20022.repository.entity.BaselineStatus.mmCommercialTrade;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.BaselineStatus.mmObject();
}
};
protected Agreement agreement;
/**
* Agreement between trade parties which describes the conditions under
* which they agree to execute trades amongst themselves.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.Agreement#mmTrade
* Agreement.mmTrade}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.entity.Agreement Agreement}
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} =
* {@linkplain com.tools20022.repository.entity.CommercialTrade
* CommercialTrade}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Agreement"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Agreement between trade parties which describes the conditions under which they agree to execute trades amongst themselves."
*
*
*/
public static final MMBusinessAssociationEnd mmAgreement = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.CommercialTrade.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Agreement";
definition = "Agreement between trade parties which describes the conditions under which they agree to execute trades amongst themselves.";
maxOccurs = 1;
minOccurs = 1;
opposite_lazy = () -> com.tools20022.repository.entity.Agreement.mmTrade;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.Agreement.mmObject();
}
};
static public MMBusinessComponent mmObject() {
mmObject_lazy.compareAndSet(null, new MMBusinessComponent() {
{
dataDictionary_lazy = () -> GeneratedRepository.mmdataDict;
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "CommercialTrade";
definition = "Commercial details of a trade transaction between a buyer and a seller.";
associationDomain_lazy = () -> Arrays.asList(com.tools20022.repository.entity.CashAccount.mmRelatedCommercialTrade, com.tools20022.repository.entity.Agreement.mmTrade,
com.tools20022.repository.entity.Document.mmCommercialTrade, com.tools20022.repository.entity.PaymentObligation.mmCommercialTrade, com.tools20022.repository.entity.UnderlyingTransaction.mmCommercialTrade,
com.tools20022.repository.entity.CommercialTradePartyRole.mmCommercialTrade, com.tools20022.repository.entity.CommercialTradeSettlement.mmCommercialTrade,
com.tools20022.repository.entity.BaselineStatus.mmCommercialTrade, com.tools20022.repository.entity.PurchaseOrder.mmResultingCommercialTrade,
com.tools20022.repository.entity.ProductDeliveryObligation.mmCommercialTrade);
derivationElement_lazy = () -> Arrays.asList(UnderlyingContract1Choice.mmTrade);
superType_lazy = () -> Trade.mmObject();
element_lazy = () -> Arrays.asList(com.tools20022.repository.entity.CommercialTrade.mmPurchaseAccount, com.tools20022.repository.entity.CommercialTrade.mmPaymentObligation,
com.tools20022.repository.entity.CommercialTrade.mmTotalAcceptedAmount, com.tools20022.repository.entity.CommercialTrade.mmPartyRole, com.tools20022.repository.entity.CommercialTrade.mmTradeSettlement,
com.tools20022.repository.entity.CommercialTrade.mmProductDeliveryObligation, com.tools20022.repository.entity.CommercialTrade.mmPurchaseOrder, com.tools20022.repository.entity.CommercialTrade.mmDocuments,
com.tools20022.repository.entity.CommercialTrade.mmRelatedUndertaking, com.tools20022.repository.entity.CommercialTrade.mmTransactionStatus, com.tools20022.repository.entity.CommercialTrade.mmAgreement);
}
@Override
public Class getInstanceClass() {
return CommercialTrade.class;
}
});
return mmObject_lazy.get();
}
public List getPurchaseAccount() {
return purchaseAccount;
}
public void setPurchaseAccount(List purchaseAccount) {
this.purchaseAccount = purchaseAccount;
}
public List getPaymentObligation() {
return paymentObligation;
}
public void setPaymentObligation(List paymentObligation) {
this.paymentObligation = paymentObligation;
}
public CurrencyAndAmount getTotalAcceptedAmount() {
return totalAcceptedAmount;
}
public void setTotalAcceptedAmount(CurrencyAndAmount totalAcceptedAmount) {
this.totalAcceptedAmount = totalAcceptedAmount;
}
public List getPartyRole() {
return partyRole;
}
public void setPartyRole(List partyRole) {
this.partyRole = partyRole;
}
public List getTradeSettlement() {
return tradeSettlement;
}
public void setTradeSettlement(List tradeSettlement) {
this.tradeSettlement = tradeSettlement;
}
public List getProductDeliveryObligation() {
return productDeliveryObligation;
}
public void setProductDeliveryObligation(List productDeliveryObligation) {
this.productDeliveryObligation = productDeliveryObligation;
}
public PurchaseOrder getPurchaseOrder() {
return purchaseOrder;
}
public void setPurchaseOrder(com.tools20022.repository.entity.PurchaseOrder purchaseOrder) {
this.purchaseOrder = purchaseOrder;
}
public Document getDocuments() {
return documents;
}
public void setDocuments(com.tools20022.repository.entity.Document documents) {
this.documents = documents;
}
public UnderlyingTransaction getRelatedUndertaking() {
return relatedUndertaking;
}
public void setRelatedUndertaking(com.tools20022.repository.entity.UnderlyingTransaction relatedUndertaking) {
this.relatedUndertaking = relatedUndertaking;
}
public BaselineStatus getTransactionStatus() {
return transactionStatus;
}
public void setTransactionStatus(com.tools20022.repository.entity.BaselineStatus transactionStatus) {
this.transactionStatus = transactionStatus;
}
public Agreement getAgreement() {
return agreement;
}
public void setAgreement(com.tools20022.repository.entity.Agreement agreement) {
this.agreement = agreement;
}
}