com.tools20022.repository.msg.TaxRecord1 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
/* 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.MMMessageAttribute;
import com.tools20022.metamodel.MMMessageComponent;
import com.tools20022.metamodel.MMRegistrationStatus;
import com.tools20022.repository.datatype.Max140Text;
import com.tools20022.repository.datatype.Max35Text;
import com.tools20022.repository.entity.Tax;
import com.tools20022.repository.entity.TaxRecord;
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;
/**
* Set of elements used to define the tax record.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageElementContainer#getMessageElement
* messageElement} =
*
* - {@linkplain com.tools20022.repository.msg.TaxRecord1#mmType
* TaxRecord1.mmType}
* - {@linkplain com.tools20022.repository.msg.TaxRecord1#mmCategory
* TaxRecord1.mmCategory}
* - {@linkplain com.tools20022.repository.msg.TaxRecord1#mmCategoryDetails
* TaxRecord1.mmCategoryDetails}
* - {@linkplain com.tools20022.repository.msg.TaxRecord1#mmDebtorStatus
* TaxRecord1.mmDebtorStatus}
* -
* {@linkplain com.tools20022.repository.msg.TaxRecord1#mmCertificateIdentification
* TaxRecord1.mmCertificateIdentification}
* - {@linkplain com.tools20022.repository.msg.TaxRecord1#mmFormsCode
* TaxRecord1.mmFormsCode}
* - {@linkplain com.tools20022.repository.msg.TaxRecord1#mmPeriod
* TaxRecord1.mmPeriod}
* - {@linkplain com.tools20022.repository.msg.TaxRecord1#mmTaxAmount
* TaxRecord1.mmTaxAmount}
* -
* {@linkplain com.tools20022.repository.msg.TaxRecord1#mmAdditionalInformation
* TaxRecord1.mmAdditionalInformation}
*
*
* - {@linkplain com.tools20022.metamodel.MMMessageComponentType#getTrace
* trace} = {@linkplain com.tools20022.repository.entity.TaxRecord TaxRecord}
* -
* {@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} =
* "TaxRecord1"
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Set of elements used to define the tax record."
*
*/
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlType(name = "TaxRecord1", propOrder = {"type", "category", "categoryDetails", "debtorStatus", "certificateIdentification", "formsCode", "period", "taxAmount", "additionalInformation"})
public class TaxRecord1 {
final static private AtomicReference mmObject_lazy = new AtomicReference<>();
protected Max35Text type;
/**
* High level code to identify the type of tax details.
*
* 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.TaxRecord#mmTaxRecordType
* TaxRecord.mmTaxRecordType}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} = {@linkplain com.tools20022.repository.msg.TaxRecord1
* TaxRecord1}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "Tp"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Type"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "High level code to identify the type of tax details."
*
*/
public static final MMMessageAttribute mmType = new MMMessageAttribute() {
{
businessElementTrace_lazy = () -> TaxRecord.mmTaxRecordType;
componentContext_lazy = () -> TaxRecord1.mmObject();
isDerived = false;
xmlTag = "Tp";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "Type";
definition = "High level code to identify the type of tax details.";
maxOccurs = 1;
minOccurs = 0;
simpleType_lazy = () -> Max35Text.mmObject();
}
};
protected Max35Text category;
/**
* Specifies the tax code as published by the tax authority.
*
* 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.TaxRecord#mmCategory
* TaxRecord.mmCategory}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} = {@linkplain com.tools20022.repository.msg.TaxRecord1
* TaxRecord1}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "Ctgy"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Category"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Specifies the tax code as published by the tax authority."
*
*
*/
public static final MMMessageAttribute mmCategory = new MMMessageAttribute() {
{
businessElementTrace_lazy = () -> TaxRecord.mmCategory;
componentContext_lazy = () -> TaxRecord1.mmObject();
isDerived = false;
xmlTag = "Ctgy";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "Category";
definition = "Specifies the tax code as published by the tax authority.";
maxOccurs = 1;
minOccurs = 0;
simpleType_lazy = () -> Max35Text.mmObject();
}
};
protected Max35Text categoryDetails;
/**
* Provides further details of the category tax code.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType
* simpleType} = {@linkplain com.tools20022.repository.datatype.Max35Text
* Max35Text}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} = {@linkplain com.tools20022.repository.msg.TaxRecord1
* TaxRecord1}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "CtgyDtls"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "CategoryDetails"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Provides further details of the category tax code."
*
*/
public static final MMMessageAttribute mmCategoryDetails = new MMMessageAttribute() {
{
componentContext_lazy = () -> TaxRecord1.mmObject();
isDerived = false;
xmlTag = "CtgyDtls";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "CategoryDetails";
definition = "Provides further details of the category tax code.";
maxOccurs = 1;
minOccurs = 0;
simpleType_lazy = () -> Max35Text.mmObject();
}
};
protected Max35Text debtorStatus;
/**
* Code provided by local authority to identify the status of the party that
* has drawn up the settlement document.
*
* 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.TaxRecord#mmStatus
* TaxRecord.mmStatus}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} = {@linkplain com.tools20022.repository.msg.TaxRecord1
* TaxRecord1}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "DbtrSts"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "DebtorStatus"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Code provided by local authority to identify the status of the party that has drawn up the settlement document."
*
*
*/
public static final MMMessageAttribute mmDebtorStatus = new MMMessageAttribute() {
{
businessElementTrace_lazy = () -> TaxRecord.mmStatus;
componentContext_lazy = () -> TaxRecord1.mmObject();
isDerived = false;
xmlTag = "DbtrSts";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "DebtorStatus";
definition = "Code provided by local authority to identify the status of the party that has drawn up the settlement document.";
maxOccurs = 1;
minOccurs = 0;
simpleType_lazy = () -> Max35Text.mmObject();
}
};
protected Max35Text certificateIdentification;
/**
* Identification number of the tax report as assigned by the taxing
* authority.
*
* 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.Tax#mmCertificateIdentification
* Tax.mmCertificateIdentification}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} = {@linkplain com.tools20022.repository.msg.TaxRecord1
* TaxRecord1}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "CertId"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "CertificateIdentification"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Identification number of the tax report as assigned by the taxing authority."
*
*
*/
public static final MMMessageAttribute mmCertificateIdentification = new MMMessageAttribute() {
{
businessElementTrace_lazy = () -> Tax.mmCertificateIdentification;
componentContext_lazy = () -> TaxRecord1.mmObject();
isDerived = false;
xmlTag = "CertId";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "CertificateIdentification";
definition = "Identification number of the tax report as assigned by the taxing authority.";
maxOccurs = 1;
minOccurs = 0;
simpleType_lazy = () -> Max35Text.mmObject();
}
};
protected Max35Text formsCode;
/**
* Identifies, in a coded form, on which template the tax report is to be
* provided.
*
* 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.TaxRecord#mmFormsCode
* TaxRecord.mmFormsCode}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} = {@linkplain com.tools20022.repository.msg.TaxRecord1
* TaxRecord1}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "FrmsCd"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "FormsCode"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Identifies, in a coded form, on which template the tax report is to be provided."
*
*
*/
public static final MMMessageAttribute mmFormsCode = new MMMessageAttribute() {
{
businessElementTrace_lazy = () -> TaxRecord.mmFormsCode;
componentContext_lazy = () -> TaxRecord1.mmObject();
isDerived = false;
xmlTag = "FrmsCd";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "FormsCode";
definition = "Identifies, in a coded form, on which template the tax report is to be provided.";
maxOccurs = 1;
minOccurs = 0;
simpleType_lazy = () -> Max35Text.mmObject();
}
};
protected TaxPeriod1 period;
/**
* Set of elements used to provide details on the period of time related to
* the tax payment.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.msg.TaxPeriod1 TaxPeriod1}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace
* businessElementTrace} =
* {@linkplain com.tools20022.repository.entity.TaxRecord#mmPeriod
* TaxRecord.mmPeriod}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} = {@linkplain com.tools20022.repository.msg.TaxRecord1
* TaxRecord1}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "Prd"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Period"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Set of elements used to provide details on the period of time related to the tax payment."
*
*
*/
public static final MMMessageAssociationEnd mmPeriod = new MMMessageAssociationEnd() {
{
businessElementTrace_lazy = () -> TaxRecord.mmPeriod;
componentContext_lazy = () -> TaxRecord1.mmObject();
isDerived = false;
xmlTag = "Prd";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "Period";
definition = "Set of elements used to provide details on the period of time related to the tax payment.";
maxOccurs = 1;
minOccurs = 0;
isComposite = true;
type_lazy = () -> com.tools20022.repository.msg.TaxPeriod1.mmObject();
}
};
protected TaxAmount1 taxAmount;
/**
* Set of elements used to provide information on the amount of the tax
* record.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.msg.TaxAmount1 TaxAmount1}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace
* businessElementTrace} =
* {@linkplain com.tools20022.repository.entity.TaxRecord#mmTax
* TaxRecord.mmTax}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} = {@linkplain com.tools20022.repository.msg.TaxRecord1
* TaxRecord1}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "TaxAmt"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "TaxAmount"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Set of elements used to provide information on the amount of the tax record."
*
*
*/
public static final MMMessageAssociationEnd mmTaxAmount = new MMMessageAssociationEnd() {
{
businessElementTrace_lazy = () -> TaxRecord.mmTax;
componentContext_lazy = () -> TaxRecord1.mmObject();
isDerived = false;
xmlTag = "TaxAmt";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "TaxAmount";
definition = "Set of elements used to provide information on the amount of the tax record.";
maxOccurs = 1;
minOccurs = 0;
isComposite = true;
type_lazy = () -> com.tools20022.repository.msg.TaxAmount1.mmObject();
}
};
protected Max140Text additionalInformation;
/**
* Further details of the tax record.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType
* simpleType} = {@linkplain com.tools20022.repository.datatype.Max140Text
* Max140Text}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} = {@linkplain com.tools20022.repository.msg.TaxRecord1
* TaxRecord1}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "AddtlInf"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "AdditionalInformation"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Further details of the tax record."
*
*/
public static final MMMessageAttribute mmAdditionalInformation = new MMMessageAttribute() {
{
componentContext_lazy = () -> TaxRecord1.mmObject();
isDerived = false;
xmlTag = "AddtlInf";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "AdditionalInformation";
definition = "Further details of the tax record.";
maxOccurs = 1;
minOccurs = 0;
simpleType_lazy = () -> Max140Text.mmObject();
}
};
final static public MMMessageComponent mmObject() {
mmObject_lazy.compareAndSet(null, new MMMessageComponent() {
{
messageElement_lazy = () -> Arrays.asList(TaxRecord1.mmType, TaxRecord1.mmCategory, TaxRecord1.mmCategoryDetails, TaxRecord1.mmDebtorStatus, TaxRecord1.mmCertificateIdentification, TaxRecord1.mmFormsCode,
TaxRecord1.mmPeriod, TaxRecord1.mmTaxAmount, TaxRecord1.mmAdditionalInformation);
trace_lazy = () -> TaxRecord.mmObject();
dataDictionary_lazy = () -> GeneratedRepository.mmdataDict;
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "TaxRecord1";
definition = "Set of elements used to define the tax record.";
}
});
return mmObject_lazy.get();
}
@XmlElement(name = "Tp")
public Max35Text getType() {
return type;
}
public void setType(Max35Text type) {
this.type = type;
}
@XmlElement(name = "Ctgy")
public Max35Text getCategory() {
return category;
}
public void setCategory(Max35Text category) {
this.category = category;
}
@XmlElement(name = "CtgyDtls")
public Max35Text getCategoryDetails() {
return categoryDetails;
}
public void setCategoryDetails(Max35Text categoryDetails) {
this.categoryDetails = categoryDetails;
}
@XmlElement(name = "DbtrSts")
public Max35Text getDebtorStatus() {
return debtorStatus;
}
public void setDebtorStatus(Max35Text debtorStatus) {
this.debtorStatus = debtorStatus;
}
@XmlElement(name = "CertId")
public Max35Text getCertificateIdentification() {
return certificateIdentification;
}
public void setCertificateIdentification(Max35Text certificateIdentification) {
this.certificateIdentification = certificateIdentification;
}
@XmlElement(name = "FrmsCd")
public Max35Text getFormsCode() {
return formsCode;
}
public void setFormsCode(Max35Text formsCode) {
this.formsCode = formsCode;
}
@XmlElement(name = "Prd")
public TaxPeriod1 getPeriod() {
return period;
}
public void setPeriod(com.tools20022.repository.msg.TaxPeriod1 period) {
this.period = period;
}
@XmlElement(name = "TaxAmt")
public TaxAmount1 getTaxAmount() {
return taxAmount;
}
public void setTaxAmount(com.tools20022.repository.msg.TaxAmount1 taxAmount) {
this.taxAmount = taxAmount;
}
@XmlElement(name = "AddtlInf")
public Max140Text getAdditionalInformation() {
return additionalInformation;
}
public void setAdditionalInformation(Max140Text additionalInformation) {
this.additionalInformation = additionalInformation;
}
}