package model.manager.exports; import java.io.Serializable; /** * Object representation of a simple data export column. */ public class ScriptColumn implements ExportColumn, Serializable { private static final long serialVersionUID = -7073466816205716139L; public static final String COL_ID = "prescriptionID"; public static final String COL_DATE = "date"; public static final String COL_DURATION = "duration"; public static final String COL_DRUGINFO = "drugInfo"; public static final ScriptColumn SCRIPTID = new ScriptColumn("Prescription ID", "$!{fn.replaceSeperator($fn.getScriptField(\"" + COL_ID + "\"))}"); public static final ScriptColumn DATE = new ScriptColumn("Prescription Date", "$!{fn.formatDate('ymd', $fn.getScriptField(\"" + COL_DATE + "\"))}"); public static final ScriptColumn DURATION = new ScriptColumn("Duration", "$!{fn.getScriptField(\"" + COL_DURATION + "\")}"); public static final ScriptColumn DRUGS = new ScriptColumn("Drugs", "$!{fn.replaceSeperator($fn.getScriptField(\"" + COL_DRUGINFO + "\"))}"); public static final ExportColumn[] ALL = new ExportColumn[] { SCRIPTID, DATE, DURATION, DRUGS }; public static final String COLUMN_TYPE = "Episode"; private String columnName; private String template; public ScriptColumn() { } public ScriptColumn(String name, String template) { columnName = name; this.setTemplate(template); } @Override public String toTemplateString() { return getTemplate(); } @Override public String getTemplateColumnName() { return columnName; } @Override public String getColumnName() { return columnName; } public void setColumnName(String columnName) { this.columnName = columnName; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((columnName == null) ? 0 : columnName.hashCode()); result = prime * result + ((template == null) ? 0 : template.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; ScriptColumn other = (ScriptColumn) obj; if (columnName == null) { if (other.columnName != null) return false; } else if (!columnName.equals(other.columnName)) return false; if (template == null) { if (other.template != null) return false; } else if (!template.equals(other.template)) return false; return true; } @Override public String toString() { return columnName; } public void setTemplate(String template) { this.template = template; } public String getTemplate() { return template; } @Override public String getColumnType() { return COLUMN_TYPE; } }