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

com.tools20022.repository.msg.BillingPrice1 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.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.codeset.ActiveOrHistoricCurrencyCode;
import com.tools20022.repository.codeset.BillingChargeMethod1Code;
import com.tools20022.repository.datatype.Max20Text;
import com.tools20022.repository.entity.CashAccountService;
import com.tools20022.repository.entity.Price;
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;

/**
 * Specifies the billing price of a service.
 * 

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageElementContainer#getMessageElement * messageElement} = *
      *
    • {@linkplain com.tools20022.repository.msg.BillingPrice1#mmCurrency * BillingPrice1.mmCurrency}
    • *
    • {@linkplain com.tools20022.repository.msg.BillingPrice1#mmUnitPrice * BillingPrice1.mmUnitPrice}
    • *
    • {@linkplain com.tools20022.repository.msg.BillingPrice1#mmMethod * BillingPrice1.mmMethod}
    • *
    • {@linkplain com.tools20022.repository.msg.BillingPrice1#mmRule * BillingPrice1.mmRule}
    • *
    *
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageComponentType#getTrace * trace} = {@linkplain com.tools20022.repository.entity.Price Price}
  • *
  • * {@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} = * "BillingPrice1"
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Specifies the billing price of a service."
  • *
*/ @XmlAccessorType(XmlAccessType.PROPERTY) @XmlType(name = "BillingPrice1", propOrder = {"currency", "unitPrice", "method", "rule"}) public class BillingPrice1 { final static private AtomicReference mmObject_lazy = new AtomicReference<>(); protected ActiveOrHistoricCurrencyCode currency; /** * Currency code in which the unit price and original charge price are * expressed. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.codeset.ActiveOrHistoricCurrencyCode * ActiveOrHistoricCurrencyCode}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.Price#mmCurrency * Price.mmCurrency}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.BillingPrice1 BillingPrice1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Ccy"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Currency"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Currency code in which the unit price and original charge price are expressed." *
  • *
*/ public static final MMMessageAttribute mmCurrency = new MMMessageAttribute() { { businessElementTrace_lazy = () -> Price.mmCurrency; componentContext_lazy = () -> BillingPrice1.mmObject(); isDerived = false; xmlTag = "Ccy"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Currency"; definition = "Currency code in which the unit price and original charge price are expressed."; maxOccurs = 1; minOccurs = 0; simpleType_lazy = () -> ActiveOrHistoricCurrencyCode.mmObject(); } }; protected AmountAndDirection34 unitPrice; /** * Price per item or unit used to calculate the charge expressed in the * pricing currency. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.msg.AmountAndDirection34 * AmountAndDirection34}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessComponentTrace * businessComponentTrace} = * {@linkplain com.tools20022.repository.entity.Price Price}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.BillingPrice1 BillingPrice1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "UnitPric"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "UnitPrice"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Price per item or unit used to calculate the charge expressed in the pricing currency." *
  • *
*/ public static final MMMessageAssociationEnd mmUnitPrice = new MMMessageAssociationEnd() { { businessComponentTrace_lazy = () -> Price.mmObject(); componentContext_lazy = () -> BillingPrice1.mmObject(); isDerived = false; xmlTag = "UnitPric"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "UnitPrice"; definition = "Price per item or unit used to calculate the charge expressed in the pricing currency."; maxOccurs = 1; minOccurs = 0; isComposite = true; type_lazy = () -> com.tools20022.repository.msg.AmountAndDirection34.mmObject(); } }; protected BillingChargeMethod1Code method; /** * Identifies how the charge was calculated. * * Usage: The absence of this code assumes that the charge is calculated as * the product of (volume x unit price). *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.codeset.BillingChargeMethod1Code * BillingChargeMethod1Code}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.CashAccountService#mmBillingChargeMethod * CashAccountService.mmBillingChargeMethod}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.BillingPrice1 BillingPrice1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Mtd"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Method"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Identifies how the charge was calculated. \n\nUsage: The absence of this code assumes that the charge is calculated as the product of (volume x unit price)." *
  • *
*/ public static final MMMessageAttribute mmMethod = new MMMessageAttribute() { { businessElementTrace_lazy = () -> CashAccountService.mmBillingChargeMethod; componentContext_lazy = () -> BillingPrice1.mmObject(); isDerived = false; xmlTag = "Mtd"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Method"; definition = "Identifies how the charge was calculated. \n\nUsage: The absence of this code assumes that the charge is calculated as the product of (volume x unit price)."; maxOccurs = 1; minOccurs = 0; simpleType_lazy = () -> BillingChargeMethod1Code.mmObject(); } }; protected Max20Text rule; /** * Indicates that the charge calculation is based on a particular rule. The * rule name is carried here and is defined by the trading partners. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = {@linkplain com.tools20022.repository.datatype.Max20Text * Max20Text}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.BillingPrice1 BillingPrice1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Rule"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Rule"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Indicates that the charge calculation is based on a particular rule. The rule name is carried here and is defined by the trading partners." *
  • *
*/ public static final MMMessageAttribute mmRule = new MMMessageAttribute() { { componentContext_lazy = () -> BillingPrice1.mmObject(); isDerived = false; xmlTag = "Rule"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Rule"; definition = "Indicates that the charge calculation is based on a particular rule. The rule name is carried here and is defined by the trading partners."; maxOccurs = 1; minOccurs = 0; simpleType_lazy = () -> Max20Text.mmObject(); } }; final static public MMMessageComponent mmObject() { mmObject_lazy.compareAndSet(null, new MMMessageComponent() { { messageElement_lazy = () -> Arrays.asList(BillingPrice1.mmCurrency, BillingPrice1.mmUnitPrice, BillingPrice1.mmMethod, BillingPrice1.mmRule); trace_lazy = () -> Price.mmObject(); dataDictionary_lazy = () -> GeneratedRepository.mmdataDict; registrationStatus = MMRegistrationStatus.REGISTERED; name = "BillingPrice1"; definition = "Specifies the billing price of a service."; } }); return mmObject_lazy.get(); } @XmlElement(name = "Ccy") public ActiveOrHistoricCurrencyCode getCurrency() { return currency; } public void setCurrency(ActiveOrHistoricCurrencyCode currency) { this.currency = currency; } @XmlElement(name = "UnitPric") public AmountAndDirection34 getUnitPrice() { return unitPrice; } public void setUnitPrice(com.tools20022.repository.msg.AmountAndDirection34 unitPrice) { this.unitPrice = unitPrice; } @XmlElement(name = "Mtd") public BillingChargeMethod1Code getMethod() { return method; } public void setMethod(BillingChargeMethod1Code method) { this.method = method; } @XmlElement(name = "Rule") public Max20Text getRule() { return rule; } public void setRule(Max20Text rule) { this.rule = rule; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy