com.tools20022.repository.msg.BillingServicesTax1 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.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.DecimalNumber;
import com.tools20022.repository.datatype.Max35Text;
import com.tools20022.repository.datatype.Max40Text;
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;
/**
* Provides for regional taxes on the service.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageElementContainer#getMessageElement
* messageElement} =
*
* - {@linkplain com.tools20022.repository.msg.BillingServicesTax1#mmNumber
* BillingServicesTax1.mmNumber}
* -
* {@linkplain com.tools20022.repository.msg.BillingServicesTax1#mmDescription
* BillingServicesTax1.mmDescription}
* - {@linkplain com.tools20022.repository.msg.BillingServicesTax1#mmRate
* BillingServicesTax1.mmRate}
* -
* {@linkplain com.tools20022.repository.msg.BillingServicesTax1#mmHostAmount
* BillingServicesTax1.mmHostAmount}
* -
* {@linkplain com.tools20022.repository.msg.BillingServicesTax1#mmPricingAmount
* BillingServicesTax1.mmPricingAmount}
*
*
* - {@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} =
* "BillingServicesTax1"
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Provides for regional taxes on the service."
*
*/
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlType(name = "BillingServicesTax1", propOrder = {"number", "description", "rate", "hostAmount", "pricingAmount"})
public class BillingServicesTax1 {
final static private AtomicReference mmObject_lazy = new AtomicReference<>();
protected Max35Text number;
/**
* Identification number of the specific region tax used to calculate the
* tax.
*
* 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.BillingServicesTax1
* BillingServicesTax1}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "Nb"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Number"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Identification number of the specific region tax used to calculate the tax."
*
*
*/
public static final MMMessageAttribute mmNumber = new MMMessageAttribute() {
{
componentContext_lazy = () -> BillingServicesTax1.mmObject();
isDerived = false;
xmlTag = "Nb";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "Number";
definition = "Identification number of the specific region tax used to calculate the tax.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> Max35Text.mmObject();
}
};
protected Max40Text description;
/**
* Name used to describe the tax (such as the national value added tax).
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType
* simpleType} = {@linkplain com.tools20022.repository.datatype.Max40Text
* Max40Text}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.BillingServicesTax1
* BillingServicesTax1}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "Desc"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Description"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Name used to describe the tax (such as the national value added tax)."
*
*/
public static final MMMessageAttribute mmDescription = new MMMessageAttribute() {
{
componentContext_lazy = () -> BillingServicesTax1.mmObject();
isDerived = false;
xmlTag = "Desc";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "Description";
definition = "Name used to describe the tax (such as the national value added tax).";
maxOccurs = 1;
minOccurs = 0;
simpleType_lazy = () -> Max40Text.mmObject();
}
};
protected DecimalNumber rate;
/**
* Rate used to calculate the tax.
*
* Constant fields:
*
* -
* {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType
* simpleType} =
* {@linkplain com.tools20022.repository.datatype.DecimalNumber
* DecimalNumber}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessComponentTrace
* businessComponentTrace} =
* {@linkplain com.tools20022.repository.entity.Tax Tax}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.BillingServicesTax1
* BillingServicesTax1}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "Rate"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Rate"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Rate used to calculate the tax."
*
*/
public static final MMMessageAttribute mmRate = new MMMessageAttribute() {
{
businessComponentTrace_lazy = () -> Tax.mmObject();
componentContext_lazy = () -> BillingServicesTax1.mmObject();
isDerived = false;
xmlTag = "Rate";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "Rate";
definition = "Rate used to calculate the tax.";
maxOccurs = 1;
minOccurs = 1;
simpleType_lazy = () -> DecimalNumber.mmObject();
}
};
protected AmountAndDirection34 hostAmount;
/**
* Amount of the tax obligation expressed in the tax region's host currency.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.msg.AmountAndDirection34
* AmountAndDirection34}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace
* businessElementTrace} =
* {@linkplain com.tools20022.repository.entity.TaxRecord#mmAmount
* TaxRecord.mmAmount}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.BillingServicesTax1
* BillingServicesTax1}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "HstAmt"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "HostAmount"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Amount of the tax obligation expressed in the tax region's host currency."
*
*
*/
public static final MMMessageAssociationEnd mmHostAmount = new MMMessageAssociationEnd() {
{
businessElementTrace_lazy = () -> TaxRecord.mmAmount;
componentContext_lazy = () -> BillingServicesTax1.mmObject();
isDerived = false;
xmlTag = "HstAmt";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "HostAmount";
definition = "Amount of the tax obligation expressed in the tax region's host currency.";
maxOccurs = 1;
minOccurs = 1;
isComposite = true;
type_lazy = () -> com.tools20022.repository.msg.AmountAndDirection34.mmObject();
}
};
protected AmountAndDirection34 pricingAmount;
/**
* Amount of the tax obligation expressed in the tax region's pricing
* currency.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType
* type} = {@linkplain com.tools20022.repository.msg.AmountAndDirection34
* AmountAndDirection34}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace
* businessElementTrace} =
* {@linkplain com.tools20022.repository.entity.TaxRecord#mmAmount
* TaxRecord.mmAmount}
* -
* {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext
* componentContext} =
* {@linkplain com.tools20022.repository.msg.BillingServicesTax1
* BillingServicesTax1}
* - {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag
* xmlTag} = "PricgAmt"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "PricingAmount"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Amount of the tax obligation expressed in the tax region's pricing currency."
*
*
*/
public static final MMMessageAssociationEnd mmPricingAmount = new MMMessageAssociationEnd() {
{
businessElementTrace_lazy = () -> TaxRecord.mmAmount;
componentContext_lazy = () -> BillingServicesTax1.mmObject();
isDerived = false;
xmlTag = "PricgAmt";
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "PricingAmount";
definition = "Amount of the tax obligation expressed in the tax region's pricing currency.";
maxOccurs = 1;
minOccurs = 0;
isComposite = true;
type_lazy = () -> com.tools20022.repository.msg.AmountAndDirection34.mmObject();
}
};
final static public MMMessageComponent mmObject() {
mmObject_lazy.compareAndSet(null, new MMMessageComponent() {
{
messageElement_lazy = () -> Arrays.asList(BillingServicesTax1.mmNumber, BillingServicesTax1.mmDescription, BillingServicesTax1.mmRate, BillingServicesTax1.mmHostAmount, BillingServicesTax1.mmPricingAmount);
trace_lazy = () -> TaxRecord.mmObject();
dataDictionary_lazy = () -> GeneratedRepository.mmdataDict;
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "BillingServicesTax1";
definition = "Provides for regional taxes on the service.";
}
});
return mmObject_lazy.get();
}
@XmlElement(name = "Nb", required = true)
public Max35Text getNumber() {
return number;
}
public void setNumber(Max35Text number) {
this.number = number;
}
@XmlElement(name = "Desc")
public Max40Text getDescription() {
return description;
}
public void setDescription(Max40Text description) {
this.description = description;
}
@XmlElement(name = "Rate", required = true)
public DecimalNumber getRate() {
return rate;
}
public void setRate(DecimalNumber rate) {
this.rate = rate;
}
@XmlElement(name = "HstAmt", required = true)
public AmountAndDirection34 getHostAmount() {
return hostAmount;
}
public void setHostAmount(com.tools20022.repository.msg.AmountAndDirection34 hostAmount) {
this.hostAmount = hostAmount;
}
@XmlElement(name = "PricgAmt")
public AmountAndDirection34 getPricingAmount() {
return pricingAmount;
}
public void setPricingAmount(com.tools20022.repository.msg.AmountAndDirection34 pricingAmount) {
this.pricingAmount = pricingAmount;
}
}