com.tools20022.repository.codeset.FrequencyCode 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
/* 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.codeset;
import com.tools20022.metamodel.MMCode;
import com.tools20022.metamodel.MMCodeSet;
import com.tools20022.metamodel.MMRegistrationStatus;
import com.tools20022.repository.codeset.FrequencyCode.InternalXmlAdapter;
import com.tools20022.repository.GeneratedRepository;
import java.lang.String;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference;
import java.util.LinkedHashMap;
import javax.xml.bind.annotation.adapters.XmlAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
* Specifies the regularity of an event.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCodeSet#getCode code} =
*
* - {@linkplain com.tools20022.repository.codeset.FrequencyCode#Annual
* FrequencyCode.mmAnnual}
* - {@linkplain com.tools20022.repository.codeset.FrequencyCode#Monthly
* FrequencyCode.mmMonthly}
* - {@linkplain com.tools20022.repository.codeset.FrequencyCode#Quarterly
* FrequencyCode.mmQuarterly}
* - {@linkplain com.tools20022.repository.codeset.FrequencyCode#SemiAnnual
* FrequencyCode.mmSemiAnnual}
* - {@linkplain com.tools20022.repository.codeset.FrequencyCode#Weekly
* FrequencyCode.mmWeekly}
* - {@linkplain com.tools20022.repository.codeset.FrequencyCode#Daily
* FrequencyCode.mmDaily}
* - {@linkplain com.tools20022.repository.codeset.FrequencyCode#Adhoc
* FrequencyCode.mmAdhoc}
* - {@linkplain com.tools20022.repository.codeset.FrequencyCode#IntraDay
* FrequencyCode.mmIntraDay}
* - {@linkplain com.tools20022.repository.codeset.FrequencyCode#Overnight
* FrequencyCode.mmOvernight}
* - {@linkplain com.tools20022.repository.codeset.FrequencyCode#TenDays
* FrequencyCode.mmTenDays}
* - {@linkplain com.tools20022.repository.codeset.FrequencyCode#Fortnightly
* FrequencyCode.mmFortnightly}
* -
* {@linkplain com.tools20022.repository.codeset.FrequencyCode#TriggeredByMovement
* FrequencyCode.mmTriggeredByMovement}
* - {@linkplain com.tools20022.repository.codeset.FrequencyCode#Never
* FrequencyCode.mmNever}
* - {@linkplain com.tools20022.repository.codeset.FrequencyCode#Rate
* FrequencyCode.mmRate}
*
*
* - {@linkplain com.tools20022.metamodel.MMCodeSet#getDerivation derivation}
* =
*
* - {@linkplain com.tools20022.repository.codeset.Frequency7Code
* Frequency7Code}
* - {@linkplain com.tools20022.repository.codeset.Frequency6Code
* Frequency6Code}
* - {@linkplain com.tools20022.repository.codeset.Frequency10Code
* Frequency10Code}
*
*
* -
* {@linkplain com.tools20022.metamodel.MMTopLevelDictionaryEntry#getDataDictionary
* dataDictionary} =
* {@linkplain com.tools20022.repository.GeneratedRepository#mmdataDict
* GeneratedRepository.mmdataDict}
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getExample
* example} =
*
* - "YEAR"
*
*
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName name} =
* "FrequencyCode"
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Specifies the regularity of an event."
*
*/
@XmlJavaTypeAdapter(InternalXmlAdapter.class)
public class FrequencyCode extends MMCode {
final static private AtomicReference mmObject_lazy = new AtomicReference<>();
/**
* Event takes place every year or once a year.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCode#getOwner owner} =
* {@linkplain com.tools20022.repository.codeset.FrequencyCode
* FrequencyCode}
* - {@linkplain com.tools20022.metamodel.MMCode#getCodeName codeName} =
* "YEAR"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Annual"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Event takes place every year or once a year."
*
*/
public static final FrequencyCode Annual = new FrequencyCode() {
{
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Annual";
definition = "Event takes place every year or once a year.";
owner_lazy = () -> com.tools20022.repository.codeset.FrequencyCode.mmObject();
codeName = "YEAR";
}
};
/**
* Event takes place every month or once a month.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCode#getOwner owner} =
* {@linkplain com.tools20022.repository.codeset.FrequencyCode
* FrequencyCode}
* - {@linkplain com.tools20022.metamodel.MMCode#getCodeName codeName} =
* "MNTH"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Monthly"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Event takes place every month or once a month."
*
*/
public static final FrequencyCode Monthly = new FrequencyCode() {
{
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Monthly";
definition = "Event takes place every month or once a month.";
owner_lazy = () -> com.tools20022.repository.codeset.FrequencyCode.mmObject();
codeName = "MNTH";
}
};
/**
* Event takes place every three months or four times a year.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCode#getOwner owner} =
* {@linkplain com.tools20022.repository.codeset.FrequencyCode
* FrequencyCode}
* - {@linkplain com.tools20022.metamodel.MMCode#getCodeName codeName} =
* "QURT"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Quarterly"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Event takes place every three months or four times a year."
*
*/
public static final FrequencyCode Quarterly = new FrequencyCode() {
{
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Quarterly";
definition = "Event takes place every three months or four times a year.";
owner_lazy = () -> com.tools20022.repository.codeset.FrequencyCode.mmObject();
codeName = "QURT";
}
};
/**
* Event takes place every six months or two times a year.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCode#getOwner owner} =
* {@linkplain com.tools20022.repository.codeset.FrequencyCode
* FrequencyCode}
* - {@linkplain com.tools20022.metamodel.MMCode#getCodeName codeName} =
* "MIAN"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "SemiAnnual"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Event takes place every six months or two times a year."
*
*/
public static final FrequencyCode SemiAnnual = new FrequencyCode() {
{
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "SemiAnnual";
definition = "Event takes place every six months or two times a year.";
owner_lazy = () -> com.tools20022.repository.codeset.FrequencyCode.mmObject();
codeName = "MIAN";
}
};
/**
* Event takes place once a week.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCode#getOwner owner} =
* {@linkplain com.tools20022.repository.codeset.FrequencyCode
* FrequencyCode}
* - {@linkplain com.tools20022.metamodel.MMCode#getCodeName codeName} =
* "WEEK"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Weekly"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Event takes place once a week."
*
*/
public static final FrequencyCode Weekly = new FrequencyCode() {
{
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Weekly";
definition = "Event takes place once a week.";
owner_lazy = () -> com.tools20022.repository.codeset.FrequencyCode.mmObject();
codeName = "WEEK";
}
};
/**
* Event takes place every day.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCode#getOwner owner} =
* {@linkplain com.tools20022.repository.codeset.FrequencyCode
* FrequencyCode}
* - {@linkplain com.tools20022.metamodel.MMCode#getCodeName codeName} =
* "DAIL"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Daily"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Event takes place every day."
*
*/
public static final FrequencyCode Daily = new FrequencyCode() {
{
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Daily";
definition = "Event takes place every day.";
owner_lazy = () -> com.tools20022.repository.codeset.FrequencyCode.mmObject();
codeName = "DAIL";
}
};
/**
* Event takes place on request or as necessary.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCode#getOwner owner} =
* {@linkplain com.tools20022.repository.codeset.FrequencyCode
* FrequencyCode}
* - {@linkplain com.tools20022.metamodel.MMCode#getCodeName codeName} =
* "ADHO"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Adhoc"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Event takes place on request or as necessary."
*
*/
public static final FrequencyCode Adhoc = new FrequencyCode() {
{
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Adhoc";
definition = "Event takes place on request or as necessary.";
owner_lazy = () -> com.tools20022.repository.codeset.FrequencyCode.mmObject();
codeName = "ADHO";
}
};
/**
* Event takes place several times a day.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCode#getOwner owner} =
* {@linkplain com.tools20022.repository.codeset.FrequencyCode
* FrequencyCode}
* - {@linkplain com.tools20022.metamodel.MMCode#getCodeName codeName} =
* "INDA"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "IntraDay"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Event takes place several times a day."
*
*/
public static final FrequencyCode IntraDay = new FrequencyCode() {
{
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "IntraDay";
definition = "Event takes place several times a day.";
owner_lazy = () -> com.tools20022.repository.codeset.FrequencyCode.mmObject();
codeName = "INDA";
}
};
/**
* Event takes place overnight.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCode#getOwner owner} =
* {@linkplain com.tools20022.repository.codeset.FrequencyCode
* FrequencyCode}
* - {@linkplain com.tools20022.metamodel.MMCode#getCodeName codeName} =
* "OVNG"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Overnight"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Event takes place overnight."
*
*/
public static final FrequencyCode Overnight = new FrequencyCode() {
{
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Overnight";
definition = "Event takes place overnight.";
owner_lazy = () -> com.tools20022.repository.codeset.FrequencyCode.mmObject();
codeName = "OVNG";
}
};
/**
* Event takes place every ten business days.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCode#getOwner owner} =
* {@linkplain com.tools20022.repository.codeset.FrequencyCode
* FrequencyCode}
* - {@linkplain com.tools20022.metamodel.MMCode#getCodeName codeName} =
* "TEND"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "TenDays"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Event takes place every ten business days."
*
*/
public static final FrequencyCode TenDays = new FrequencyCode() {
{
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "TenDays";
definition = "Event takes place every ten business days.";
owner_lazy = () -> com.tools20022.repository.codeset.FrequencyCode.mmObject();
codeName = "TEND";
}
};
/**
* Event takes place every two weeks.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCode#getOwner owner} =
* {@linkplain com.tools20022.repository.codeset.FrequencyCode
* FrequencyCode}
* - {@linkplain com.tools20022.metamodel.MMCode#getCodeName codeName} =
* "FRTN"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Fortnightly"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Event takes place every two weeks."
*
*/
public static final FrequencyCode Fortnightly = new FrequencyCode() {
{
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "Fortnightly";
definition = "Event takes place every two weeks.";
owner_lazy = () -> com.tools20022.repository.codeset.FrequencyCode.mmObject();
codeName = "FRTN";
}
};
/**
* Event takes place at the end of the day if there was a movement on the
* account, otherwise nothing is sent that day.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCode#getOwner owner} =
* {@linkplain com.tools20022.repository.codeset.FrequencyCode
* FrequencyCode}
* - {@linkplain com.tools20022.metamodel.MMCode#getCodeName codeName} =
* "MOVE"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "TriggeredByMovement"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} =
* "Event takes place at the end of the day if there was a movement on the account, otherwise nothing is sent that day. "
*
*
*/
public static final FrequencyCode TriggeredByMovement = new FrequencyCode() {
{
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "TriggeredByMovement";
definition = "Event takes place at the end of the day if there was a movement on the account, otherwise nothing is sent that day. ";
owner_lazy = () -> com.tools20022.repository.codeset.FrequencyCode.mmObject();
codeName = "MOVE";
}
};
/**
* Event does never take place.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCode#getOwner owner} =
* {@linkplain com.tools20022.repository.codeset.FrequencyCode
* FrequencyCode}
* - {@linkplain com.tools20022.metamodel.MMCode#getCodeName codeName} =
* "NEVR"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus
* registrationStatus} =
* com.tools20022.metamodel.MMRegistrationStatus.PROVISIONALLY_REGISTERED
* - {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName
* name} = "Never"
* -
* {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition
* definition} = "Event does never take place."
*
*/
public static final FrequencyCode Never = new FrequencyCode() {
{
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "Never";
definition = "Event does never take place.";
owner_lazy = () -> com.tools20022.repository.codeset.FrequencyCode.mmObject();
codeName = "NEVR";
}
};
/**
* Event takes place based on a change of a rate.
*
* Constant fields:
*
* - {@linkplain com.tools20022.metamodel.MMCode#getOwner owner} =
* {@linkplain com.tools20022.repository.codeset.FrequencyCode
* FrequencyCode}
* - {@linkplain com.tools20022.metamodel.MMCode#getCodeName codeName} =
* "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} = "Event takes place based on a change of a rate."
*
*/
public static final FrequencyCode Rate = new FrequencyCode() {
{
registrationStatus = MMRegistrationStatus.PROVISIONALLY_REGISTERED;
name = "Rate";
definition = "Event takes place based on a change of a rate.";
owner_lazy = () -> com.tools20022.repository.codeset.FrequencyCode.mmObject();
codeName = "RATE";
}
};
final static private LinkedHashMap codesByName = new LinkedHashMap<>();
protected FrequencyCode() {
}
final static public MMCodeSet mmObject() {
mmObject_lazy.compareAndSet(null, new MMCodeSet() {
{
dataDictionary_lazy = () -> GeneratedRepository.mmdataDict;
example = Arrays.asList("YEAR");
registrationStatus = MMRegistrationStatus.REGISTERED;
name = "FrequencyCode";
definition = "Specifies the regularity of an event.";
derivation_lazy = () -> Arrays.asList(Frequency7Code.mmObject(), Frequency6Code.mmObject(), Frequency10Code.mmObject());
code_lazy = () -> Arrays.asList(com.tools20022.repository.codeset.FrequencyCode.Annual, com.tools20022.repository.codeset.FrequencyCode.Monthly, com.tools20022.repository.codeset.FrequencyCode.Quarterly,
com.tools20022.repository.codeset.FrequencyCode.SemiAnnual, com.tools20022.repository.codeset.FrequencyCode.Weekly, com.tools20022.repository.codeset.FrequencyCode.Daily,
com.tools20022.repository.codeset.FrequencyCode.Adhoc, com.tools20022.repository.codeset.FrequencyCode.IntraDay, com.tools20022.repository.codeset.FrequencyCode.Overnight,
com.tools20022.repository.codeset.FrequencyCode.TenDays, com.tools20022.repository.codeset.FrequencyCode.Fortnightly, com.tools20022.repository.codeset.FrequencyCode.TriggeredByMovement,
com.tools20022.repository.codeset.FrequencyCode.Never, com.tools20022.repository.codeset.FrequencyCode.Rate);
}
});
return mmObject_lazy.get();
}
static {
codesByName.put(Annual.getCodeName().get(), Annual);
codesByName.put(Monthly.getCodeName().get(), Monthly);
codesByName.put(Quarterly.getCodeName().get(), Quarterly);
codesByName.put(SemiAnnual.getCodeName().get(), SemiAnnual);
codesByName.put(Weekly.getCodeName().get(), Weekly);
codesByName.put(Daily.getCodeName().get(), Daily);
codesByName.put(Adhoc.getCodeName().get(), Adhoc);
codesByName.put(IntraDay.getCodeName().get(), IntraDay);
codesByName.put(Overnight.getCodeName().get(), Overnight);
codesByName.put(TenDays.getCodeName().get(), TenDays);
codesByName.put(Fortnightly.getCodeName().get(), Fortnightly);
codesByName.put(TriggeredByMovement.getCodeName().get(), TriggeredByMovement);
codesByName.put(Never.getCodeName().get(), Never);
codesByName.put(Rate.getCodeName().get(), Rate);
}
public static FrequencyCode valueOf(String codeName) {
return codesByName.get(codeName);
}
public static FrequencyCode[] values() {
FrequencyCode[] values = new FrequencyCode[codesByName.size()];
return codesByName.values().toArray(values);
}
protected static class InternalXmlAdapter extends XmlAdapter {
@Override
public FrequencyCode unmarshal(String codeName) {
return valueOf(codeName);
}
@Override
public String marshal(FrequencyCode codeObj) {
return codeObj.getCodeName().orElse(null);
}
}
}