Aegis/app/src/main/java/me/impy/aegis/db/DatabaseEntry.java

65 lines
1.4 KiB
Java
Raw Normal View History

package me.impy.aegis.db;
import org.json.JSONException;
import org.json.JSONObject;
2017-08-26 21:15:53 +02:00
import java.io.Serializable;
2017-08-26 21:15:53 +02:00
import me.impy.aegis.crypto.KeyInfo;
public class DatabaseEntry implements Serializable {
2017-12-27 21:01:53 +01:00
private long _id = -1;
private String _name = "";
private String _icon = "";
private KeyInfo _info;
2017-08-26 21:15:53 +02:00
public DatabaseEntry() {
this(new KeyInfo());
}
2017-08-26 21:15:53 +02:00
public DatabaseEntry(KeyInfo info) {
_info = info;
}
public JSONObject serialize() throws JSONException {
JSONObject obj = new JSONObject();
2017-08-26 21:15:53 +02:00
obj.put("name", _name);
obj.put("url", _info.getURL());
return obj;
}
public void deserialize(JSONObject obj) throws Exception {
2017-08-26 21:15:53 +02:00
_name = obj.getString("name");
_info = KeyInfo.fromURL(obj.getString("url"));
}
2017-12-27 21:01:53 +01:00
public long getID() {
return _id;
}
2017-08-26 21:15:53 +02:00
public String getName() {
return _name;
}
public String getIcon() {
return _icon;
}
public KeyInfo getInfo() {
return _info;
}
2017-12-27 21:01:53 +01:00
void setID(long id) throws Exception {
if (_id != -1) {
throw new Exception("this entry has already received an id");
}
_id = id;
}
2017-08-26 21:15:53 +02:00
public void setName(String name) {
_name = name;
}
public void setIcon(String icon) {
_icon = icon;
}
public void setInfo(KeyInfo info) {
_info = info;
}
}