All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fr.sii.ogham.email.message.Recipient Maven / Gradle / Ivy

package fr.sii.ogham.email.message;

import fr.sii.ogham.core.message.recipient.Addressee;
import fr.sii.ogham.core.util.EqualsBuilder;
import fr.sii.ogham.core.util.HashCodeBuilder;

/**
 * Represents an email recipient. The recipient contains:
 * 
    *
  • The email address (see {@link EmailAddress})
  • *
  • The recipient type (the field of the email: to, cc, bcc)
  • *
* * @author Aurélien Baudet * */ public class Recipient implements Addressee { /** * The recipient address */ private EmailAddress address; /** * The recipient type */ private RecipientType type; /** * Initialize the recipient with the provided address. The address is of the * form "[email protected]" or "Personal Name <[email protected]>". The * recipient type is set to {@link RecipientType#TO}. * * @param address * the email address */ public Recipient(String address) { this(new EmailAddress(address)); } /** * Initialize the recipient with the provided address. The recipient type is * set to {@link RecipientType#TO}. * * @param address * the email address */ public Recipient(EmailAddress address) { this(address, RecipientType.TO); } /** * Initialize the recipient with the provided address and for the provided * type. * * @param address * the email address * @param type * the recipient type */ public Recipient(EmailAddress address, RecipientType type) { super(); this.address = address; this.type = type; } public EmailAddress getAddress() { return address; } public RecipientType getType() { return type; } @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append(address).append("(").append(type).append(")"); return builder.toString(); } @Override public int hashCode() { return new HashCodeBuilder().append(address, type).hashCode(); } @Override public boolean equals(Object obj) { return new EqualsBuilder(this, obj).appendFields("address", "type").isEqual(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy