PageRenderTime 56ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/src/com/techventus/server/voice/datatypes/EmailAddress.java

http://google-voice-java.googlecode.com/
Java | 105 lines | 61 code | 13 blank | 31 comment | 4 complexity | 6ec10a589fa90226fa34bdca82fbfe5b MD5 | raw file
  1. /**
  2. *
  3. */
  4. package com.techventus.server.voice.datatypes;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import java.util.regex.Pattern;
  8. import gvjava.org.json.JSONArray;
  9. import gvjava.org.json.JSONException;
  10. import gvjava.org.json.JSONObject;
  11. import com.techventus.server.voice.util.ParsingUtil;
  12. /**
  13. * TODO support multiple email adresses, since its an array (but usually only has one address in there)
  14. */
  15. public class EmailAddress {
  16. String address;
  17. /**
  18. *
  19. * @param pId
  20. */
  21. public EmailAddress(String pId) {
  22. address = pId;
  23. }
  24. public String toString() {
  25. String ret="{address="+address+"}";
  26. return ret;
  27. }
  28. /**
  29. *
  30. * @param phonesJSON
  31. * @throws JSONException
  32. */
  33. public EmailAddress(JSONObject phonesJSON) throws JSONException {
  34. if(phonesJSON.has("emailAddresses")) address = phonesJSON.getString("emailAddresses");
  35. }
  36. /**
  37. *
  38. * @param jsonPart
  39. * @return List<EmailAddress>
  40. */
  41. public final static List<EmailAddress> createEmailAddressListFromJsonPartResponse(String jsonPart) {
  42. List<EmailAddress> emailAddresses = new ArrayList<EmailAddress>();
  43. if(jsonPart!=null &! jsonPart.equals("")) {
  44. jsonPart = jsonPart.replaceAll(",\"", ",#");
  45. String[] emailAddressesStrings = jsonPart.split(Pattern.quote(","));
  46. for (int j = 0; j < emailAddressesStrings.length; j++) {
  47. String gId = ParsingUtil.removeUninterestingParts(emailAddressesStrings[j], "\"", "\"", false);
  48. emailAddresses.add(new EmailAddress(gId));
  49. }
  50. }
  51. return emailAddresses;
  52. }
  53. public String toJson() {
  54. return address;
  55. }
  56. /**
  57. *
  58. * @param settingsJSON
  59. * @return EmailAddress[]
  60. */
  61. public final static EmailAddress[] createArrayFromJsonObject(JSONObject settingsJSON) {
  62. JSONArray addresses;
  63. EmailAddress[] ret;
  64. try {
  65. addresses = settingsJSON.getJSONArray("emailAddresses");
  66. ret = new EmailAddress[addresses.length()];
  67. for (int i = 0; i < addresses.length(); i++) {
  68. ret[i] = new EmailAddress(addresses.getString(i));
  69. }
  70. } catch (JSONException e) {
  71. try {
  72. String lAddress = settingsJSON.getString("emailAddresses");
  73. ret = new EmailAddress[]{new EmailAddress(lAddress)};
  74. } catch (JSONException e2) {
  75. ret = new EmailAddress[0];
  76. }
  77. }
  78. return ret;
  79. }
  80. /**
  81. * @return the address
  82. */
  83. public String getAddress() {
  84. return address;
  85. }
  86. /**
  87. * @param address the address to set
  88. */
  89. public void setAddress(String address) {
  90. this.address = address;
  91. }
  92. }