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

com.tools20022.repository.codeset.ISO2ALanguageCode 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.codeset;

import com.tools20022.metamodel.MMCode;
import com.tools20022.metamodel.MMCodeSet;
import com.tools20022.metamodel.MMRegistrationStatus;
import com.tools20022.repository.codeset.ISO2ALanguageCode.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;

/**
 * Identification of the language name according to the ISO 639-1 codes. The
 * type is validated by the list of values coded with two alphabetic characters,
 * defined in the standard.
 * 

* Constant fields: *

    *
  • {@linkplain com.tools20022.metamodel.MMString#getPattern pattern} = * "[a-z]{2,2}"
  • *
  • * {@linkplain com.tools20022.metamodel.MMTopLevelDictionaryEntry#getDataDictionary * dataDictionary} = * {@linkplain com.tools20022.repository.GeneratedRepository#mmdataDict * GeneratedRepository.mmdataDict}
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getExample * example} = *
      *
    • "fr"
    • *
    *
  • *
  • * {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getRegistrationStatus * registrationStatus} = * com.tools20022.metamodel.MMRegistrationStatus.REGISTERED
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getName name} = * "ISO2ALanguageCode"
  • *
  • {@linkplain com.tools20022.metamodel.MMRepositoryConcept#getDefinition * definition} = * "Identification of the language name according to the ISO 639-1 codes. The type is validated by the list of values coded with two alphabetic characters, defined in the standard." *
  • *
*/ @XmlJavaTypeAdapter(InternalXmlAdapter.class) public class ISO2ALanguageCode extends MMCode { final static private AtomicReference mmObject_lazy = new AtomicReference<>(); final static private LinkedHashMap codesByName = new LinkedHashMap<>(); protected ISO2ALanguageCode() { } final static public MMCodeSet mmObject() { mmObject_lazy.compareAndSet(null, new MMCodeSet() { { dataDictionary_lazy = () -> GeneratedRepository.mmdataDict; example = Arrays.asList("fr"); registrationStatus = MMRegistrationStatus.REGISTERED; name = "ISO2ALanguageCode"; definition = "Identification of the language name according to the ISO 639-1 codes. The type is validated by the list of values coded with two alphabetic characters, defined in the standard."; pattern = "[a-z]{2,2}"; } }); return mmObject_lazy.get(); } static { } public static ISO2ALanguageCode valueOf(String codeName) { return codesByName.get(codeName); } public static ISO2ALanguageCode[] values() { ISO2ALanguageCode[] values = new ISO2ALanguageCode[codesByName.size()]; return codesByName.values().toArray(values); } protected static class InternalXmlAdapter extends XmlAdapter { @Override public ISO2ALanguageCode unmarshal(String codeName) { return valueOf(codeName); } @Override public String marshal(ISO2ALanguageCode codeObj) { return codeObj.getCodeName().orElse(null); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy