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

com.tools20022.repository.msg.MandateAdjustment1 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.choice.Frequency37Choice;
import com.tools20022.repository.datatype.ActiveCurrencyAndAmount;
import com.tools20022.repository.datatype.PercentageRate;
import com.tools20022.repository.datatype.TrueFalseIndicator;
import com.tools20022.repository.entity.DirectDebitMandate;
import com.tools20022.repository.entity.Mandate;
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 details for the adjustment of the mandate.
 * 

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageElementContainer#getMessageElement * messageElement} = *
      *
    • * {@linkplain com.tools20022.repository.msg.MandateAdjustment1#mmDateAdjustmentRuleIndicator * MandateAdjustment1.mmDateAdjustmentRuleIndicator}
    • *
    • {@linkplain com.tools20022.repository.msg.MandateAdjustment1#mmCategory * MandateAdjustment1.mmCategory}
    • *
    • {@linkplain com.tools20022.repository.msg.MandateAdjustment1#mmAmount * MandateAdjustment1.mmAmount}
    • *
    • {@linkplain com.tools20022.repository.msg.MandateAdjustment1#mmRate * MandateAdjustment1.mmRate}
    • *
    *
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageComponentType#getTrace * trace} = {@linkplain com.tools20022.repository.entity.DirectDebitMandate * DirectDebitMandate}
  • *
  • * {@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} = * "MandateAdjustment1"
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Specifies the details for the adjustment of the mandate."
  • *
*/ @XmlAccessorType(XmlAccessType.PROPERTY) @XmlType(name = "MandateAdjustment1", propOrder = {"dateAdjustmentRuleIndicator", "category", "amount", "rate"}) public class MandateAdjustment1 { final static private AtomicReference mmObject_lazy = new AtomicReference<>(); protected TrueFalseIndicator dateAdjustmentRuleIndicator; /** * Specifies whether an adjustment is to be applied on pre-agreed collection * date or not. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.datatype.TrueFalseIndicator * TrueFalseIndicator}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.MandateAdjustment1 * MandateAdjustment1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "DtAdjstmntRuleInd"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "DateAdjustmentRuleIndicator"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Specifies whether an adjustment is to be applied on pre-agreed collection date or not." *
  • *
*/ public static final MMMessageAttribute mmDateAdjustmentRuleIndicator = new MMMessageAttribute() { { componentContext_lazy = () -> MandateAdjustment1.mmObject(); isDerived = false; xmlTag = "DtAdjstmntRuleInd"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "DateAdjustmentRuleIndicator"; definition = "Specifies whether an adjustment is to be applied on pre-agreed collection date or not."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> TrueFalseIndicator.mmObject(); } }; protected Frequency37Choice category; /** * Defines the category of adjustment. *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMMessageAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.choice.Frequency37Choice * Frequency37Choice}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.DirectDebitMandate#mmFrequency * DirectDebitMandate.mmFrequency}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.MandateAdjustment1 * MandateAdjustment1}
  • *
  • {@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} = "Defines the category of adjustment."
  • *
*/ public static final MMMessageAssociationEnd mmCategory = new MMMessageAssociationEnd() { { businessElementTrace_lazy = () -> DirectDebitMandate.mmFrequency; componentContext_lazy = () -> MandateAdjustment1.mmObject(); isDerived = false; xmlTag = "Ctgy"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Category"; definition = "Defines the category of adjustment."; maxOccurs = 1; minOccurs = 0; isComposite = true; type_lazy = () -> Frequency37Choice.mmObject(); } }; protected ActiveCurrencyAndAmount amount; /** * Pre-agreed amount to increase or decrease the mandate amount as justified * per information in the category. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.datatype.ActiveCurrencyAndAmount * ActiveCurrencyAndAmount}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.DirectDebitMandate#mmCollectionAmount * DirectDebitMandate.mmCollectionAmount}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.MandateAdjustment1 * MandateAdjustment1}
  • *
  • {@linkplain com.tools20022.metamodel.MMMessageConstruct#getXmlTag * xmlTag} = "Amt"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Amount"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Pre-agreed amount to increase or decrease the mandate amount as justified per information in the category." *
  • *
*/ public static final MMMessageAttribute mmAmount = new MMMessageAttribute() { { businessElementTrace_lazy = () -> DirectDebitMandate.mmCollectionAmount; componentContext_lazy = () -> MandateAdjustment1.mmObject(); isDerived = false; xmlTag = "Amt"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Amount"; definition = "Pre-agreed amount to increase or decrease the mandate amount as justified per information in the category."; maxOccurs = 1; minOccurs = 0; simpleType_lazy = () -> ActiveCurrencyAndAmount.mmObject(); } }; protected PercentageRate rate; /** * Pre-agreed increase or decrease rate that will be applied to the * collection amount. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMMessageAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.datatype.PercentageRate * PercentageRate}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getBusinessElementTrace * businessElementTrace} = * {@linkplain com.tools20022.repository.entity.Mandate#mmRate * Mandate.mmRate}
  • *
  • * {@linkplain com.tools20022.metamodel.MMMessageElement#getComponentContext * componentContext} = * {@linkplain com.tools20022.repository.msg.MandateAdjustment1 * MandateAdjustment1}
  • *
  • {@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} = * "Pre-agreed increase or decrease rate that will be applied to the collection amount." *
  • *
*/ public static final MMMessageAttribute mmRate = new MMMessageAttribute() { { businessElementTrace_lazy = () -> Mandate.mmRate; componentContext_lazy = () -> MandateAdjustment1.mmObject(); isDerived = false; xmlTag = "Rate"; registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Rate"; definition = "Pre-agreed increase or decrease rate that will be applied to the collection amount."; maxOccurs = 1; minOccurs = 0; simpleType_lazy = () -> PercentageRate.mmObject(); } }; final static public MMMessageComponent mmObject() { mmObject_lazy.compareAndSet(null, new MMMessageComponent() { { messageElement_lazy = () -> Arrays.asList(MandateAdjustment1.mmDateAdjustmentRuleIndicator, MandateAdjustment1.mmCategory, MandateAdjustment1.mmAmount, MandateAdjustment1.mmRate); trace_lazy = () -> DirectDebitMandate.mmObject(); dataDictionary_lazy = () -> GeneratedRepository.mmdataDict; registrationStatus = MMRegistrationStatus.REGISTERED; name = "MandateAdjustment1"; definition = "Specifies the details for the adjustment of the mandate."; } }); return mmObject_lazy.get(); } @XmlElement(name = "DtAdjstmntRuleInd", required = true) public TrueFalseIndicator getDateAdjustmentRuleIndicator() { return dateAdjustmentRuleIndicator; } public void setDateAdjustmentRuleIndicator(TrueFalseIndicator dateAdjustmentRuleIndicator) { this.dateAdjustmentRuleIndicator = dateAdjustmentRuleIndicator; } @XmlElement(name = "Ctgy") public Frequency37Choice getCategory() { return category; } public void setCategory(Frequency37Choice category) { this.category = category; } @XmlElement(name = "Amt") public ActiveCurrencyAndAmount getAmount() { return amount; } public void setAmount(ActiveCurrencyAndAmount amount) { this.amount = amount; } @XmlElement(name = "Rate") public PercentageRate getRate() { return rate; } public void setRate(PercentageRate rate) { this.rate = rate; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy