Class Mailbox

  • All Implemented Interfaces:
    java.io.Serializable

    public class Mailbox
    extends Address
    Represents a single e-mail address.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      Mailbox​(java.lang.String localPart, java.lang.String domain)
      Creates an unnamed mailbox without a route.
      Mailbox​(java.lang.String name, java.lang.String localPart, java.lang.String domain)
      Creates a named mailbox without a route.
      Mailbox​(java.lang.String name, DomainList route, java.lang.String localPart, java.lang.String domain)
      Creates a named mailbox with a route.
      Mailbox​(java.lang.String name, Mailbox baseMailbox)
      Creates a named mailbox based on an unnamed mailbox.
      Mailbox​(DomainList route, java.lang.String localPart, java.lang.String domain)
      Creates an unnamed mailbox with a route.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void doAddMailboxesTo​(java.util.List<Mailbox> results)
      Adds any mailboxes represented by this address into the given List.
      boolean equals​(java.lang.Object obj)
      Indicates whether some other object is "equal to" this mailbox.
      java.lang.String getAddress()
      Returns the address in the form localPart@domain.
      java.lang.String getDomain()
      Returns the right part of the e-mail address (after "@").
      java.lang.String getLocalPart()
      Returns the left part of the e-mail address (before "@").
      java.lang.String getName()
      Returns the name of the mailbox or null if it does not have a name.
      DomainList getRoute()
      Returns the route list.
      int hashCode()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • EMPTY_ROUTE_LIST

        private static final DomainList EMPTY_ROUTE_LIST
      • name

        private final java.lang.String name
      • localPart

        private final java.lang.String localPart
      • domain

        private final java.lang.String domain
    • Constructor Detail

      • Mailbox

        public Mailbox​(java.lang.String name,
                       DomainList route,
                       java.lang.String localPart,
                       java.lang.String domain)
        Creates a named mailbox with a route. Routes are obsolete.
        Parameters:
        name - the name of the e-mail address. May be null.
        route - The zero or more domains that make up the route. May be null.
        localPart - The part of the e-mail address to the left of the "@".
        domain - The part of the e-mail address to the right of the "@".
      • Mailbox

        Mailbox​(java.lang.String name,
                Mailbox baseMailbox)
        Creates a named mailbox based on an unnamed mailbox. Package private; internally used by Builder.
      • Mailbox

        public Mailbox​(java.lang.String localPart,
                       java.lang.String domain)
        Creates an unnamed mailbox without a route. Routes are obsolete.
        Parameters:
        localPart - The part of the e-mail address to the left of the "@".
        domain - The part of the e-mail address to the right of the "@".
      • Mailbox

        public Mailbox​(DomainList route,
                       java.lang.String localPart,
                       java.lang.String domain)
        Creates an unnamed mailbox with a route. Routes are obsolete.
        Parameters:
        route - The zero or more domains that make up the route. May be null.
        localPart - The part of the e-mail address to the left of the "@".
        domain - The part of the e-mail address to the right of the "@".
      • Mailbox

        public Mailbox​(java.lang.String name,
                       java.lang.String localPart,
                       java.lang.String domain)
        Creates a named mailbox without a route. Routes are obsolete.
        Parameters:
        name - the name of the e-mail address. May be null.
        localPart - The part of the e-mail address to the left of the "@".
        domain - The part of the e-mail address to the right of the "@".
    • Method Detail

      • getName

        public java.lang.String getName()
        Returns the name of the mailbox or null if it does not have a name.
      • getRoute

        public DomainList getRoute()
        Returns the route list. If the mailbox does not have a route an empty domain list is returned.
      • getLocalPart

        public java.lang.String getLocalPart()
        Returns the left part of the e-mail address (before "@").
      • getDomain

        public java.lang.String getDomain()
        Returns the right part of the e-mail address (after "@").
      • getAddress

        public java.lang.String getAddress()
        Returns the address in the form localPart@domain.
        Returns:
        the address part of this mailbox.
      • doAddMailboxesTo

        protected final void doAddMailboxesTo​(java.util.List<Mailbox> results)
        Description copied from class: Address
        Adds any mailboxes represented by this address into the given List. Must be overridden by concrete subclasses.
        Specified by:
        doAddMailboxesTo in class Address
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Indicates whether some other object is "equal to" this mailbox.

        An object is considered to be equal to this mailbox if it is an instance of class Mailbox that holds the same address as this one. The domain is considered to be case-insensitive but the local-part is not (because of RFC 5321: the local-part of a mailbox MUST BE treated as case sensitive).

        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - the object to test for equality.
        Returns:
        true if the specified object is a Mailbox that holds the same address as this one.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object