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

com.tools20022.repository.area.camt.DuplicateV04 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.area.camt;

import com.tools20022.metamodel.MMMessageBuildingBlock;
import com.tools20022.metamodel.MMMessageDefinition;
import com.tools20022.metamodel.MMMessageDefinitionIdentifier;
import com.tools20022.metamodel.MMRegistrationStatus;
import com.tools20022.repository.area.CashManagementLatestVersion;
import com.tools20022.repository.msg.Case3;
import com.tools20022.repository.msg.CaseAssignment3;
import com.tools20022.repository.msg.ProprietaryData4;
import com.tools20022.repository.msg.SupplementaryData1;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
import java.util.List;
import javax.xml.bind.annotation.*;

/**
 * Scope
* The Duplicate message is used by financial institutions, with their own * offices, and/or with other financial institutions with which they have * established bilateral agreements. It allows to exchange duplicate payment * instructions.
* Usage
* This message must be sent in response to a Request For Duplicate message.
* The Duplicate Data element must contain a well formed XML document. This * means XML special characters such as '<' must be used in a way that is * consistent with XML well-formedness criteria. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageDefinition#getMessageBuildingBlock * messageBuildingBlock} = *
      *
    • * {@linkplain com.tools20022.repository.area.camt.DuplicateV04#mmAssignment * DuplicateV04.mmAssignment}
    • *
    • {@linkplain com.tools20022.repository.area.camt.DuplicateV04#mmCase * DuplicateV04.mmCase}
    • *
    • {@linkplain com.tools20022.repository.area.camt.DuplicateV04#mmDuplicate * DuplicateV04.mmDuplicate}
    • *
    • * {@linkplain com.tools20022.repository.area.camt.DuplicateV04#mmSupplementaryData * DuplicateV04.mmSupplementaryData}
    • *
    *
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageDefinition#getRootElement * rootElement} = "Document"
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageDefinition#getXmlTag * xmlTag} = "Dplct"
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageDefinition#getBusinessArea * businessArea} = * {@linkplain com.tools20022.repository.area.CashManagementLatestVersion * CashManagementLatestVersion}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageDefinition#getMessageDefinitionIdentifier * messageDefinitionIdentifier} = {@code camt.034.001.04}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName name} = * "DuplicateV04"
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Scope\r\nThe Duplicate message is used by financial institutions, with their own offices, and/or with other financial institutions with which they have established bilateral agreements. It allows to exchange duplicate payment instructions.\r\nUsage\r\nThis message must be sent in response to a Request For Duplicate message.\r\nThe Duplicate Data element must contain a well formed XML document. This means XML special characters such as '<' must be used in a way that is consistent with XML well-formedness criteria.\r" *
  • *
*/ @XmlAccessorType(XmlAccessType.PROPERTY) @XmlType(name = "DuplicateV04", propOrder = {"assignment", "case", "duplicate", "supplementaryData"}) public class DuplicateV04 { final static private AtomicReference mmObject_lazy = new AtomicReference<>(); protected CaseAssignment3 assignment; /** * Identifies the assignment of an investigation case from an assigner to an * assignee. Usage: The Assigner must be the sender of this confirmation and * the Assignee must be the receiver. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageBuildingBlock#getComplexType * complexType} = {@linkplain com.tools20022.repository.msg.CaseAssignment3 * CaseAssignment3}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Assgnmt"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Assignment"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Identifies the assignment of an investigation case from an assigner to an assignee.\nUsage: The Assigner must be the sender of this confirmation and the Assignee must be the receiver." *
  • *
*/ public static final MMMessageBuildingBlock mmAssignment = new MMMessageBuildingBlock() { { xmlTag = "Assgnmt"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Assignment"; definition = "Identifies the assignment of an investigation case from an assigner to an assignee.\nUsage: The Assigner must be the sender of this confirmation and the Assignee must be the receiver."; maxOccurs = 1; minOccurs = 1; complexType_lazy = () -> CaseAssignment3.mmObject(); } public Method getGetterMethod() { try { return DuplicateV04.class.getMethod("getAssignment", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected Case3 case_; /** * Identifies the investigation case. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageBuildingBlock#getComplexType * complexType} = {@linkplain com.tools20022.repository.msg.Case3 Case3}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Case"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Case"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Identifies the investigation case."
  • *
*/ public static final MMMessageBuildingBlock mmCase = new MMMessageBuildingBlock() { { xmlTag = "Case"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Case"; definition = "Identifies the investigation case."; maxOccurs = 1; minOccurs = 1; complexType_lazy = () -> Case3.mmObject(); } public Method getGetterMethod() { try { return DuplicateV04.class.getMethod("getCase", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected ProprietaryData4 duplicate; /** * Duplicate of a previously sent message. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageBuildingBlock#getComplexType * complexType} = * {@linkplain com.tools20022.repository.msg.ProprietaryData4 * ProprietaryData4}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Dplct"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Duplicate"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Duplicate of a previously sent message."
  • *
*/ public static final MMMessageBuildingBlock mmDuplicate = new MMMessageBuildingBlock() { { xmlTag = "Dplct"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Duplicate"; definition = "Duplicate of a previously sent message."; maxOccurs = 1; minOccurs = 1; complexType_lazy = () -> ProprietaryData4.mmObject(); } public Method getGetterMethod() { try { return DuplicateV04.class.getMethod("getDuplicate", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; protected List supplementaryData; /** * Additional information that cannot be captured in the structured elements * and/or any other specific block. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageBuildingBlock#getComplexType * complexType} = * {@linkplain com.tools20022.repository.msg.SupplementaryData1 * SupplementaryData1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "SplmtryData"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "SupplementaryData"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Additional information that cannot be captured in the structured elements and/or any other specific block." *
  • *
*/ public static final MMMessageBuildingBlock mmSupplementaryData = new MMMessageBuildingBlock() { { xmlTag = "SplmtryData"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "SupplementaryData"; definition = "Additional information that cannot be captured in the structured elements and/or any other specific block."; minOccurs = 0; complexType_lazy = () -> SupplementaryData1.mmObject(); } public Method getGetterMethod() { try { return DuplicateV04.class.getMethod("getSupplementaryData", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; final static public MMMessageDefinition mmObject() { mmObject_lazy.compareAndSet(null, new MMMessageDefinition() { { registrationStatus = MMRegistrationStatus.REGISTERED; name = "DuplicateV04"; definition = "Scope\r\nThe Duplicate message is used by financial institutions, with their own offices, and/or with other financial institutions with which they have established bilateral agreements. It allows to exchange duplicate payment instructions.\r\nUsage\r\nThis message must be sent in response to a Request For Duplicate message.\r\nThe Duplicate Data element must contain a well formed XML document. This means XML special characters such as '<' must be used in a way that is consistent with XML well-formedness criteria.\r"; rootElement = "Document"; xmlTag = "Dplct"; businessArea_lazy = () -> CashManagementLatestVersion.mmObject(); messageBuildingBlock_lazy = () -> Arrays.asList(com.tools20022.repository.area.camt.DuplicateV04.mmAssignment, com.tools20022.repository.area.camt.DuplicateV04.mmCase, com.tools20022.repository.area.camt.DuplicateV04.mmDuplicate, com.tools20022.repository.area.camt.DuplicateV04.mmSupplementaryData); messageDefinitionIdentifier_lazy = () -> new MMMessageDefinitionIdentifier() { { businessArea = "camt"; messageFunctionality = "034"; version = "04"; flavour = "001"; } }; } @Override public Class getInstanceClass() { return DuplicateV04.class; } }); return mmObject_lazy.get(); } @XmlElement(name = "Assgnmt", required = true) public CaseAssignment3 getAssignment() { return assignment; } public void setAssignment(CaseAssignment3 assignment) { this.assignment = assignment; } @XmlElement(name = "Case", required = true) public Case3 getCase() { return case_; } public void setCase(Case3 case_) { this.case_ = case_; } @XmlElement(name = "Dplct", required = true) public ProprietaryData4 getDuplicate() { return duplicate; } public void setDuplicate(ProprietaryData4 duplicate) { this.duplicate = duplicate; } @XmlElement(name = "SplmtryData") public List getSupplementaryData() { return supplementaryData; } public void setSupplementaryData(List supplementaryData) { this.supplementaryData = supplementaryData; } @XmlRootElement(namespace = "urn:iso:std:iso:20022:tech:xsd:camt.034.04.04") static public class Document { @XmlElement(name = "Dplct", required = true) public DuplicateV04 messageBody; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy