summaryrefslogtreecommitdiff
path: root/src/section-1/AddressBook.java
blob: 9fcfa8289cb91407baa29ad070e716b3655123d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
package ca.mokhan.assignment1;

import java.util.Objects;

public class AddressBook implements Comparable<AddressBook> {
  private String businessPhone;
  private String cellPhone;
  private String facebookId;
  private String firstName = "";
  private String homeAddress;
  private String homePhone;
  private String lastName = "";
  private String middleName = "";
  private String personalWebSite;
  private String skypeId;

  public AddressBook() {
    this("");
  }

  public AddressBook(String firstName) {
    this(firstName, "", "");
  }

  public AddressBook(String firstName, String middleName, String lastName) {
    this(firstName, middleName, lastName, "", "", "", "", "", "", "");
  }

  public AddressBook(
      String firstName,
      String middleName,
      String lastName,
      String businessPhone,
      String cellPhone,
      String facebookId,
      String homeAddress,
      String homePhone,
      String personalWebSite,
      String skypeId) {
    this.businessPhone = businessPhone;
    this.cellPhone = cellPhone;
    this.facebookId = facebookId;
    this.firstName = firstName;
    this.homeAddress = homeAddress;
    this.homePhone = homePhone;
    this.lastName = lastName;
    this.middleName = middleName;
    this.personalWebSite = personalWebSite;
    this.skypeId = skypeId;
  }

  public String getBusinessPhone() {
    return this.businessPhone;
  }

  public String getCellPhone() {
    return this.cellPhone;
  }

  public String getFacebookId() {
    return this.facebookId;
  }

  public String getFirstName() {
    return this.firstName;
  }

  public String getHomeAddress() {
    return this.homeAddress;
  }

  public String getHomePhone() {
    return this.homePhone;
  }

  public String getLastName() {
    return this.lastName;
  }

  public String getMiddleName() {
    return this.middleName;
  }

  public String getPersonalWebSite() {
    return this.personalWebSite;
  }

  public String getSkypeId() {
    return this.skypeId;
  }

  public void setBusinessPhone(String value) {
    this.businessPhone = value;
  }

  public void setCellPhone(String value) {
    this.cellPhone = value;
  }

  public void setFacebookId(String value) {
    this.facebookId = value;
  }

  public void setFirstName(String name) {
    this.firstName = name;
  }

  public void setHomeAddress(String address) {
    this.homeAddress = address;
  }

  public void setHomePhone(String value) {
    this.homePhone = value;
  }

  public void setLastName(String name) {
    this.lastName = name;
  }

  public void setMiddleName(String name) {
    this.middleName = name;
  }

  public void setPersonalWebSite(String value) {
    this.personalWebSite = value;
  }

  public void setSkypeId(String value) {
    this.skypeId = value;
  }

  public static String compareNames(String name1, String name2) {
    return Integer.toString(name1.compareTo(name2));
  }

  public int compareTo(AddressBook other) {
    return this.firstName.compareTo(other.firstName)
        + this.middleName.compareTo(other.middleName)
        + this.lastName.compareTo(other.lastName);
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (!(o instanceof AddressBook)) return false;
    AddressBook that = (AddressBook) o;
    return Objects.equals(businessPhone, that.businessPhone)
        && Objects.equals(cellPhone, that.cellPhone)
        && Objects.equals(facebookId, that.facebookId)
        && Objects.equals(firstName, that.firstName)
        && Objects.equals(homeAddress, that.homeAddress)
        && Objects.equals(homePhone, that.homePhone)
        && Objects.equals(lastName, that.lastName)
        && Objects.equals(middleName, that.middleName)
        && Objects.equals(personalWebSite, that.personalWebSite)
        && Objects.equals(skypeId, that.skypeId);
  }

  @Override
  public int hashCode() {
    return Objects.hash(
        businessPhone,
        cellPhone,
        facebookId,
        firstName,
        homeAddress,
        homePhone,
        lastName,
        middleName,
        personalWebSite,
        skypeId);
  }

  @Override
  public String toString() {
    return this.firstName;
  }
}