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

com.tools20022.repository.msg.TaxRecord1 Maven / Gradle / Ivy

There is a newer version: 0.1.2
Show 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.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; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy