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.Entry 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.DebitCreditCode;
import com.tools20022.repository.codeset.EntryCode;
import com.tools20022.repository.datatype.ISODateTime;
import com.tools20022.repository.datatype.Max35Text;
import com.tools20022.repository.datatype.TrueFalseIndicator;
import com.tools20022.repository.datatype.YesNoIndicator;
import com.tools20022.repository.GeneratedRepository;
import com.tools20022.repository.msg.*;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
import java.util.List;
/**
* Posting to an account that results in an increase or decrease to a balance.
*
* Class diagram
*
*
*
* Constant fields:
*
* {@linkplain com.tools20022.metamodel.MMBusinessComponent#getElement
* element} =
*
*
* {@linkplain com.tools20022.repository.entity.Entry#mmCreditDebitIndicator
* Entry.mmCreditDebitIndicator}
* {@linkplain com.tools20022.repository.entity.Entry#mmEntryDate
* Entry.mmEntryDate}
* {@linkplain com.tools20022.repository.entity.Entry#mmIdentification
* Entry.mmIdentification}
*
* {@linkplain com.tools20022.repository.entity.Entry#mmAccountOwnerTransactionIdentification
* Entry.mmAccountOwnerTransactionIdentification}
*
* {@linkplain com.tools20022.repository.entity.Entry#mmAccountServicerTransactionIdentification
* Entry.mmAccountServicerTransactionIdentification}
* {@linkplain com.tools20022.repository.entity.Entry#mmReversalIndicator
* Entry.mmReversalIndicator}
* {@linkplain com.tools20022.repository.entity.Entry#mmValueDate
* Entry.mmValueDate}
* {@linkplain com.tools20022.repository.entity.Entry#mmBankTransactionCode
* Entry.mmBankTransactionCode}
*
* {@linkplain com.tools20022.repository.entity.Entry#mmCommissionWaiverIndicator
* Entry.mmCommissionWaiverIndicator}
* {@linkplain com.tools20022.repository.entity.Entry#mmRole Entry.mmRole}
* {@linkplain com.tools20022.repository.entity.Entry#mmAccount
* Entry.mmAccount}
* {@linkplain com.tools20022.repository.entity.Entry#mmBalance
* Entry.mmBalance}
* {@linkplain com.tools20022.repository.entity.Entry#mmEntryType
* Entry.mmEntryType}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessComponent#getAssociationDomain
* associationDomain} =
*
* {@linkplain com.tools20022.repository.entity.Role#mmEntry Role.mmEntry}
* {@linkplain com.tools20022.repository.entity.Account#mmEntry
* Account.mmEntry}
* {@linkplain com.tools20022.repository.entity.Balance#mmBalanceEntry
* Balance.mmBalanceEntry}
*
* {@linkplain com.tools20022.repository.entity.BankTransaction#mmRelatedEntry
* BankTransaction.mmRelatedEntry}
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessComponent#getSubType
* subType} =
*
* {@linkplain com.tools20022.repository.entity.CashEntry CashEntry}
* {@linkplain com.tools20022.repository.entity.SecuritiesEntry
* SecuritiesEntry}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessComponent#getDerivationComponent
* derivationComponent} =
*
* {@linkplain com.tools20022.repository.msg.UnderlyingStatementEntry1
* UnderlyingStatementEntry1}
* {@linkplain com.tools20022.repository.msg.EntryTransaction8
* EntryTransaction8}
*
*
*
* {@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} =
* "Entry"
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Posting to an account that results in an increase or decrease to a balance."
*
*
*/
public class Entry {
final static private AtomicReference mmObject_lazy = new AtomicReference<>();
protected DebitCreditCode creditDebitIndicator;
/**
* Indicates whether an entry is a credit or a debit.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.codeset.DebitCreditCode
* DebitCreditCode}
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation
* derivation} =
*
*
* {@linkplain com.tools20022.repository.msg.AmountAndDirection35#mmCreditDebitIndicator
* AmountAndDirection35.mmCreditDebitIndicator}
*
* {@linkplain com.tools20022.repository.msg.TransactionType1#mmCreditDebitIndicator
* TransactionType1.mmCreditDebitIndicator}
*
* {@linkplain com.tools20022.repository.msg.ReportEntry8#mmCreditDebitIndicator
* ReportEntry8.mmCreditDebitIndicator}
*
* {@linkplain com.tools20022.repository.msg.EntryTransaction8#mmCreditDebitIndicator
* EntryTransaction8.mmCreditDebitIndicator}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} = {@linkplain com.tools20022.repository.entity.Entry
* Entry}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "CreditDebitIndicator"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Indicates whether an entry is a credit or a debit."
*
*/
public static final MMBusinessAttribute mmCreditDebitIndicator = new MMBusinessAttribute() {
{
derivation_lazy = () -> Arrays.asList(AmountAndDirection35.mmCreditDebitIndicator, TransactionType1.mmCreditDebitIndicator, ReportEntry8.mmCreditDebitIndicator, EntryTransaction8.mmCreditDebitIndicator);
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.Entry.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "CreditDebitIndicator";
definition = "Indicates whether an entry is a credit or a debit.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> DebitCreditCode.mmObject();
}
public Method getGetterMethod() {
try {
return Entry.class.getMethod("getCreditDebitIndicator", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected ISODateTime entryDate;
/**
* Date and time at which an entry is posted to an account on the account
* servicer's books.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} = {@linkplain com.tools20022.repository.datatype.ISODateTime
* ISODateTime}
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation
* derivation} =
*
*
* {@linkplain com.tools20022.repository.msg.BalanceAdjustment1#mmPostingDate
* BalanceAdjustment1.mmPostingDate}
* {@linkplain com.tools20022.repository.msg.ReportEntry8#mmBookingDate
* ReportEntry8.mmBookingDate}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} = {@linkplain com.tools20022.repository.entity.Entry
* Entry}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "EntryDate"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Date and time at which an entry is posted to an account on the account servicer's books."
*
*
*/
public static final MMBusinessAttribute mmEntryDate = new MMBusinessAttribute() {
{
derivation_lazy = () -> Arrays.asList(BalanceAdjustment1.mmPostingDate, ReportEntry8.mmBookingDate);
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.Entry.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "EntryDate";
definition = "Date and time at which an entry is posted to an account on the account servicer's books.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> ISODateTime.mmObject();
}
public Method getGetterMethod() {
try {
return Entry.class.getMethod("getEntryDate", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected Max35Text identification;
/**
* Unique and unambiguous identifier for an entry, as assigned by the
* account servicer.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} = {@linkplain com.tools20022.repository.datatype.Max35Text
* Max35Text}
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation
* derivation} =
*
*
* {@linkplain com.tools20022.repository.msg.UnderlyingStatementEntry1#mmOriginalEntryIdentification
* UnderlyingStatementEntry1.mmOriginalEntryIdentification}
*
* {@linkplain com.tools20022.repository.msg.CertificateIdentification1#mmAccountServicerReference
* CertificateIdentification1.mmAccountServicerReference}
*
* {@linkplain com.tools20022.repository.msg.ReportEntry8#mmEntryReference
* ReportEntry8.mmEntryReference}
*
* {@linkplain com.tools20022.repository.msg.EntryTransaction8#mmReferences
* EntryTransaction8.mmReferences}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} = {@linkplain com.tools20022.repository.entity.Entry
* Entry}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Identification"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Unique and unambiguous identifier for an entry, as assigned by the account servicer."
*
*
*/
public static final MMBusinessAttribute mmIdentification = new MMBusinessAttribute() {
{
derivation_lazy = () -> Arrays.asList(UnderlyingStatementEntry1.mmOriginalEntryIdentification, CertificateIdentification1.mmAccountServicerReference, ReportEntry8.mmEntryReference, EntryTransaction8.mmReferences);
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.Entry.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Identification";
definition = "Unique and unambiguous identifier for an entry, as assigned by the account servicer.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> Max35Text.mmObject();
}
public Method getGetterMethod() {
try {
return Entry.class.getMethod("getIdentification", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected Max35Text accountOwnerTransactionIdentification;
/**
* Unambiguous identification of the transaction as known by the account
* owner (or the instructing party managing the account).
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} = {@linkplain com.tools20022.repository.datatype.Max35Text
* Max35Text}
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation
* derivation} =
*
*
* {@linkplain com.tools20022.repository.msg.TransactionReferences3#mmAccountOwnerTransactionIdentification
* TransactionReferences3.mmAccountOwnerTransactionIdentification}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} = {@linkplain com.tools20022.repository.entity.Entry
* Entry}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "AccountOwnerTransactionIdentification"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Unambiguous identification of the transaction as known by the account owner (or the instructing party managing the account)."
*
*
*/
public static final MMBusinessAttribute mmAccountOwnerTransactionIdentification = new MMBusinessAttribute() {
{
derivation_lazy = () -> Arrays.asList(TransactionReferences3.mmAccountOwnerTransactionIdentification);
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.Entry.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "AccountOwnerTransactionIdentification";
definition = "Unambiguous identification of the transaction as known by the account owner (or the instructing party managing the account).";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> Max35Text.mmObject();
}
public Method getGetterMethod() {
try {
return Entry.class.getMethod("getAccountOwnerTransactionIdentification", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected Max35Text accountServicerTransactionIdentification;
/**
* Unambiguous identification of the transaction as known by the account
* servicer.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} = {@linkplain com.tools20022.repository.datatype.Max35Text
* Max35Text}
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation
* derivation} =
*
*
* {@linkplain com.tools20022.repository.msg.TransactionReferences3#mmAccountServicerReference
* TransactionReferences3.mmAccountServicerReference}
*
* {@linkplain com.tools20022.repository.msg.TransactionReferences3#mmAccountServicerTransactionIdentification
* TransactionReferences3.mmAccountServicerTransactionIdentification}
*
* {@linkplain com.tools20022.repository.msg.StatementResolutionEntry2#mmAccountServicerReference
* StatementResolutionEntry2.mmAccountServicerReference}
*
* {@linkplain com.tools20022.repository.msg.ReportEntry8#mmAccountServicerReference
* ReportEntry8.mmAccountServicerReference}
*
* {@linkplain com.tools20022.repository.msg.PaymentTransaction80#mmAccountServicerReference
* PaymentTransaction80.mmAccountServicerReference}
*
* {@linkplain com.tools20022.repository.msg.PaymentTransaction83#mmAccountServicerReference
* PaymentTransaction83.mmAccountServicerReference}
*
* {@linkplain com.tools20022.repository.msg.PaymentTransaction82#mmAccountServicerReference
* PaymentTransaction82.mmAccountServicerReference}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} = {@linkplain com.tools20022.repository.entity.Entry
* Entry}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "AccountServicerTransactionIdentification"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Unambiguous identification of the transaction as known by the account servicer."
*
*
*/
public static final MMBusinessAttribute mmAccountServicerTransactionIdentification = new MMBusinessAttribute() {
{
derivation_lazy = () -> Arrays.asList(TransactionReferences3.mmAccountServicerReference, TransactionReferences3.mmAccountServicerTransactionIdentification, StatementResolutionEntry2.mmAccountServicerReference,
ReportEntry8.mmAccountServicerReference, PaymentTransaction80.mmAccountServicerReference, PaymentTransaction83.mmAccountServicerReference, PaymentTransaction82.mmAccountServicerReference);
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.Entry.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "AccountServicerTransactionIdentification";
definition = "Unambiguous identification of the transaction as known by the account servicer.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> Max35Text.mmObject();
}
public Method getGetterMethod() {
try {
return Entry.class.getMethod("getAccountServicerTransactionIdentification", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected TrueFalseIndicator reversalIndicator;
/**
* Indicates whether or not the entry is the result of a reversal.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.datatype.TrueFalseIndicator
* TrueFalseIndicator}
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation
* derivation} =
*
*
* {@linkplain com.tools20022.repository.msg.ReportEntry8#mmReversalIndicator
* ReportEntry8.mmReversalIndicator}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} = {@linkplain com.tools20022.repository.entity.Entry
* Entry}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "ReversalIndicator"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Indicates whether or not the entry is the result of a reversal."
*
*/
public static final MMBusinessAttribute mmReversalIndicator = new MMBusinessAttribute() {
{
derivation_lazy = () -> Arrays.asList(ReportEntry8.mmReversalIndicator);
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.Entry.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "ReversalIndicator";
definition = "Indicates whether or not the entry is the result of a reversal.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> TrueFalseIndicator.mmObject();
}
public Method getGetterMethod() {
try {
return Entry.class.getMethod("getReversalIndicator", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected ISODateTime valueDate;
/**
* Date and time assets become available to the account owner (in a credit
* entry), or cease to be available to the account owner (in a debit entry).
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} = {@linkplain com.tools20022.repository.datatype.ISODateTime
* ISODateTime}
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation
* derivation} =
*
*
* {@linkplain com.tools20022.repository.msg.CashAccountCharacteristics2#mmDelayedDebitDate
* CashAccountCharacteristics2.mmDelayedDebitDate}
* {@linkplain com.tools20022.repository.msg.ReportEntry8#mmValueDate
* ReportEntry8.mmValueDate}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} = {@linkplain com.tools20022.repository.entity.Entry
* Entry}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "ValueDate"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Date and time assets become available to the account owner (in a credit entry), or cease to be available to the account owner (in a debit entry)."
*
*
*/
public static final MMBusinessAttribute mmValueDate = new MMBusinessAttribute() {
{
derivation_lazy = () -> Arrays.asList(CashAccountCharacteristics2.mmDelayedDebitDate, ReportEntry8.mmValueDate);
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.Entry.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "ValueDate";
definition = "Date and time assets become available to the account owner (in a credit entry), or cease to be available to the account owner (in a debit entry).";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> ISODateTime.mmObject();
}
public Method getGetterMethod() {
try {
return Entry.class.getMethod("getValueDate", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected BankTransaction bankTransactionCode;
/**
* Type of underlying transaction resulting in the entry.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.BankTransaction#mmRelatedEntry
* BankTransaction.mmRelatedEntry}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.entity.BankTransaction
* BankTransaction}
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation
* derivation} =
*
*
* {@linkplain com.tools20022.repository.msg.ReportEntry8#mmBankTransactionCode
* ReportEntry8.mmBankTransactionCode}
*
* {@linkplain com.tools20022.repository.msg.BillingServiceIdentification3#mmBankTransactionCode
* BillingServiceIdentification3.mmBankTransactionCode}
*
* {@linkplain com.tools20022.repository.msg.EntryTransaction8#mmBankTransactionCode
* EntryTransaction8.mmBankTransactionCode}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} = {@linkplain com.tools20022.repository.entity.Entry
* Entry}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "BankTransactionCode"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Type of underlying transaction resulting in the entry."
*
*/
public static final MMBusinessAssociationEnd mmBankTransactionCode = new MMBusinessAssociationEnd() {
{
derivation_lazy = () -> Arrays.asList(ReportEntry8.mmBankTransactionCode, BillingServiceIdentification3.mmBankTransactionCode, EntryTransaction8.mmBankTransactionCode);
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.Entry.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "BankTransactionCode";
definition = "Type of underlying transaction resulting in the entry.";
maxOccurs = 1;
minOccurs = 0;
opposite_lazy = () -> com.tools20022.repository.entity.BankTransaction.mmRelatedEntry;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.BankTransaction.mmObject();
}
};
protected YesNoIndicator commissionWaiverIndicator;
/**
* Indicates whether the transaction is exempt from commission or not.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.datatype.YesNoIndicator
* YesNoIndicator}
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation
* derivation} =
*
*
* {@linkplain com.tools20022.repository.msg.ReportEntry8#mmCommissionWaiverIndicator
* ReportEntry8.mmCommissionWaiverIndicator}
*
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} = {@linkplain com.tools20022.repository.entity.Entry
* Entry}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "CommissionWaiverIndicator"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Indicates whether the transaction is exempt from commission or not."
*
*/
public static final MMBusinessAttribute mmCommissionWaiverIndicator = new MMBusinessAttribute() {
{
derivation_lazy = () -> Arrays.asList(ReportEntry8.mmCommissionWaiverIndicator);
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.Entry.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "CommissionWaiverIndicator";
definition = "Indicates whether the transaction is exempt from commission or not.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> YesNoIndicator.mmObject();
}
public Method getGetterMethod() {
try {
return Entry.class.getMethod("getCommissionWaiverIndicator", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
protected List role;
/**
* Specifies the role played by a party or a system in the context of an
* entry in an account.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} = {@linkplain com.tools20022.repository.entity.Role#mmEntry
* Role.mmEntry}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.entity.Role Role}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} = {@linkplain com.tools20022.repository.entity.Entry
* Entry}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Role"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Specifies the role played by a party or a system in the context of an entry in an account."
*
*
*/
public static final MMBusinessAssociationEnd mmRole = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.Entry.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Role";
definition = "Specifies the role played by a party or a system in the context of an entry in an account.";
minOccurs = 0;
opposite_lazy = () -> com.tools20022.repository.entity.Role.mmEntry;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.Role.mmObject();
}
};
protected List account;
/**
* Posting of an item to an account, that results in an increase or a
* decrease to the balance of the account.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} = {@linkplain com.tools20022.repository.entity.Account#mmEntry
* Account.mmEntry}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.entity.Account Account}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} = {@linkplain com.tools20022.repository.entity.Entry
* Entry}
*
* {@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} =
* "Posting of an item to an account, that results in an increase or a decrease to the balance of the account."
*
*
*/
public static final MMBusinessAssociationEnd mmAccount = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.Entry.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Account";
definition = "Posting of an item to an account, that results in an increase or a decrease to the balance of the account.";
minOccurs = 0;
opposite_lazy = () -> com.tools20022.repository.entity.Account.mmEntry;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.Account.mmObject();
}
};
protected List balance;
/**
* Amount that is the result of the sum of the entries from or to an
* account.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite
* opposite} =
* {@linkplain com.tools20022.repository.entity.Balance#mmBalanceEntry
* Balance.mmBalanceEntry}
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation
* aggregation} = com.tools20022.metamodel.MMAggregation.NONE
*
* {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.entity.Balance Balance}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} = {@linkplain com.tools20022.repository.entity.Entry
* Entry}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Balance"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Amount that is the result of the sum of the entries from or to an account."
*
*
*/
public static final MMBusinessAssociationEnd mmBalance = new MMBusinessAssociationEnd() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.Entry.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Balance";
definition = "Amount that is the result of the sum of the entries from or to an account.";
minOccurs = 0;
opposite_lazy = () -> com.tools20022.repository.entity.Balance.mmBalanceEntry;
aggregation = MMAggregation.NONE;
type_lazy = () -> com.tools20022.repository.entity.Balance.mmObject();
}
};
protected EntryCode entryType;
/**
* Specifies the type of an entry in a report.
*
* Constant fields:
*
*
* {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType
* simpleType} = {@linkplain com.tools20022.repository.codeset.EntryCode
* EntryCode}
*
* {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext
* elementContext} = {@linkplain com.tools20022.repository.entity.Entry
* Entry}
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "EntryType"
*
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Specifies the type of an entry in a report."
*
*/
public static final MMBusinessAttribute mmEntryType = new MMBusinessAttribute() {
{
isDerived = false;
elementContext_lazy = () -> com.tools20022.repository.entity.Entry.mmObject();
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "EntryType";
definition = "Specifies the type of an entry in a report.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> EntryCode.mmObject();
}
public Method getGetterMethod() {
try {
return Entry.class.getMethod("getEntryType", new Class[]{});
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
};
static public MMBusinessComponent mmObject() {
mmObject_lazy.compareAndSet(null, new MMBusinessComponent() {
{
dataDictionary_lazy = () -> GeneratedRepository.mmdataDict;
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Entry";
definition = "Posting to an account that results in an increase or decrease to a balance.";
associationDomain_lazy = () -> Arrays.asList(com.tools20022.repository.entity.Role.mmEntry, com.tools20022.repository.entity.Account.mmEntry, com.tools20022.repository.entity.Balance.mmBalanceEntry,
com.tools20022.repository.entity.BankTransaction.mmRelatedEntry);
subType_lazy = () -> Arrays.asList(CashEntry.mmObject(), SecuritiesEntry.mmObject());
element_lazy = () -> Arrays.asList(com.tools20022.repository.entity.Entry.mmCreditDebitIndicator, com.tools20022.repository.entity.Entry.mmEntryDate, com.tools20022.repository.entity.Entry.mmIdentification,
com.tools20022.repository.entity.Entry.mmAccountOwnerTransactionIdentification, com.tools20022.repository.entity.Entry.mmAccountServicerTransactionIdentification,
com.tools20022.repository.entity.Entry.mmReversalIndicator, com.tools20022.repository.entity.Entry.mmValueDate, com.tools20022.repository.entity.Entry.mmBankTransactionCode,
com.tools20022.repository.entity.Entry.mmCommissionWaiverIndicator, com.tools20022.repository.entity.Entry.mmRole, com.tools20022.repository.entity.Entry.mmAccount, com.tools20022.repository.entity.Entry.mmBalance,
com.tools20022.repository.entity.Entry.mmEntryType);
derivationComponent_lazy = () -> Arrays.asList(UnderlyingStatementEntry1.mmObject(), EntryTransaction8.mmObject());
}
@Override
public Class getInstanceClass() {
return Entry.class;
}
});
return mmObject_lazy.get();
}
public DebitCreditCode getCreditDebitIndicator() {
return creditDebitIndicator;
}
public void setCreditDebitIndicator(DebitCreditCode creditDebitIndicator) {
this.creditDebitIndicator = creditDebitIndicator;
}
public ISODateTime getEntryDate() {
return entryDate;
}
public void setEntryDate(ISODateTime entryDate) {
this.entryDate = entryDate;
}
public Max35Text getIdentification() {
return identification;
}
public void setIdentification(Max35Text identification) {
this.identification = identification;
}
public Max35Text getAccountOwnerTransactionIdentification() {
return accountOwnerTransactionIdentification;
}
public void setAccountOwnerTransactionIdentification(Max35Text accountOwnerTransactionIdentification) {
this.accountOwnerTransactionIdentification = accountOwnerTransactionIdentification;
}
public Max35Text getAccountServicerTransactionIdentification() {
return accountServicerTransactionIdentification;
}
public void setAccountServicerTransactionIdentification(Max35Text accountServicerTransactionIdentification) {
this.accountServicerTransactionIdentification = accountServicerTransactionIdentification;
}
public TrueFalseIndicator getReversalIndicator() {
return reversalIndicator;
}
public void setReversalIndicator(TrueFalseIndicator reversalIndicator) {
this.reversalIndicator = reversalIndicator;
}
public ISODateTime getValueDate() {
return valueDate;
}
public void setValueDate(ISODateTime valueDate) {
this.valueDate = valueDate;
}
public BankTransaction getBankTransactionCode() {
return bankTransactionCode;
}
public void setBankTransactionCode(com.tools20022.repository.entity.BankTransaction bankTransactionCode) {
this.bankTransactionCode = bankTransactionCode;
}
public YesNoIndicator getCommissionWaiverIndicator() {
return commissionWaiverIndicator;
}
public void setCommissionWaiverIndicator(YesNoIndicator commissionWaiverIndicator) {
this.commissionWaiverIndicator = commissionWaiverIndicator;
}
public List getRole() {
return role;
}
public void setRole(List role) {
this.role = role;
}
public List getAccount() {
return account;
}
public void setAccount(List account) {
this.account = account;
}
public List getBalance() {
return balance;
}
public void setBalance(List balance) {
this.balance = balance;
}
public EntryCode getEntryType() {
return entryType;
}
public void setEntryType(EntryCode entryType) {
this.entryType = entryType;
}
}