Class OutgoingEmail

    • Method Detail

      • setFrom

        public void setFrom​(Account.Id id)
      • setAccountsToNotify

        public void setAccountsToNotify​(com.google.common.collect.ListMultimap<RecipientType,​Account.Id> accountsToNotify)
      • init

        protected void init()
                     throws EmailException
        Setup the message headers and envelope (TO, CC, BCC).
        Throws:
        EmailException - if an error occurred.
      • getFromLine

        protected String getFromLine()
      • getGerritHost

        public String getGerritHost()
      • getSettingsUrl

        public String getSettingsUrl()
      • getGerritUrl

        public String getGerritUrl()
      • setHeader

        protected void setHeader​(String name,
                                 String value)
        Set a header in the outgoing message.
      • removeHeader

        protected void removeHeader​(String name)
        Remove a header from the outgoing message.
      • setHeader

        protected void setHeader​(String name,
                                 Date date)
      • appendText

        protected void appendText​(String text)
        Append text to the outgoing email body.
      • appendHtml

        protected void appendHtml​(String html)
        Append html to the outgoing email body.
      • getNameFor

        protected String getNameFor​(Account.Id accountId)
        Gets the human readable name for an account, usually the "full name".
        Parameters:
        accountId - user to fetch.
        Returns:
        name of the account, or the server identity name if null.
      • getNameEmailFor

        protected String getNameEmailFor​(Account.Id accountId)
        Gets the human readable name and email for an account.
        Parameters:
        accountId - user to fetch.
        Returns:
        name/email of account; Anonymous Coward if unset or the server identity if null.
      • getUserNameEmailFor

        protected String getUserNameEmailFor​(Account.Id accountId)
        Gets the human readable name and email for an account; if both are unavailable, returns the username. If no username is set, this function returns null.
        Parameters:
        accountId - user to fetch.
        Returns:
        name/email of account, username, or null if unset.
      • shouldSendMessage

        protected boolean shouldSendMessage()
      • addByEmail

        protected void addByEmail​(RecipientType rt,
                                  Collection<Address> list,
                                  boolean override)
        Schedule this message for delivery to the listed address.
      • add

        protected void add​(RecipientType rt,
                           Account.Id to)
        Schedule delivery of this message to the given account.
      • add

        protected void add​(RecipientType rt,
                           Address addr)
        Schedule delivery of this message to the given account.
      • setupVelocityContext

        protected void setupVelocityContext()
      • setupSoyContext

        protected void setupSoyContext()
      • soyTextTemplate

        protected String soyTextTemplate​(String name)
      • soyHtmlTemplate

        protected String soyHtmlTemplate​(String name)
      • textTemplate

        protected String textTemplate​(String name)
                               throws EmailException
        Evaluate the named template according to the following priority: 1) Velocity file override, OR... 2) Soy file override, OR... 3) Soy resource.
        Throws:
        EmailException
      • removeUser

        protected void removeUser​(Account user)
      • useHtml

        protected final boolean useHtml()
      • supportsHtml

        protected boolean supportsHtml()
        Override this method to enable HTML in a subclass.