org.projecthusky.common.enums.NameQualifier Maven / Gradle / Ivy
/*
* This code is made available under the terms of the Eclipse Public License v1.0
* in the github project https://github.com/project-husky/husky there you also
* find a list of the contributors and the license information.
*
* This project has been developed further and modified by the joined working group Husky
* on the basis of the eHealth Connector opensource project from June 28, 2021,
* whereas medshare GmbH is the initial and main contributor/author of the eHealth Connector.
*
*/
package org.projecthusky.common.enums;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
public enum NameQualifier implements ValueSetEnumInterface {
/**
* Academic title
*/
ACADEMIC("AC", "Academic"),;
/** The Constant CODE_SYSTEM_NAME. */
public static final String CODE_SYSTEM_NAME = "NameQualifier";
/** The Constant CODE_SYSTEM. */
public static final String CODE_SYSTEM_OID = "2.16.840.1.113883.5.1119";
/**
* Gets the Enum with a given code
* Liefert den Enum anhand eines gegebenen codes
*
* @param code
*
* code
* @return the enum
*/
public static NameQualifier getEnum(String code) {
for (final NameQualifier x : values()) {
if (x.getCodeValue().equals(code)) {
return x;
}
}
return null;
}
/**
* Checks if a given enum is part of this value set.
* Prüft, ob der gegebene enum Teil dieses Value Sets
* ist.
*
* @param enumName
*
* enumName
* @return true, if enum is in this value set
*/
public static boolean isEnumOfValueSet(String enumName) {
if (enumName == null) {
return false;
}
try {
Enum.valueOf(NameQualifier.class, enumName);
return true;
} catch (final IllegalArgumentException ex) {
return false;
}
}
/**
* Checks if a given code value is in this value set.
* Prüft, ob der gegebene code in diesem Value Set vorhanden
* ist.
*
* @param codeValue
* code
* @return true, if one enum of this valueset contains the given code
*/
public static boolean isInValueSet(String codeValue) {
for (NameQualifier x : values()) {
if (x.getCodeValue().equals(codeValue)) {
return true;
}
}
return false;
}
private String code;
private String displayName;
/**
* Instantiates this Enum Object with a given Code and
* Display Name Instantiiert dieses Enum Object
* mittels eines Codes und einem Display Name
*
* @param code
*
* code
* @param displayName
*
* display name
*/
NameQualifier(String code, String displayName) {
this.code = code;
this.displayName = displayName;
}
/**
* Gets the code system name. Liefert
* code system name.
*
* @return the code system name
*/
public String getCodeSystemName() {
return CODE_SYSTEM_NAME;
}
/**
* Gets the code system id. Liefert
* die code system id.
*
* @return the code system id
*/
public @NonNull String getCodeSystemId() {
return CODE_SYSTEM_OID;
}
/**
* Gets the actual Code as string
* Liefert den eigentlichen Code als String
*
* @return the code
*/
public String getCodeValue() {
return code;
}
/**
* Gets the display name. Liefert
* display name.
*
* @return the display name
*/
@Override
public String getDisplayName() {
return displayName;
}
@Override
public @NonNull String getDisplayName(@Nullable LanguageCode languageCode) {
return getDisplayName();
}
@Override
public @NonNull String getValueSetId() {
return CODE_SYSTEM_OID;
}
@Override
public @NonNull String getValueSetName() {
return CODE_SYSTEM_NAME;
}
}