1 package jimm.datavision.field; 2 import jimm.datavision.Report; 3 import jimm.datavision.Section; 4 import jimm.datavision.source.Column; 5 import jimm.util.I18N; 6 7 13 public class ColumnField extends Field { 14 15 protected Column column; 16 17 27 public ColumnField(Long id, Report report, Section section, Object value, 28 boolean visible) 29 { 30 super(id, report, section, value, visible); 31 column = report.findColumn((String )value); 32 if (column == null) { 33 String errorMsg = I18N.get("UnknownColumn.the_column") 34 + ' ' + (String )value + ' ' 35 + I18N.get("UnknownColumn.column_unknown"); 36 throw new IllegalArgumentException (errorMsg); 37 } 38 } 39 40 public String dragString() { 41 return typeString() + ":" + column.getId(); 42 } 43 44 49 public Column getColumn() { return column; } 50 51 56 public void setColumn(Column newColumn) { 57 if (column != newColumn) { 58 column = newColumn; 59 setChanged(); 60 notifyObservers(); 61 } 62 } 63 64 public String typeString() { return "column"; } 65 66 public String formulaString() { return "{" + value + "}"; } 67 68 74 public Object getValue() { return getReport().columnValue(column); } 75 76 82 public boolean canBeAggregated() { 83 return section != null && section.isDetail() && getColumn().isNumeric(); 85 } 86 87 } 88 | Popular Tags |