/*******************************************************************************
* Copyright (c) 2011 Michel DAVID mimah35-at-gmail.com
*
* 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 3 of the License.
*
* 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, see <http://www.gnu.org/licenses/>.
******************************************************************************/
package fr.gotorennes.domain;
import fr.gotorennes.util.AsciiUtils;
import android.database.Cursor;
import android.os.Parcel;
import android.os.Parcelable;
public class Station extends Localisable<Long> implements Comparable<Station> {
public String code;
public String nom;
public String commune;
public boolean accessible;
public boolean banc;
public boolean eclairage;
public boolean couvert;
public Station() {
super();
nom = "";
}
public Station(Cursor cursor) {
id = cursor.getLong(cursor.getColumnIndex("_id"));
code = cursor.getString(cursor.getColumnIndex("code"));
nom = cursor.getString(cursor.getColumnIndex("nom"));
commune = cursor.getString(cursor.getColumnIndex("commune"));
latitude = cursor.getDouble(cursor.getColumnIndex("latitude"));
longitude = cursor.getDouble(cursor.getColumnIndex("longitude"));
accessible = cursor.getInt(cursor.getColumnIndex("accessible")) == 1;
banc = cursor.getInt(cursor.getColumnIndex("banc")) == 1;
eclairage = cursor.getInt(cursor.getColumnIndex("eclairage")) == 1;
couvert = cursor.getInt(cursor.getColumnIndex("couvert")) == 1;
}
public Station(Parcel in) {
super(in);
code = in.readString();
nom = in.readString();
commune = in.readString();
accessible = in.readInt() == 1;
banc = in.readInt() == 1;
eclairage = in.readInt() == 1;
couvert = in.readInt() == 1;
}
private String toString = null;
@Override
public String toString() {
if(toString == null) {
toString = nom + " " + AsciiUtils.convertNonAscii(nom);
}
return toString;
}
@Override
public boolean equals(Object obj) {
Station autre = (Station) obj;
return id == autre.id;
}
@Override
public void writeToParcel(Parcel out, int flags) {
super.writeToParcel(out, flags);
out.writeString(code);
out.writeString(nom);
out.writeString(commune);
out.writeInt(accessible ? 1 : 0);
out.writeInt(banc ? 1 : 0);
out.writeInt(eclairage ? 1 : 0);
out.writeInt(couvert ? 1 : 0);
}
public static final Parcelable.Creator<Station> CREATOR = new Parcelable.Creator<Station>() {
@Override
public Station createFromParcel(Parcel in) {
return new Station(in);
}
@Override
public Station[] newArray(int size) {
return new Station[size];
}
};
@Override
public int compareTo(Station another) {
return nom.compareTo(another.nom);
}
@Override
public int describeContents() {
return 0;
}
}