@Override
protected String compute()
{
final SendContactOp op = context( SendContactOp.class );
final Contact contact = op.getContact().content();
final StringBuilder buf = new StringBuilder();
buf.append( "<html><body>\n" );
if( contact != null )
{
buf.append( "<b>" );
buf.append( contact.getName().text() );
buf.append( "</b>\n" );
buf.append( "<br/><hr/>\n" );
if( ! contact.getPhoneNumbers().isEmpty() )
{
buf.append( "<p><table>\n" );
for( PhoneNumber phone : contact.getPhoneNumbers() )
{
buf.append( "<tr><td><i>" );
buf.append( phone.getType().text() );
buf.append( "</i></td><td>" );
final String areaCode = phone.getAreaCode().text();
final String localNumber = phone.getLocalNumber().text();
if( areaCode != null )
{
buf.append( '(' );
buf.append( areaCode );
buf.append( ") " );
}
buf.append( localNumber );
buf.append( "</td></tr>\n" );
}
buf.append( "</table></p>\n" );
}
final ContactAddress address = contact.getAddress();
if( address != null && address.getStreet().content() != null )
{
buf.append( "<p>" );
buf.append( address.getStreet().text() );