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

com.tools20022.repository.entity.TaxPartyRole 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.entity;

import com.tools20022.metamodel.*;
import com.tools20022.repository.datatype.Max35Text;
import com.tools20022.repository.entity.Role;
import com.tools20022.repository.GeneratedRepository;
import com.tools20022.repository.msg.*;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
import java.util.List;

/**
 * Role played by a party in the context of a tax due.
 * 

* Class diagram *

* *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMBusinessComponent#getSuperType * superType} = {@linkplain com.tools20022.repository.entity.Role Role}
  • *
  • {@linkplain com.tools20022.metamodel.MMBusinessComponent#getElement * element} = *
      *
    • {@linkplain com.tools20022.repository.entity.TaxPartyRole#mmTax * TaxPartyRole.mmTax}
    • *
    • * {@linkplain com.tools20022.repository.entity.TaxPartyRole#mmVATRegistrationNumber * TaxPartyRole.mmVATRegistrationNumber}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessComponent#getAssociationDomain * associationDomain} = *
      *
    • {@linkplain com.tools20022.repository.entity.Tax#mmPartyRole * Tax.mmPartyRole}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessComponent#getDerivationElement * derivationElement} = *
      *
    • {@linkplain com.tools20022.repository.msg.TaxParty2#mmAuthorisation * TaxParty2.mmAuthorisation}
    • *
    • {@linkplain com.tools20022.repository.msg.TradeParty2#mmTaxParty * TradeParty2.mmTaxParty}
    • *
    *
  • *
  • {@linkplain com.tools20022.metamodel.MMBusinessComponent#getSubType * subType} = *
      *
    • {@linkplain com.tools20022.repository.entity.CreditSideTaxDebtor * CreditSideTaxDebtor}
    • *
    • {@linkplain com.tools20022.repository.entity.TaxPayer TaxPayer}
    • *
    • {@linkplain com.tools20022.repository.entity.DebitSideTaxDebtor * DebitSideTaxDebtor}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessComponent#getDerivationComponent * derivationComponent} = *
      *
    • {@linkplain com.tools20022.repository.msg.TaxParty1 TaxParty1}
    • *
    • {@linkplain com.tools20022.repository.msg.TaxAuthorisation1 * TaxAuthorisation1}
    • *
    • {@linkplain com.tools20022.repository.msg.TaxParty2 TaxParty2}
    • *
    • {@linkplain com.tools20022.repository.msg.TaxParty3 TaxParty3}
    • *
    • {@linkplain com.tools20022.repository.msg.BillingTaxIdentification1 * BillingTaxIdentification1}
    • *
    *
  • *
  • * {@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} = * "TaxPartyRole"
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Role played by a party in the context of a tax due."
  • *
*/ public class TaxPartyRole extends Role { final static private AtomicReference mmObject_lazy = new AtomicReference<>(); protected List tax; /** * Identifies the taxfor which a party plays a role. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = {@linkplain com.tools20022.repository.entity.Tax#mmPartyRole * Tax.mmPartyRole}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.Tax Tax}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.TaxPartyRole TaxPartyRole}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Tax"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Identifies the taxfor which a party plays a role."
  • *
*/ public static final MMBusinessAssociationEnd mmTax = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.TaxPartyRole.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "Tax"; definition = "Identifies the taxfor which a party plays a role."; minOccurs = 0; opposite_lazy = () -> com.tools20022.repository.entity.Tax.mmPartyRole; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.Tax.mmObject(); } }; protected Max35Text vATRegistrationNumber; /** * Value added tax (VAT) registration number. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = {@linkplain com.tools20022.repository.datatype.Max35Text * Max35Text}
  • *
  • {@linkplain com.tools20022.metamodel.MMBusinessElement#getDerivation * derivation} = *
      *
    • * {@linkplain com.tools20022.repository.msg.BillingTaxIdentification1#mmVATRegistrationNumber * BillingTaxIdentification1.mmVATRegistrationNumber}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.TaxPartyRole TaxPartyRole}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "VATRegistrationNumber"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Value added tax (VAT) registration number."
  • *
*/ public static final MMBusinessAttribute mmVATRegistrationNumber = new MMBusinessAttribute() { { derivation_lazy = () -> Arrays.asList(BillingTaxIdentification1.mmVATRegistrationNumber); isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.TaxPartyRole.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "VATRegistrationNumber"; definition = "Value added tax (VAT) registration number."; maxOccurs = 1; minOccurs = 0; simpleType_lazy = () -> Max35Text.mmObject(); } public Method getGetterMethod() { try { return TaxPartyRole.class.getMethod("getVATRegistrationNumber", new Class[]{}); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } } }; static public MMBusinessComponent mmObject() { mmObject_lazy.compareAndSet(null, new MMBusinessComponent() { { dataDictionary_lazy = () -> GeneratedRepository.mmdataDict; registrationStatus = MMRegistrationStatus.REGISTERED; name = "TaxPartyRole"; definition = "Role played by a party in the context of a tax due."; associationDomain_lazy = () -> Arrays.asList(com.tools20022.repository.entity.Tax.mmPartyRole); derivationElement_lazy = () -> Arrays.asList(TaxParty2.mmAuthorisation, TradeParty2.mmTaxParty); subType_lazy = () -> Arrays.asList(CreditSideTaxDebtor.mmObject(), TaxPayer.mmObject(), DebitSideTaxDebtor.mmObject()); superType_lazy = () -> Role.mmObject(); element_lazy = () -> Arrays.asList(com.tools20022.repository.entity.TaxPartyRole.mmTax, com.tools20022.repository.entity.TaxPartyRole.mmVATRegistrationNumber); derivationComponent_lazy = () -> Arrays.asList(TaxParty1.mmObject(), TaxAuthorisation1.mmObject(), TaxParty2.mmObject(), TaxParty3.mmObject(), BillingTaxIdentification1.mmObject()); } @Override public Class getInstanceClass() { return TaxPartyRole.class; } }); return mmObject_lazy.get(); } public List getTax() { return tax; } public void setTax(List tax) { this.tax = tax; } public Max35Text getVATRegistrationNumber() { return vATRegistrationNumber; } public void setVATRegistrationNumber(Max35Text vATRegistrationNumber) { this.vATRegistrationNumber = vATRegistrationNumber; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy