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

com.tools20022.repository.choice.Purpose2Choice Maven / Gradle / Ivy

The newest version!
/* Tools20022 - API for ISO 20022
* Copyright (C) 2017 Tools20022.com - László Bukodi 
* 
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* 
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
* 
* You should have received a copy of the GNU General Public License
* along with this program.  If not, see .
*/

package com.tools20022.repository.choice;

import com.tools20022.metamodel.MMChoiceComponent;
import com.tools20022.metamodel.MMMessageAttribute;
import com.tools20022.metamodel.MMRegistrationStatus;
import com.tools20022.repository.codeset.ExternalPurpose1Code;
import com.tools20022.repository.datatype.Max35Text;
import com.tools20022.repository.entity.PaymentObligation;
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;

/**
 * Specifies the underlying reason for the payment transaction. Usage: Purpose
 * is used by the end-customers, that is initiating party, (ultimate) debtor,
 * (ultimate) creditor to provide information concerning the nature of the
 * payment. Purpose is a content element, which is not used for processing by
 * any of the agents involved in the payment chain.
 * 

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageElementContainer#getMessageElement * messageElement} = *
      *
    • {@linkplain com.tools20022.repository.choice.Purpose2Choice#mmCode * Purpose2Choice.mmCode}
    • *
    • * {@linkplain com.tools20022.repository.choice.Purpose2Choice#mmProprietary * Purpose2Choice.mmProprietary}
    • *
    *
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageComponentType#getTrace * trace} = {@linkplain com.tools20022.repository.entity.PaymentObligation * PaymentObligation}
  • *
  • * {@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} = * "Purpose2Choice"
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Specifies the underlying reason for the payment transaction.\nUsage: Purpose is used by the end-customers, that is initiating party, (ultimate) debtor, (ultimate) creditor to provide information concerning the nature of the payment. Purpose is a content element, which is not used for processing by any of the agents involved in the payment chain." *
  • *
*/ @XmlAccessorType(XmlAccessType.PROPERTY) @XmlType(name = "Purpose2Choice", propOrder = {"code", "proprietary"}) public class Purpose2Choice { final static private AtomicReference mmObject_lazy = new AtomicReference<>(); protected ExternalPurpose1Code code; /** * Underlying reason for the payment transaction, as published in an * external purpose code list. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.codeset.ExternalPurpose1Code * ExternalPurpose1Code}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.PaymentObligation#mmPurpose * PaymentObligation.mmPurpose}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.choice.Purpose2Choice * Purpose2Choice}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Cd"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Code"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Underlying reason for the payment transaction, as published in an external purpose code list." *
  • *
*/ public static final MMMessageAttribute mmCode = new MMMessageAttribute() { { businessElementTrace_lazy = () -> PaymentObligation.mmPurpose; componentContext_lazy = () -> Purpose2Choice.mmObject(); isDerived = false; xmlTag = "Cd"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Code"; definition = "Underlying reason for the payment transaction, as published in an external purpose code list."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> ExternalPurpose1Code.mmObject(); } }; protected Max35Text proprietary; /** * Purpose, in a proprietary form. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = {@linkplain com.tools20022.repository.datatype.Max35Text * Max35Text}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.PaymentObligation#mmPurpose * PaymentObligation.mmPurpose}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.choice.Purpose2Choice * Purpose2Choice}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Prtry"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Proprietary"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Purpose, in a proprietary form."
  • *
*/ public static final MMMessageAttribute mmProprietary = new MMMessageAttribute() { { businessElementTrace_lazy = () -> PaymentObligation.mmPurpose; componentContext_lazy = () -> Purpose2Choice.mmObject(); isDerived = false; xmlTag = "Prtry"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Proprietary"; definition = "Purpose, in a proprietary form."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> Max35Text.mmObject(); } }; final static public MMChoiceComponent mmObject() { mmObject_lazy.compareAndSet(null, new MMChoiceComponent() { { messageElement_lazy = () -> Arrays.asList(Purpose2Choice.mmCode, Purpose2Choice.mmProprietary); trace_lazy = () -> PaymentObligation.mmObject(); dataDictionary_lazy = () -> GeneratedRepository.mmdataDict; registrationStatus = MMRegistrationStatus.REGISTERED; name = "Purpose2Choice"; definition = "Specifies the underlying reason for the payment transaction.\nUsage: Purpose is used by the end-customers, that is initiating party, (ultimate) debtor, (ultimate) creditor to provide information concerning the nature of the payment. Purpose is a content element, which is not used for processing by any of the agents involved in the payment chain."; } }); return mmObject_lazy.get(); } @XmlElement(name = "Cd", required = true) public ExternalPurpose1Code getCode() { return code; } public void setCode(ExternalPurpose1Code code) { this.code = code; } @XmlElement(name = "Prtry", required = true) public Max35Text getProprietary() { return proprietary; } public void setProprietary(Max35Text proprietary) { this.proprietary = proprietary; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy