package dk.thoerup.android.traininfo.common; import java.io.Serializable; import org.simpleframework.xml.Element; import org.simpleframework.xml.Root; @Root(name="station", strict=false) public class StationEntry implements Serializable { @Element private int id; @Element private String name; @Element private double latitude; @Element private double longitude; @Element(name="regional") private boolean isRegional = false; //@Element(name="regionalcode", required=false) //only needed for transfer to google service private String regional = null; @Element(name="strain") private boolean isStrain = false; //@Element(name="straincode", required=false) //only needed for transfer to google service private String strain = null; @Element(name="metro") private boolean isMetro = false; //@Element(name="metrocode", required=false) //only needed for transfer to google service private String metro = null; @Element private String address; @Element private int calcdist; @Element(required=false) private String aliases[]; /*used client side - do not serialize */ transient public String nameLower; transient public String nameInternational; public void updateSearch() { this.nameLower = name.toLowerCase(); this.nameInternational = name.toLowerCase().replace("æ", "ae").replace("ø", "oe").replace("å", "aa"); } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getLatitude() { return latitude; } public void setLatitude(double latitude) { this.latitude = latitude; } public double getLongitude() { return longitude; } public void setLongitude(double longitude) { this.longitude = longitude; } public String getRegional() { return regional; } public void setRegional(String regional) { this.regional = regional; } public boolean isRegional() { return isRegional; } public void setIsRegional(boolean isRegional) { this.isRegional = isRegional; } public String getStrain() { return strain; } public void setStrain(String strain) { this.strain = strain; } public boolean isStrain() { return isStrain; } public void setIsStrain(boolean isStrain) { this.isStrain = isStrain; } public String getMetro() { return metro; } public void setMetro(String metro) { this.metro = metro; } public boolean isMetro() { return isMetro; } public void setIsMetro(boolean isMetro) { this.isMetro = isMetro; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public int getCalcdist() { return calcdist; } public void setCalcdist(int calcdist) { this.calcdist = calcdist; } public void setAliases(String aliases[]) { this.aliases = aliases; } public String[] getAliases() { return aliases; } ////////////////////////////////////////// public String toCSV() { StringBuilder sb = new StringBuilder(); sb.append(id).append(";"); sb.append(name).append(";"); sb.append(latitude).append(";"); sb.append(longitude).append(";"); sb.append(calcdist).append(";"); sb.append(address).append(";"); sb.append(isRegional).append(";"); sb.append(isStrain).append(";"); sb.append(isMetro).append(";"); return sb.toString(); } public static StationEntry fromCSV(String csv) { String parts[] = csv.split(";"); StationEntry st = new StationEntry(); st.id = Integer.parseInt( parts[0] ); st.name = parts[1]; st.latitude = Double.parseDouble(parts[2]); st.longitude = Double.parseDouble(parts[3]); st.calcdist = Integer.parseInt(parts[4]); st.address = parts[5]; st.isRegional = Boolean.parseBoolean(parts[6]); st.isStrain = Boolean.parseBoolean(parts[7]); st.isMetro = Boolean.parseBoolean(parts[8]); return st; } }