diff options
author | Camil Staps | 2015-04-11 13:45:58 +0200 |
---|---|---|
committer | Camil Staps | 2015-04-11 13:45:58 +0200 |
commit | 95bf4cf545e4491c05a509837c3fc8ea3c782cc6 (patch) | |
tree | 5cb2cf58c33e14a016e2d4c018cc18dc49d490b4 /app/src/main/java/com/camilstaps/common/DatedString.java | |
parent | Swiping to previous dates works for daily readings (not for their bible texts) (diff) |
General improvements & continuation of development
Diffstat (limited to 'app/src/main/java/com/camilstaps/common/DatedString.java')
-rw-r--r-- | app/src/main/java/com/camilstaps/common/DatedString.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/app/src/main/java/com/camilstaps/common/DatedString.java b/app/src/main/java/com/camilstaps/common/DatedString.java new file mode 100644 index 0000000..a452ab0 --- /dev/null +++ b/app/src/main/java/com/camilstaps/common/DatedString.java @@ -0,0 +1,55 @@ +package com.camilstaps.common; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.lang.reflect.InvocationTargetException; +import java.text.ParseException; + +/** + * Created by camilstaps on 11-4-15. + */ +public class DatedString { + + protected final Date date; + protected final String string; + + public DatedString(Date date, String string) { + this.date = date; + this.string = string; + } + + public String getString() { + return string; + } + + public Date getDate() { + return date; + } + + @Override + public String toString() { + JSONObject json = new JSONObject(); + try { + json.put("date", date.toString()); + json.put("text", string); + } catch (JSONException e) {} + return json.toString(); + } + + public static Object fromString(String s, Class castTo) throws JSONException, ParseException { + JSONObject json = new JSONObject(s); + try { + return castTo.cast(castTo.getDeclaredConstructor(Date.class, String.class).newInstance(new Date(json.getString("date")), json.getString("text"))); + } catch (InstantiationException e) { + return null; + } catch (IllegalAccessException e) { + return null; + } catch (InvocationTargetException e) { + return null; + } catch (NoSuchMethodException e) { + return null; + } + } + +} |