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

com.tools20022.repository.entity.AmountAndPeriod 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.CurrencyAndAmount;
import com.tools20022.repository.GeneratedRepository;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;

/**
 * Relates an amount to a period of time.
 * 

* Class diagram *

* *

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMBusinessComponent#getElement * element} = *
      *
    • {@linkplain com.tools20022.repository.entity.AmountAndPeriod#mmPeriod * AmountAndPeriod.mmPeriod}
    • *
    • {@linkplain com.tools20022.repository.entity.AmountAndPeriod#mmAmount * AmountAndPeriod.mmAmount}
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessComponent#getAssociationDomain * associationDomain} = *
      *
    • {@linkplain com.tools20022.repository.entity.DateTimePeriod#mmAmount * DateTimePeriod.mmAmount}
    • *
    *
  • *
  • * {@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} = * "AmountAndPeriod"
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Relates an amount to a period of time."
  • *
*/ public class AmountAndPeriod { final static private AtomicReference mmObject_lazy = new AtomicReference<>(); protected DateTimePeriod period; /** * Period related to an amount. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getOpposite * opposite} = * {@linkplain com.tools20022.repository.entity.DateTimePeriod#mmAmount * DateTimePeriod.mmAmount}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getAggregation * aggregation} = com.tools20022.metamodel.MMAggregation.NONE
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAssociationEnd#getType * type} = {@linkplain com.tools20022.repository.entity.DateTimePeriod * DateTimePeriod}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.AmountAndPeriod * AmountAndPeriod}
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName * name} = "Period"
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = "Period related to an amount."
  • *
*/ public static final MMBusinessAssociationEnd mmPeriod = new MMBusinessAssociationEnd() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.AmountAndPeriod.mmObject(); registrationStatus = MMRegistrationStatus.REGISTERED; name = "Period"; definition = "Period related to an amount."; maxOccurs = 1; minOccurs = 1; opposite_lazy = () -> com.tools20022.repository.entity.DateTimePeriod.mmAmount; aggregation = MMAggregation.NONE; type_lazy = () -> com.tools20022.repository.entity.DateTimePeriod.mmObject(); } }; protected CurrencyAndAmount amount; /** * Amount of this period. *

* Constant fields: *

    *
  • * {@linkplain com.tools20022.metamodel.MMBusinessAttribute#getSimpleType * simpleType} = * {@linkplain com.tools20022.repository.datatype.CurrencyAndAmount * CurrencyAndAmount}
  • *
  • * {@linkplain com.tools20022.metamodel.MMBusinessElement#getElementContext * elementContext} = * {@linkplain com.tools20022.repository.entity.AmountAndPeriod * AmountAndPeriod}
  • *
  • * {@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} = "Amount of this period."
  • *
*/ public static final MMBusinessAttribute mmAmount = new MMBusinessAttribute() { { isDerived = false; elementContext_lazy = () -> com.tools20022.repository.entity.AmountAndPeriod.mmObject(); registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED; name = "Amount"; definition = "Amount of this period."; maxOccurs = 1; minOccurs = 1; simpleType_lazy = () -> CurrencyAndAmount.mmObject(); } public Method getGetterMethod() { try { return AmountAndPeriod.class.getMethod("getAmount", 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 = "AmountAndPeriod"; definition = "Relates an amount to a period of time."; associationDomain_lazy = () -> Arrays.asList(com.tools20022.repository.entity.DateTimePeriod.mmAmount); element_lazy = () -> Arrays.asList(com.tools20022.repository.entity.AmountAndPeriod.mmPeriod, com.tools20022.repository.entity.AmountAndPeriod.mmAmount); } @Override public Class getInstanceClass() { return AmountAndPeriod.class; } }); return mmObject_lazy.get(); } public DateTimePeriod getPeriod() { return period; } public void setPeriod(com.tools20022.repository.entity.DateTimePeriod period) { this.period = period; } public CurrencyAndAmount getAmount() { return amount; } public void setAmount(CurrencyAndAmount amount) { this.amount = amount; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy