com.atlassian.jira.util
Interface EmailFormatter

All Known Implementing Classes:
EmailFormatterImpl

@PublicApi
public interface EmailFormatter

Returned email address appropriately masked/hidden for the current user.


Method Summary
 boolean emailVisible(com.atlassian.crowd.embedded.api.User currentUser)
          Returns whether or not email addresses are visible to this user, as determined by the APKeys.JIRA_OPTION_EMAIL_VISIBLE setting.
 String formatEmail(String email, boolean isCurrentUserLoggedIn)
          Formats an email address for the purpose of displaying it to a user as determined by the APKeys.JIRA_OPTION_EMAIL_VISIBLE setting.
 String formatEmail(String email, com.atlassian.crowd.embedded.api.User currentUser)
          Formats an email address for the purpose of displaying it to a user as determined by the APKeys.JIRA_OPTION_EMAIL_VISIBLE setting.
 String formatEmail(com.atlassian.crowd.embedded.api.User user, com.atlassian.crowd.embedded.api.User currentUser)
          Formats user's email address for the purpose of displaying it to currentUser, as determined by the APKeys.JIRA_OPTION_EMAIL_VISIBLE setting.
 String formatEmailAsLink(String email, com.atlassian.crowd.embedded.api.User currentUser)
          Returns email address as HTML links, if appropriate.
 

Method Detail

emailVisible

boolean emailVisible(@Nullable
                     com.atlassian.crowd.embedded.api.User currentUser)
Returns whether or not email addresses are visible to this user, as determined by the APKeys.JIRA_OPTION_EMAIL_VISIBLE setting.

Parameters:
currentUser - the user to which email addresses will be shown, or null if no user is logged in (browsing anonymously)
Returns:
true if email addresses should be visible (even if they will be masked); false otherwise
Since:
v4.3 (moved to API in v6.0)

formatEmail

@Nullable
String formatEmail(@Nullable
                            com.atlassian.crowd.embedded.api.User user,
                            @Nullable
                            com.atlassian.crowd.embedded.api.User currentUser)
Formats user's email address for the purpose of displaying it to currentUser, as determined by the APKeys.JIRA_OPTION_EMAIL_VISIBLE setting.

This convenience method is exactly equivalent to formatEmail(user.getEmailAddress(), currentUser != null), except that it is null-safe.

Parameters:
user - owner of the email address to format and display (null is permitted)
currentUser - the user to which email addresses will be shown, or null if no user is logged in (browsing anonymously)
Returns:
the formatted email address; null if either user is null or currentUser is not permitted to see email addresses
Since:
v4.3 (moved to API in v6.0)

formatEmail

@Nullable
String formatEmail(@Nullable
                            String email,
                            boolean isCurrentUserLoggedIn)
Formats an email address for the purpose of displaying it to a user as determined by the APKeys.JIRA_OPTION_EMAIL_VISIBLE setting.

SettingBehaviour
"show"The email is shown as-is to everyone.
"user"The email is shown as-is to users that are logged in, but not shown to anonymous users.
"mask"The email is shown to all users with the e-mail address slightly obscured, such that "user@example.com" appears as "user at example dot com", instead

Parameters:
email - The email address to show/mask/hide.
isCurrentUserLoggedIn - true if a user is currently logged in; false if the user is browsing anonymously
Returns:
the formatted email address; null if either email is null or the user is not permitted to see email addresses

formatEmail

@Nullable
String formatEmail(@Nullable
                            String email,
                            @Nullable
                            com.atlassian.crowd.embedded.api.User currentUser)
Formats an email address for the purpose of displaying it to a user as determined by the APKeys.JIRA_OPTION_EMAIL_VISIBLE setting.

This convenience method is exactly equivalent to formatEmail(email, currentUser != null).

Parameters:
email - The email address to show/mask/hide.
currentUser - The user viewing the email address.
Returns:
the formatted email address; null if either email is null or the user is not permitted to see email addresses
Since:
v4.3 (moved to API in v6.0)

formatEmailAsLink

@Nonnull
String formatEmailAsLink(String email,
                                 @Nullable
                                 com.atlassian.crowd.embedded.api.User currentUser)
Returns email address as HTML links, if appropriate. If email addresses are masked, then they are returned as HTML-escaped text, but not as links.

Returns:
<a href="foo@bar.com">foo@bar.com</a> (public), foo at bar.com (masked), or an empty string ("") if either email is null or the user is not permitted to see email addresses
Since:
v4.3 (moved to API in v6.0)


Copyright © 2002-2014 Atlassian. All Rights Reserved.