/** * Copyright (c) 2006-2011 Floggy Open Source Group. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.sourceforge.floggy.persistence.beans; import java.util.Arrays; import net.sourceforge.floggy.persistence.Persistable; /** * DOCUMENT ME! * * @author <a href="mailto:thiago.moreira@floggy.org">Thiago Moreira</a> * @version $Revision$ */ public class Patient extends Person implements Persistable { private static int TELEFONE_CASA = 0; private static int TELEFONE_CELULAR = 1; private static int TELEFONE_TRABALHO = 2; private String address; private String[] phones; private boolean insuredByGoverment; /** * Creates a new Patient object. */ public Patient() { this.phones = new String[3]; } /** * DOCUMENT ME! * * @param obj DOCUMENT ME! * * @return DOCUMENT ME! */ public boolean equals(Object obj) { if (this == obj) return true; if (!super.equals(obj)) return false; if (getClass() != obj.getClass()) return false; final Patient other = (Patient) obj; if (address == null) { if (other.address != null) return false; } else if (!address.equals(other.address)) return false; if (insuredByGoverment != other.insuredByGoverment) return false; if (!Arrays.equals(phones, other.phones)) return false; return true; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public String getAddress() { return address; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public String[] getPhones() { return phones; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public String getTelefoneCasa() { return this.phones[TELEFONE_CASA]; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public String getTelefoneCelular() { return this.phones[TELEFONE_CELULAR]; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public String getTelefoneTrabalho() { return this.phones[TELEFONE_TRABALHO]; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public int hashCode() { final int prime = 31; int result = super.hashCode(); result = (prime * result) + ((address == null) ? 0 : address.hashCode()); result = (prime * result) + (insuredByGoverment ? 1231 : 1237); result = (prime * result) + Patient.hashCode(phones); return result; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public boolean isInsuredByGoverment() { return insuredByGoverment; } /** * DOCUMENT ME! * * @param endereco DOCUMENT ME! */ public void setAddress(String endereco) { this.address = endereco; } /** * DOCUMENT ME! * * @param particular DOCUMENT ME! */ public void setInsuredByGoverment(boolean particular) { this.insuredByGoverment = particular; } /** * DOCUMENT ME! * * @param telefones DOCUMENT ME! */ public void setPhones(String[] telefones) { this.phones = telefones; } /** * DOCUMENT ME! * * @param telefone DOCUMENT ME! */ public void setTelefoneCasa(String telefone) { this.phones[TELEFONE_CASA] = telefone; } /** * DOCUMENT ME! * * @param telefone DOCUMENT ME! */ public void setTelefoneCelular(String telefone) { this.phones[TELEFONE_CELULAR] = telefone; } /** * DOCUMENT ME! * * @param telefone DOCUMENT ME! */ public void setTelefoneTrabalho(String telefone) { this.phones[TELEFONE_TRABALHO] = telefone; } private static int hashCode(Object[] array) { final int prime = 31; if (array == null) return 0; int result = 1; for (int index = 0; index < array.length; index++) { result = (prime * result) + ((array[index] == null) ? 0 : array[index].hashCode()); } return result; } }