Overriding toString, equals, hashCode and compareTo
Hi,
do you guys think this class is ok regarding to equals, compareTo, toString and hashCode? I think it's ok but I might be missing some hole.
publicclass AutenticationDataVOimplements Serializable, Comparable{
privatefinal String login;
privatefinal String password;
public AutenticationDataVO(String login, String password){
if (login ==null)
thrownew IllegalArgumentException("Login n鉶 pode ter o valor null");
if (password ==null)
thrownew IllegalArgumentException("Password n鉶 pode ter o valor null");
this.login=login;
this.password=password;
};
public String getLogin(){
return login;
}
public String getPassword(){
return password;
}
public String toString(){
StringBuffer sb =new StringBuffer();
sb.append("[");
sb.append("login=");
if (login !=null){
sb.append(login);
}
sb.append(";");
sb.append("password=");
if ( password!=null){
sb.append(password);
}
sb.append("]");
return sb.toString();
}
publicint hashCode(){
return this.toString().hashCode();
}
publicboolean equals(Object obj){
boolean answer =false;
if (objinstanceof AutenticationDataVO)
{
answer = (this.toString().equals(((AutenticationDataVO)obj).toString()));
}
return answer;
}
publicint compareTo(Object obj){
if (obj ==null)
thrownew IllegalArgumentException("Compara珲es com objectos null n鉶 s鉶 permitidas");
if ( !(objinstanceof AutenticationDataVO) )
thrownew IllegalArgumentException("Compara珲es com objectos de diferentes classes n鉶 s鉶 permitidas");
return (this.toString().compareTo(((AutenticationDataVO)obj).toString()));
}
}
thanks in advance!
Manuel Leiria

