package eu.eudat.migration.entities; import eu.eudat.models.data.components.commons.ViewStyle; import javax.persistence.*; import java.util.Date; @Entity @Table(name = "question_formats") public class QuestionFormat { @Id private Long id; private String title; private String description; @Column(name = "created_at") @Temporal(TemporalType.TIMESTAMP) private Date createdAt; @Column(name = "updated_at") @Temporal(TemporalType.TIMESTAMP) private Date updatedAt; @Column(name = "option_based") private Boolean optionBased; private FormatType formattype; public enum FormatType { TEXTAREA, TEXT_FIELD, RADIOBUTTON, CHECKBOX, DROPDOWN, MULTI_SELECT, DATE, RDA_METADATA } @Override public String toString() { return "QuestionFormat{" + "id=" + id + ", title='" + title + '\'' + ", description='" + description + '\'' + ", createdAt=" + createdAt + ", updatedAt=" + updatedAt + ", optionBased=" + optionBased + ", formattype=" + formattype + '}'; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Date getCreatedAt() { return createdAt; } public void setCreatedAt(Date createdAt) { this.createdAt = createdAt; } public Date getUpdatedAt() { return updatedAt; } public void setUpdatedAt(Date updatedAt) { this.updatedAt = updatedAt; } public Boolean getOptionBased() { return optionBased; } public void setOptionBased(Boolean optionBased) { this.optionBased = optionBased; } public FormatType getFormattype() { return formattype; } public void setFormattype(FormatType formattype) { this.formattype = formattype; } public ViewStyle buildViewStyle() { ViewStyle viewStyle = new ViewStyle(); viewStyle.setCssClass(""); switch (formattype) { case TEXT_FIELD: viewStyle.setRenderStyle("freetext"); break; case TEXTAREA: viewStyle.setRenderStyle("richTextarea"); break; case CHECKBOX: viewStyle.setRenderStyle("checkBox"); break; case RADIOBUTTON: viewStyle.setRenderStyle("radiobox"); break; case DATE: viewStyle.setRenderStyle("datePicker"); break; case DROPDOWN: case MULTI_SELECT: viewStyle.setRenderStyle("combobox"); break; default: break; } return viewStyle; } }