package com.constellio.app.entities.schemasDisplay.enums;
import java.util.ArrayList;
import java.util.List;
import com.constellio.model.entities.schemas.MetadataValueType;
public enum MetadataInputType {
FIELD,
RADIO_BUTTONS,
DROPDOWN,
CHECKBOXES,
TEXTAREA,
RICHTEXT,
LOOKUP,
HIDDEN,
CUSTOM,
CONTENT,
CONTENT_CHECK_IN_CHECK_OUT,
URL,
PASSWORD;
public static List<MetadataInputType> getAvailableMetadataInputTypesFor(MetadataValueType type, boolean multivalue) {
List<MetadataInputType> inputTypes = new ArrayList<>();
switch (type) {
case BOOLEAN:
break;
case STRUCTURE:
break;
case ENUM:
if (multivalue) {
inputTypes.add(CHECKBOXES);
inputTypes.add(DROPDOWN);
} else {
inputTypes.add(RADIO_BUTTONS);
inputTypes.add(DROPDOWN);
}
break;
case TEXT:
inputTypes.add(TEXTAREA);
inputTypes.add(RICHTEXT);
break;
case CONTENT:
inputTypes.add(CONTENT);
inputTypes.add(CONTENT_CHECK_IN_CHECK_OUT);
break;
case DATE:
break;
case DATE_TIME:
break;
case INTEGER:
break;
case REFERENCE:
inputTypes.add(LOOKUP);
inputTypes.add(DROPDOWN);
if (multivalue) {
inputTypes.add(CHECKBOXES);
} else {
inputTypes.add(RADIO_BUTTONS);
}
break;
case STRING:
inputTypes.add(FIELD);
inputTypes.add(URL);
inputTypes.add(PASSWORD);
break;
case NUMBER:
break;
}
return inputTypes;
}
public static String getCaptionFor(MetadataInputType type) {
String caption = "";
switch (type) {
case FIELD:
caption = "MetadataInputType.field";
break;
case RADIO_BUTTONS:
caption = "MetadataInputType.radio";
break;
case DROPDOWN:
caption = "MetadataInputType.dropdown";
break;
case CHECKBOXES:
caption = "MetadataInputType.checkboxe";
break;
case TEXTAREA:
caption = "MetadataInputType.textarea";
break;
case RICHTEXT:
caption = "MetadataInputType.richtxt";
break;
case LOOKUP:
caption = "MetadataInputType.lookup";
break;
case HIDDEN:
caption = "MetadataInputType.hidden";
break;
case CUSTOM:
caption = "MetadataInputType.custom";
break;
case CONTENT:
caption = "MetadataInputType.content";
break;
case CONTENT_CHECK_IN_CHECK_OUT:
caption = "MetadataInputType.contentcheck";
break;
case URL:
caption = "MetadataInputType.url";
break;
case PASSWORD:
caption = "MetadataInputType.password";
break;
}
return caption;
}
}