Add user display formatting to AccountInfo

Since FormatUtil is in a client package it is not
available to be used server side, but it does allow
a user to be easily displayed by their fullname and
to fallback to their email.  It would be convenient
for the server to be able to format users this way
when it needs to return an error message mentioning
the user.  By adding the getName() and getNameEmail()
methods to AccountInfo, it can easily be accessed by
classes in both the client and server packages.

This change does not introduce any callers to these
methods yet, it simply makes them available.

Change-Id: Ia44009e118988c6c87a43c572d9d410f00b032b4
This commit is contained in:
Martin Fick
2012-01-09 10:50:43 -07:00
parent 95ff3f00d8
commit 6355d915cd
2 changed files with 56 additions and 0 deletions

View File

@@ -65,4 +65,51 @@ public class AccountInfo {
public void setPreferredEmail(final String email) {
preferredEmail = email;
}
/**
* Formats an account name.
* <p>
* If the account has a full name, it returns only the full name. Otherwise it
* returns a longer form that includes the email address.
*/
public String getName(String anonymousCowardName) {
if (getFullName() != null) {
return getFullName();
}
if (getPreferredEmail() != null) {
return getPreferredEmail();
}
return getNameEmail(anonymousCowardName);
}
/**
* Formats an account as an name and an email address.
* <p>
* Example output:
* <ul>
* <li><code>A U. Thor &lt;author@example.com&gt;</code>: full populated</li>
* <li><code>A U. Thor (12)</code>: missing email address</li>
* <li><code>Anonymous Coward &lt;author@example.com&gt;</code>: missing name</li>
* <li><code>Anonymous Coward (12)</code>: missing name and email address</li>
* </ul>
*/
public String getNameEmail(String anonymousCowardName) {
String name = getFullName();
if (name == null) {
name = anonymousCowardName;
}
final StringBuilder b = new StringBuilder();
b.append(name);
if (getPreferredEmail() != null) {
b.append(" <");
b.append(getPreferredEmail());
b.append(">");
} else if (getId() != null) {
b.append(" (");
b.append(getId().get());
b.append(")");
}
return b.toString();
}
}