1 package org.myorg.jpatickets.bo;
2
3 import java.io.Serializable;
4
5 import javax.persistence.Column;
6 import javax.persistence.Embeddable;
7
8 @Embeddable
9 public class Address implements Serializable {
10 private static final long serialVersionUID = 5678018330323499890L;
11 @Column(name="STREET", length=20)
12 private String street;
13 @Column(name="CITY", length=20)
14 private String city;
15 @Column(name="STATE", length=2)
16 private String state;
17 @Column(name="POSTAL_CODE")
18 private int zipCode;
19
20 public String getStreet() { return street; }
21 public void setStreet(String street) {
22 this.street = street;
23 }
24 public Address withStreet(String street) {
25 setStreet(street);
26 return this;
27 }
28
29 public String getCity() { return city; }
30 public void setCity(String city) {
31 this.city = city;
32 }
33 public Address withCity(String city) {
34 setCity(city);
35 return this;
36 }
37
38 public String getState() { return state; }
39 public void setState(String state) {
40 this.state = state;
41 }
42 public Address withState(String state) {
43 setState(state);
44 return this;
45 }
46
47 public int getZipCode() { return zipCode; }
48 public void setZipCode(int zipCode) {
49 this.zipCode = zipCode;
50 }
51 public Address withZipCode(int zipCode) {
52 setZipCode(zipCode);
53 return this;
54 }
55
56
57 @Override
58 public int hashCode() {
59 final int prime = 31;
60 int result = 1;
61 result = prime * result + ((city == null) ? 0 : city.hashCode());
62 result = prime * result + ((state == null) ? 0 : state.hashCode());
63 result = prime * result + ((street == null) ? 0 : street.hashCode());
64 result = prime * result + zipCode;
65 return result;
66 }
67
68
69 @Override
70 public boolean equals(Object obj) {
71 if (this == obj) { return true; }
72 if (obj == null) { return false; }
73 if (getClass() != obj.getClass()) { return false; }
74 Address other = (Address) obj;
75
76 return (city == null ? other.city == null : city.equals(other.city)) &&
77 (state == null ? other.state == null : state.equals(other.state)) &&
78 (street == null ? other.street == null : street.equals(other.street)) &&
79 (zipCode == other.zipCode);
80 }
81
82
83 }