/** * This Source Code Form is subject to the terms of the Mozilla Public License, * v. 2.0. If a copy of the MPL was not distributed with this file, You can * obtain one at http://mozilla.org/MPL/2.0/. OpenMRS is also distributed under * the terms of the Healthcare Disclaimer located at http://openmrs.org/license. * * Copyright (C) OpenMRS Inc. OpenMRS is a registered trademark and the OpenMRS * graphic logo is a trademark of OpenMRS Inc. */ package org.openmrs; import java.util.HashSet; import java.util.Set; import org.codehaus.jackson.annotate.JsonIgnore; /** * Field * * @version 1.0 */ public class Field extends BaseOpenmrsMetadata { public static final long serialVersionUID = 4454L; // Fields private Integer fieldId; private FieldType fieldType; private Concept concept; private String tableName; private String attributeName; private String defaultValue; private Boolean selectMultiple = false; private Set<FieldAnswer> answers; // Constructors /** default constructor */ public Field() { } /** constructor with id */ public Field(Integer fieldId) { this.fieldId = fieldId; } // Property accessors /** * @return Returns the fieldId. */ public Integer getFieldId() { return fieldId; } /** * @param fieldId The fieldId to set. */ public void setFieldId(Integer fieldId) { this.fieldId = fieldId; } /** * @return Returns the fieldType. */ public FieldType getFieldType() { return fieldType; } /** * @param fieldType The fieldType to set. */ public void setFieldType(FieldType fieldType) { this.fieldType = fieldType; } /** * @return Returns the concept. */ public Concept getConcept() { return concept; } /** * @param concept The concept to set. */ public void setConcept(Concept concept) { this.concept = concept; } /** * @return Returns the tableName. */ public String getTableName() { return tableName; } /** * @param tableName The tableName to set. */ public void setTableName(String tableName) { this.tableName = tableName; } /** * @return Returns the attributeName. */ public String getAttributeName() { return attributeName; } /** * @param attributeName The attributeName to set. */ public void setAttributeName(String attributeName) { // this.dirty = true; this.attributeName = attributeName; } /** * @return Returns the default value. */ public String getDefaultValue() { return defaultValue; } /** * @param defaultValue The defaultValue to set. */ public void setDefaultValue(String defaultValue) { this.defaultValue = defaultValue; } /** * @deprecated as of 2.0, use {@link #getSelectMultiple()} */ @Deprecated @JsonIgnore public Boolean isSelectMultiple() { return getSelectMultiple(); } /** * @return Returns the selectMultiple. */ public Boolean getSelectMultiple() { return selectMultiple; } /** * @param selectMultiple The selectMultiple to set. */ public void setSelectMultiple(Boolean selectMultiple) { this.selectMultiple = selectMultiple; } /** * @return Returns the fieldAnswers. */ public Set<FieldAnswer> getAnswers() { return answers; } /** * @param fieldAnswers The fieldAnswers to set. */ public void setAnswers(Set<FieldAnswer> fieldAnswers) { this.answers = fieldAnswers; } /** * Adds a field answer to the list of field answers * * @param fieldAnswer FieldAnswer to be added */ public void addAnswer(FieldAnswer fieldAnswer) { if (answers == null) { answers = new HashSet<FieldAnswer>(); } if (!answers.contains(fieldAnswer) && fieldAnswer != null) { answers.add(fieldAnswer); } } /** * Removes a field answer from the list of field answers * * @param fieldAnswer FieldAnswer to be removed */ public void removeAnswer(FieldAnswer fieldAnswer) { if (answers != null) { answers.remove(fieldAnswer); } } /** * @since 1.5 * @see org.openmrs.OpenmrsObject#getId() */ @Override public Integer getId() { return getFieldId(); } /** * @since 1.5 * @see org.openmrs.OpenmrsObject#setId(java.lang.Integer) */ @Override public void setId(Integer id) { setFieldId(id); } }