1. /*
  2. * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
  3. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  4. */
  5. package javax.mail.search;
  6. import javax.mail.Address;
  7. /**
  8. * This class implements Message Address comparisons.
  9. *
  10. * @author Bill Shannon
  11. * @author John Mani
  12. */
  13. public abstract class AddressTerm extends SearchTerm {
  14. /**
  15. * The address.
  16. *
  17. * @serial
  18. */
  19. protected Address address;
  20. protected AddressTerm(Address address) {
  21. this.address = address;
  22. }
  23. /**
  24. * Return the address to match with.
  25. */
  26. public Address getAddress() {
  27. return address;
  28. }
  29. /**
  30. * Match against the argument Address.
  31. */
  32. protected boolean match(Address a) {
  33. return (a.equals(address));
  34. }
  35. /**
  36. * Equality comparison.
  37. */
  38. public boolean equals(Object obj) {
  39. if (!(obj instanceof AddressTerm))
  40. return false;
  41. AddressTerm at = (AddressTerm)obj;
  42. return at.address.equals(this.address);
  43. }
  44. /**
  45. * Compute a hashCode for this object.
  46. */
  47. public int hashCode() {
  48. return address.hashCode();
  49. }
  50. }