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

115 lines
4.8 KiB
Java

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> {
EXTERNAL_SELECT(Names.ExternalSelect),
SELECT(Names.Select),
BOOLEAN_DECISION(Names.BooleanDecision),
RADIO_BOX(Names.RadioBox),
INTERNAL_DMP_ENTRIES_RESEARCHERS(Names.InternalDmpResearchers),
INTERNAL_DMP_ENTRIES_DMPS(Names.InternalDmpDmps),
INTERNAL_DMP_ENTRIES_DATASETS(Names.InternalDmpDatasets),
CHECK_BOX(Names.CheckBox),
FREE_TEXT(Names.FreeText),
TEXT_AREA(Names.TextArea),
RICH_TEXT_AREA(Names.RichTextarea),
UPLOAD(Names.Upload),
DATE_PICKER(Names.DatePicker),
EXTERNAL_DATASETS(Names.ExternalDatasets),
DATA_REPOSITORIES(Names.DataRepositories),
JOURNAL_REPOSITORIES(Names.JournalRepositories),
PUB_REPOSITORIES(Names.PubRepositories),
LICENSES(Names.Licenses),
TAXONOMIES(Names.Taxonomies),
PUBLICATIONS(Names.Publications),
REGISTRIES(Names.Registries),
SERVICES(Names.Services),
TAGS(Names.Tags),
RESEARCHERS(Names.Researchers),
ORGANIZATIONS(Names.Organizations),
DATASET_IDENTIFIER(Names.DatasetIdentifier),
CURRENCY(Names.Currency),
VALIDATION(Names.Validation);
private final String value;
public static class Names {
public static final String ExternalSelect = "externalSelect";
public static final String Select = "select";
public static final String BooleanDecision = "booleanDecision";
public static final String RadioBox = "radiobox";
public static final String InternalDmpResearchers = "internalDmpResearchers";
public static final String InternalDmpDmps = "internalDmpDmps";
public static final String InternalDmpDatasets = "internalDmpDatasets";
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 ExternalDatasets = "externalDatasets";
public static final String DataRepositories = "dataRepositories";
public static final String JournalRepositories = "journalRepositories";
public static final String PubRepositories = "pubRepositories";
public static final String Licenses = "licenses";
public static final String Taxonomies = "taxonomies";
public static final String Publications = "publications";
public static final String Registries = "registries";
public static final String Services = "services";
public static final String Tags = "tags";
public static final String Researchers = "researchers";
public static final String Organizations = "organizations";
public static final String DatasetIdentifier = "datasetIdentifier";
public static final String Currency = "currency";
public static final String Validation = "validation";
}
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 isNotImplemented(FieldType fieldType){
return fieldType.equals(FieldType.EXTERNAL_SELECT) || fieldType.equals(FieldType.INTERNAL_DMP_ENTRIES_RESEARCHERS) || fieldType.equals(FieldType.INTERNAL_DMP_ENTRIES_DMPS) ||
fieldType.equals(FieldType.INTERNAL_DMP_ENTRIES_DATASETS);
}
public static boolean isReferenceType(FieldType fieldType){
return fieldType.equals(FieldType.ORGANIZATIONS) || fieldType.equals(FieldType.RESEARCHERS) || fieldType.equals(FieldType.SERVICES) ||
fieldType.equals(FieldType.REGISTRIES) || fieldType.equals(FieldType.PUBLICATIONS) || fieldType.equals(FieldType.TAXONOMIES)||
fieldType.equals(FieldType.LICENSES) || fieldType.equals(FieldType.DATA_REPOSITORIES) || fieldType.equals(FieldType.PUB_REPOSITORIES)||
fieldType.equals(FieldType.JOURNAL_REPOSITORIES) || fieldType.equals(FieldType.EXTERNAL_DATASETS);
}
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){
return fieldType.equals(FieldType.SELECT) || fieldType.equals(FieldType.TAGS);
}
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) ;
}
}