1/**
2 * Copyright (c) 2008, http://www.snakeyaml.org
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *     http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.yaml.snakeyaml.recursive;
17
18import java.util.Date;
19
20public abstract class AbstractHuman {
21    private String name;
22    private Date birthday;
23    private String birthPlace;
24
25    public String getName() {
26        return name;
27    }
28
29    public void setName(String name) {
30        this.name = name;
31    }
32
33    public Date getBirthday() {
34        return birthday;
35    }
36
37    public void setBirthday(Date birthday) {
38        this.birthday = birthday;
39    }
40
41    public String getBirthPlace() {
42        return birthPlace;
43    }
44
45    public void setBirthPlace(String birthPlace) {
46        this.birthPlace = birthPlace;
47    }
48
49    @Override
50    public int hashCode() {
51        final int prime = 31;
52        int result = 1;
53        result = prime * result + ((birthPlace == null) ? 0 : birthPlace.hashCode());
54        result = prime * result + ((birthday == null) ? 0 : birthday.hashCode());
55        result = prime * result + ((name == null) ? 0 : name.hashCode());
56        return result;
57    }
58
59    @Override
60    public boolean equals(Object obj) {
61        if (this == obj)
62            return true;
63        if (obj == null)
64            return false;
65        if (getClass() != obj.getClass())
66            return false;
67        AbstractHuman other = (AbstractHuman) obj;
68        if (birthPlace == null) {
69            if (other.birthPlace != null)
70                return false;
71        } else if (!birthPlace.equals(other.birthPlace))
72            return false;
73        if (birthday == null) {
74            if (other.birthday != null)
75                return false;
76        } else if (!birthday.equals(other.birthday))
77            return false;
78        if (name == null) {
79            if (other.name != null)
80                return false;
81        } else if (!name.equals(other.name))
82            return false;
83        return true;
84    }
85
86}
87