/** Provides the empty String if attribute doesn't exist. */ @Override public Object getValueAt(int row, int col) { // get roster entry for row RosterEntry re = Roster.getDefault().getGroupEntry(rosterGroup, row); if (re == null) { log.debug("roster entry is null!"); return null; } switch (col) { case IDCOL: return re.getId(); case ADDRESSCOL: return re.getDccLocoAddress().getNumber(); case DECODERCOL: return re.getDecoderModel(); case MODELCOL: return re.getModel(); case ROADNAMECOL: return re.getRoadName(); case ROADNUMBERCOL: return re.getRoadNumber(); case MFGCOL: return re.getMfg(); case ICONCOL: return getIcon(re); case OWNERCOL: return re.getOwner(); case DATEUPDATECOL: return re.getDateUpdated(); case PROTOCOL: return re.getProtocolAsString(); default: break; } String value = re.getAttribute(getColumnName(col).replaceAll("\\s", "")); // NOI18N if (value != null) { return value; } return ""; }