litesoft
@ 948
litesoft / trunk / GWT_Sandbox / FormEngine / src / com / temp / client / foundation / widget / table / DataRow.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
package com.temp.client.foundation.widget.table; import com.temp.shared.utils.*; import java.util.*; /** * @param <F> - the field key type * * @author paule */ public abstract class DataRow<F> { private Map<F, Object> fieldValues = new HashMap<F, Object>(); private int rowNumber; public Object getFieldValue( F field ) { return fieldValues.get( field ); } public final String getNonNullValueString( F field ) { return StringUtils.deNull( toString( field ) ); } public String getValueString( F field ) { Object value = getFieldValue( field ); return (value != null ? value.toString() : null); } public void setFieldValue( F field, Object value ) { fieldValues.put( field, value ); } protected String toString( F field ) { Object value = getFieldValue( field ); if ( null != value ) { return (value instanceof Displayable) ? ((Displayable) value).getDisplayString() : value.toString(); } return null; } protected void addFieldValue( F field, Object value ) { if ( field != null ) { if ( field instanceof ColumnHidable ) { if ( ((ColumnHidable) field).hideColumn() ) { return; } } fieldValues.put( field, value ); } } public void setId( int rowNumber ) { this.rowNumber = rowNumber; } public int getRowNumber() { return rowNumber; } } |