115 lines
4.8 KiB
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_ENTRIES_DESCRIPTIONS(Names.InternalDmpDescriptions),
|
|
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 InternalDmpDescriptions = "internalDmpDescriptions";
|
|
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);
|
|
}
|
|
|
|
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) || fieldType.equals(FieldType.INTERNAL_DMP_ENTRIES_RESEARCHERS) || fieldType.equals(FieldType.INTERNAL_DMP_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) ;
|
|
}
|
|
}
|