/* * (C) Copyright 2015 by fr3ts0n <erwin.scheuch-heilig@gmx.at> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA */ package com.fr3ts0n.ecu; import com.fr3ts0n.pvs.IndexedProcessVar; /** * ECU fault code * * @author erwin */ public class EcuCodeItem extends IndexedProcessVar implements Comparable<EcuCodeItem> { /** unique class id*/ public static final long serialVersionUID = -1; // Field IDs public static final int FID_CODE = 0; public static final int FID_DESCRIPT = 1; public static final int FID_STATUS = 2; public static final String[] FIELDS = { "CODE", "DESCRIPTION", "STATUS", }; public EcuCodeItem() { } /** Creates a new instance of EcuCodeItem * @param code String representation of DFC * @param description descriptive text of DFC */ public EcuCodeItem(String code, String description) { put(FID_CODE, code); put(FID_DESCRIPT, description); } /** Creates a new instance of ObdCodeItem * @param numericCode numeric code ID * @param description descriptive text of DFC */ public EcuCodeItem(int numericCode, String description) { put(FID_CODE, String.valueOf(numericCode)); put(FID_DESCRIPT, description); } public String[] getFields() { return ObdCodeItem.FIELDS; } /** * Return String representation of Code item * @return String representation of code */ @Override public String toString() { String result = ""; for(int i=0; i<FIELDS.length; i++) { Object val = get(i); if(val != null) { result += String.valueOf(val)+" "; } } return result; } /** * Implementation of Comparable to allow sorting * @param o the other object * @return result of comparison */ public int compareTo(EcuCodeItem o) { return toString().compareTo(o.toString()); } }