argos/dmp-backend/core/src/main/java/eu/eudat/commons/enums/FieldType.java

85 lines
3.1 KiB
Java
Raw Normal View History

2023-10-27 17:46:34 +02:00
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum FieldType implements DatabaseEnum<String> {
2024-01-31 09:44:48 +01:00
SELECT(Names.Select),
2023-11-02 17:37:12 +01:00
BOOLEAN_DECISION(Names.BooleanDecision),
RADIO_BOX(Names.RadioBox),
2024-02-21 17:38:28 +01:00
INTERNAL_ENTRIES_DMPS(Names.InternalEntitiesDmps),
INTERNAL_ENTRIES_DESCRIPTIONS(Names.InternalEntitiesDescriptions),
2023-11-02 17:37:12 +01:00
CHECK_BOX(Names.CheckBox),
FREE_TEXT(Names.FreeText),
TEXT_AREA(Names.TextArea),
RICH_TEXT_AREA(Names.RichTextarea),
UPLOAD(Names.Upload),
DATE_PICKER(Names.DatePicker),
TAGS(Names.Tags),
2024-02-08 17:12:47 +01:00
REFERENCE_TYPES(Names.ReferenceTypes),
2023-11-02 17:37:12 +01:00
DATASET_IDENTIFIER(Names.DatasetIdentifier),
CURRENCY(Names.Currency),
VALIDATION(Names.Validation);
2023-10-27 17:46:34 +02:00
private final String value;
2023-11-02 17:37:12 +01:00
public static class Names {
2024-01-31 13:33:24 +01:00
public static final String Select = "select";
2023-11-02 17:37:12 +01:00
public static final String BooleanDecision = "booleanDecision";
public static final String RadioBox = "radiobox";
2024-02-21 17:38:28 +01:00
public static final String InternalEntitiesDmps = "internalEntitiesDmps";
public static final String InternalEntitiesDescriptions = "internalEntitiesDescriptions";
2023-11-02 17:37:12 +01:00
public static final String CheckBox = "checkBox";
public static final String FreeText = "freetext";
public static final String TextArea = "textarea";
public static final String RichTextarea = "richTextarea";
public static final String Upload = "upload";
public static final String DatePicker = "datePicker";
public static final String Tags = "tags";
public static final String DatasetIdentifier = "datasetIdentifier";
public static final String Currency = "currency";
public static final String Validation = "validation";
2024-02-08 17:12:47 +01:00
public static final String ReferenceTypes = "referenceTypes";
2023-11-02 17:37:12 +01:00
}
2023-10-27 17:46:34 +02:00
FieldType(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
private static final Map<String, FieldType> map = EnumUtils.getEnumValueMap(FieldType.class);
public static FieldType of(String i) {
return map.get(i);
}
public static boolean isReferenceType(FieldType fieldType){
2024-02-08 17:12:47 +01:00
return fieldType.equals(FieldType.REFERENCE_TYPES);
}
public static boolean isTextType(FieldType fieldType){
return fieldType.equals(FieldType.FREE_TEXT) || fieldType.equals(FieldType.CHECK_BOX) || fieldType.equals(FieldType.TEXT_AREA) ||
fieldType.equals(FieldType.RICH_TEXT_AREA) || fieldType.equals(FieldType.UPLOAD) || fieldType.equals(FieldType.BOOLEAN_DECISION) ||
fieldType.equals(FieldType.RADIO_BOX) || fieldType.equals(FieldType.CURRENCY);
}
public static boolean isTextListType(FieldType fieldType){
2024-02-21 08:55:29 +01:00
return fieldType.equals(FieldType.SELECT) || fieldType.equals(FieldType.TAGS) || fieldType.equals(FieldType.INTERNAL_ENTRIES_DMPS) ||
fieldType.equals(FieldType.INTERNAL_ENTRIES_DESCRIPTIONS);
}
public static boolean isDateType(FieldType fieldType){
return fieldType.equals(FieldType.DATE_PICKER);
}
public static boolean isExternalIdentifierType(FieldType fieldType){
return fieldType.equals(FieldType.VALIDATION) || fieldType.equals(FieldType.DATASET_IDENTIFIER) ;
}
2023-10-27 17:46:34 +02:00
}