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