1 57 58 package util; 59 60 import addressbook.wsiftypes.Address; 61 import addressbook.wsiftypes.Phone; 62 63 66 public class AddressUtility extends Address { 67 public AddressUtility() { 68 super(); 69 } 70 71 public AddressUtility(Address a) { 72 super( 73 a.getStreetNum(), 74 a.getStreetName(), 75 a.getCity(), 76 a.getState(), 77 a.getZip(), 78 a.getPhoneNumber()); 79 } 80 81 public boolean equals(Address a) { 82 if (a == null) 83 return false; 84 85 if (super.getStreetNum() != a.getStreetNum()) 86 return false; 87 if (!matches(super.getStreetName(), a.getStreetName())) 88 return false; 89 if (!matches(super.getCity(), a.getCity())) 90 return false; 91 if (!matches(super.getState(), a.getState())) 92 return false; 93 if (super.getZip() != a.getZip()) 94 return false; 95 96 Phone p1 = super.getPhoneNumber(); 97 Phone p2 = a.getPhoneNumber(); 98 99 if (p1.getAreaCode() != p2.getAreaCode()) 100 return false; 101 if (!matches(p1.getExchange(), p2.getExchange())) 102 return false; 103 if (!matches(p1.getNumber(), p2.getNumber())) 104 return false; 105 106 return true; 107 } 108 109 public void copy(Address a) { 110 a.setStreetNum(super.getStreetNum()); 111 a.setStreetName(super.getStreetName()); 112 a.setCity(super.getCity()); 113 a.setState(super.getState()); 114 a.setZip(super.getZip()); 115 a.setPhoneNumber(super.getPhoneNumber()); 116 } 117 118 public Address copy() { 119 Address a = new Address(); 120 copy(a); 121 return a; 122 } 123 124 private boolean matches(String s1, String s2) { 125 if (s1 == null && s2 == null) 126 return true; 127 if (s1 == null || s2 == null) 128 return false; 129 if (!s1.equals(s2)) 130 return false; 131 return true; 132 } 133 } 134 | Popular Tags |