package doc;
import java.util.ArrayList;
public class Person implements Comparable<Person>{
private String index;
private String name, firstname, street, streetnumber, city, postcode;
private ArrayList<Msn> numbers= new ArrayList<Msn>();
private ArrayList<Mail> mails= new ArrayList<Mail>();
public Person() {
name = "";
firstname = "";
street = "";
streetnumber = "";
city = "";
postcode = "";
index = "";
}
public Person(String index, String name, String firstname, String street,
String streetnumber, String city, String postcode,
ArrayList<Msn> numbers, ArrayList<Mail> mails) {
super();
this.index = index;
this.name = name;
this.firstname = firstname;
this.street = street;
this.streetnumber = streetnumber;
this.city = city;
this.postcode = postcode;
this.numbers = numbers;
this.mails = mails;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstnam) {
this.firstname = firstnam;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getPostcode() {
return postcode;
}
public void setPostcode(String postcode) {
this.postcode = postcode;
}
public ArrayList<Msn> getNumbers() {
return numbers;
}
public void setNumbers(ArrayList<Msn> arrayList) {
this.numbers = arrayList;
}
public ArrayList<Mail> getMails() {
return mails;
}
public void setMails(ArrayList<Mail> mails) {
this.mails = mails;
}
public String getStreetnumber() {
return streetnumber;
}
public void setStreetnumber(String streetnumber) {
this.streetnumber = streetnumber;
}
public String getPerson(){
String temp = new String();
temp = "Name: "+getName()+"\nVorname: "+getFirstname()+"\n"+
"Strasse: "+getStreet()+" "+getStreetnumber()+"\n"+
"PLZ: "+getPostcode()+"\nOrt: "+getCity()+"\n\n";
int n = numbers.size();
for (int i=0;i<n;i++){
temp = temp + numbers.get(i).getType()+" : "+numbers.get(i).getPrefix()+" "+
numbers.get(i).getCallnumber()+" ("+numbers.get(i).getUsing()+")"+"\nInfo: "+numbers.get(i).getDescription()+"\n";
}
int m = mails.size();
for (int i=0;i<m;i++){
temp = temp + "\nMail: "+mails.get(i).getMail()+"\nInfo: "+mails.get(i).getDescription();
}
return temp;
}
public String getIndex() {
return index;
}
public void setIndex(String index) {
this.index = index;
}
@Override
public int compareTo(Person p) {
if (name.compareToIgnoreCase(p.getName())==0){
if(firstname.compareToIgnoreCase(p.getFirstname())==0){
if(street.compareToIgnoreCase(p.getStreet())==0){
if(streetnumber.compareToIgnoreCase(p.getStreetnumber())==0){
if(city.compareToIgnoreCase(p.getCity())==0){
return 0;
}else{return city.compareToIgnoreCase(p.getCity());}
}else{return streetnumber.compareToIgnoreCase(p.getStreetnumber());}
}else{return street.compareToIgnoreCase(p.getStreet());}
}else{return firstname.compareToIgnoreCase(p.getFirstname());}
}else{return name.compareToIgnoreCase(p.getName());}
}
@Override
public boolean equals(Object obj) {
Person p = (Person)obj;
return getIndex().equals(p.getIndex());
}
@Override
public int hashCode() {
return index.hashCode();
}
public boolean specialCompare(Person p){
boolean marker = false;
if(
(getName().equalsIgnoreCase(p.getName()))
&&(getFirstname().equalsIgnoreCase(p.getFirstname()))
&&(getStreet().equalsIgnoreCase(p.getStreet()))
&&(getStreetnumber().equalsIgnoreCase(p.getStreetnumber()))
&&(getPostcode().equalsIgnoreCase(p.getPostcode())
&&(getCity().equalsIgnoreCase(p.getCity())))
){
marker = true;
}
return marker;
}
}