Source Code for the E-Mail Address Widget

public class EMailAddressViewRenderer
       extends AbstractViewRenderer {

  public void render(
        Field field, DocumentFragment fragment,
        RendererContext context, RendererContract contract)
        throws ClientException, DataAccessException,
               PlugInException {

    String emailAddress = context.getDataAccessor()
       .get(field.getBinding().getSourcePath());

    Document doc = fragment.getOwnerDocument();

    Element span = doc.createElement("span");
    span.setAttribute("class", "email-container");
    fragment.appendChild(span);

    Element anchor = doc.createElement("a");
    anchor.setAttribute("href", "mailto:" + emailAddress);
    span.appendChild(anchor);

    Element img = doc.createElement("img");
    img.setAttribute("src", "../Images/email_icon.png");
    anchor.appendChild(img);

    anchor.appendChild(doc.createTextNode(emailAddress));
  }
}