com.tools20022.repository.msg.CardTransaction2 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tools20022-api-payments Show documentation
Show all versions of tools20022-api-payments Show documentation
Java API for ISO 20022 - Payments business domain
The newest version!
/* Tools20022 - API for ISO 20022
* Copyright (C) 2017 Tools20022.com - László Bukodi
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
package com.tools20022.repository.msg;
import com.tools20022.metamodel.MMMessageAssociationEnd;
import com.tools20022.metamodel.MMMessageComponent;
import com.tools20022.metamodel.MMRegistrationStatus;
import com.tools20022.repository.choice.CardTransaction2Choice;
import com.tools20022.repository.entity.CardPayment;
import com.tools20022.repository.entity.CardPaymentAcquiring;
import com.tools20022.repository.entity.PaymentCard;
import com.tools20022.repository.GeneratedRepository;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
* Card transaction details.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageElementContainer#getMessageElement
* messageElement} =
*
* - {@linkplain com.tools20022.repository.msg.CardTransaction2#mmCard
* CardTransaction2.mmCard}
* - {@linkplain com.tools20022.repository.msg.CardTransaction2#mmPOI
* CardTransaction2.mmPOI}
* - {@linkplain com.tools20022.repository.msg.CardTransaction2#mmTransaction
* CardTransaction2.mmTransaction}
* -
* {@linkplain com.tools20022.repository.msg.CardTransaction2#mmPrePaidAccount
* CardTransaction2.mmPrePaidAccount}
*
*
* - {@linkplain com.tools20022.metamodel.MMMessageComponentType#getTrace
* trace} = {@linkplain com.tools20022.repository.entity.CardPayment
* CardPayment}
* -
* {@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} =
* "CardTransaction2"
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Card transaction details."
*
*/
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlType(name = "CardTransaction2", propOrder = {"card", "POI", "transaction", "prePaidAccount"})
public class CardTransaction2 {
final static private AtomicReference mmObject_lazy = new AtomicReference<>();
protected PaymentCard4 card;
/**
* Electronic money product that provides the cardholder with a portable and
* specialised computer device, which typically contains a microprocessor.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.msg.PaymentCard4
* PaymentCard4}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace
* businessElementTrace} =
* {@linkplain com.tools20022.repository.entity.CardPayment#mmPaymentCard
* CardPayment.mmPaymentCard}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.CardTransaction2
* CardTransaction2}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "Card"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Card"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Electronic money product that provides the cardholder with a portable and specialised computer device, which typically contains a microprocessor."
*
*
*/
public static final MMMessageAssociationEnd mmCard = new MMMessageAssociationEnd() {
{
businessElementTrace_lazy = () -> CardPayment.mmPaymentCard;
componentContext_lazy = () -> CardTransaction2.mmObject();
isDerived = false;
xmlTag = "Card";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "Card";
definition = "Electronic money product that provides the cardholder with a portable and specialised computer device, which typically contains a microprocessor.";
maxOccurs = 1;
minOccurs = 0;
isComposite = true;
type_lazy = () -> com.tools20022.repository.msg.PaymentCard4.mmObject();
}
};
protected PointOfInteraction1 pOI;
/**
* Physical or logical card payment terminal containing software and
* hardware components.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.msg.PointOfInteraction1
* PointOfInteraction1}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace
* businessElementTrace} =
* {@linkplain com.tools20022.repository.entity.CardPaymentAcquiring#mmPointOfInteraction
* CardPaymentAcquiring.mmPointOfInteraction}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.CardTransaction2
* CardTransaction2}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "POI"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "POI"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Physical or logical card payment terminal containing software and hardware components."
*
*
*/
public static final MMMessageAssociationEnd mmPOI = new MMMessageAssociationEnd() {
{
businessElementTrace_lazy = () -> CardPaymentAcquiring.mmPointOfInteraction;
componentContext_lazy = () -> CardTransaction2.mmObject();
isDerived = false;
xmlTag = "POI";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "POI";
definition = "Physical or logical card payment terminal containing software and hardware components.";
maxOccurs = 1;
minOccurs = 0;
isComposite = true;
type_lazy = () -> com.tools20022.repository.msg.PointOfInteraction1.mmObject();
}
};
protected CardTransaction2Choice transaction;
/**
* Card transaction details, which can be either globalised by the acquirer
* or individual transaction.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType
* type} =
* {@linkplain com.tools20022.repository.choice.CardTransaction2Choice
* CardTransaction2Choice}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessComponentTrace
* businessComponentTrace} =
* {@linkplain com.tools20022.repository.entity.CardPayment CardPayment}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.CardTransaction2
* CardTransaction2}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "Tx"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Transaction"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Card transaction details, which can be either globalised by the acquirer or individual transaction."
*
*
*/
public static final MMMessageAssociationEnd mmTransaction = new MMMessageAssociationEnd() {
{
businessComponentTrace_lazy = () -> CardPayment.mmObject();
componentContext_lazy = () -> CardTransaction2.mmObject();
isDerived = false;
xmlTag = "Tx";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "Transaction";
definition = "Card transaction details, which can be either globalised by the acquirer or individual transaction.";
maxOccurs = 1;
minOccurs = 0;
isComposite = true;
type_lazy = () -> CardTransaction2Choice.mmObject();
}
};
protected CashAccount24 prePaidAccount;
/**
* Prepaid account for the transfer or loading of an amount of money.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.msg.CashAccount24
* CashAccount24}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace
* businessElementTrace} =
* {@linkplain com.tools20022.repository.entity.PaymentCard#mmRelatedAccount
* PaymentCard.mmRelatedAccount}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.CardTransaction2
* CardTransaction2}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "PrePdAcct"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "PrePaidAccount"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Prepaid account for the transfer or loading of an amount of money."
*
*/
public static final MMMessageAssociationEnd mmPrePaidAccount = new MMMessageAssociationEnd() {
{
businessElementTrace_lazy = () -> PaymentCard.mmRelatedAccount;
componentContext_lazy = () -> CardTransaction2.mmObject();
isDerived = false;
xmlTag = "PrePdAcct";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "PrePaidAccount";
definition = "Prepaid account for the transfer or loading of an amount of money.";
maxOccurs = 1;
minOccurs = 0;
isComposite = true;
type_lazy = () -> com.tools20022.repository.msg.CashAccount24.mmObject();
}
};
final static public MMMessageComponent mmObject() {
mmObject_lazy.compareAndSet(null, new MMMessageComponent() {
{
messageElement_lazy = () -> Arrays.asList(CardTransaction2.mmCard, CardTransaction2.mmPOI, CardTransaction2.mmTransaction, CardTransaction2.mmPrePaidAccount);
trace_lazy = () -> CardPayment.mmObject();
dataDictionary_lazy = () -> GeneratedRepository.mmdataDict;
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "CardTransaction2";
definition = "Card transaction details.";
}
});
return mmObject_lazy.get();
}
@XmlElement(name = "Card")
public PaymentCard4 getCard() {
return card;
}
public void setCard(com.tools20022.repository.msg.PaymentCard4 card) {
this.card = card;
}
@XmlElement(name = "POI")
public PointOfInteraction1 getPOI() {
return pOI;
}
public void setPOI(com.tools20022.repository.msg.PointOfInteraction1 pOI) {
this.pOI = pOI;
}
@XmlElement(name = "Tx")
public CardTransaction2Choice getTransaction() {
return transaction;
}
public void setTransaction(CardTransaction2Choice transaction) {
this.transaction = transaction;
}
@XmlElement(name = "PrePdAcct")
public CashAccount24 getPrePaidAccount() {
return prePaidAccount;
}
public void setPrePaidAccount(com.tools20022.repository.msg.CashAccount24 prePaidAccount) {
this.prePaidAccount = prePaidAccount;
}
}