/** * Copyright (C) 2009 Michael A. MacDonald */ package android.androidVNC; import android.content.ContentValues; import android.database.sqlite.SQLiteDatabase; import android.widget.ImageView.ScaleType; import com.antlersoft.android.dbimpl.NewInstance; import java.lang.Comparable; /** * @author Michael A. MacDonald * */ public class ConnectionBean extends AbstractConnectionBean implements Comparable<ConnectionBean> { static final NewInstance<ConnectionBean> newInstance=new NewInstance<ConnectionBean>() { public ConnectionBean get() { return new ConnectionBean(); } }; public ConnectionBean() { set_Id(0); setAddress(""); setPassword(""); setKeepPassword(true); setNickname(""); setUserName(""); setPort(5900); setColorModel(COLORMODEL.C64.nameString()); //setScaleMode(ScaleType.MATRIX); // setInputMode(VncCanvasActivity.TOUCH_ZOOM_MODE); setScaleMode(ScaleType.CENTER); setInputMode(VncCanvasActivity.MOUSE_POINT); setRepeaterId(""); setMetaListId(1); } boolean isNew() { return get_Id()== 0; } void save(SQLiteDatabase database) { ContentValues values=Gen_getValues(); values.remove(GEN_FIELD__ID); if ( ! getKeepPassword()) { values.put(GEN_FIELD_PASSWORD, ""); } if ( isNew()) { set_Id(database.insert(GEN_TABLE_NAME, null, values)); } else { database.update(GEN_TABLE_NAME, values, GEN_FIELD__ID + " = ?", new String[] { Long.toString(get_Id()) }); } } ScaleType getScaleMode() { return ScaleType.valueOf(getScaleModeAsString()); } void setScaleMode(ScaleType value) { setScaleModeAsString(value.toString()); } @Override public String toString() { if ( isNew()) { return "New"; } return getNickname()+":"+getAddress()+":"+getPort(); } /* (non-Javadoc) * @see java.lang.Comparable#compareTo(java.lang.Object) */ @Override public int compareTo(ConnectionBean another) { int result = getNickname().compareTo(another.getNickname()); if (result == 0) { result = getAddress().compareTo(another.getAddress()); if ( result == 0) { result = getPort() - another.getPort(); } } return result; } }