
package uk.co.wingpath.gpx;

import java.io.*;
import java.util.*;
import uk.co.wingpath.xml.*;
import uk.co.wingpath.util.*;

// An email address. Broken into two parts (id and domain) to help
// prevent email harvesting.

public class Email
    implements Xml.Savable, Xml.Loader
{
    private String id;          // id half of email address (billgates2004)
    private String domain;      // domain half of email address (hotmail.com)

    public Email ()
    {
        id = null;
        domain = null;
    }

    public Xml.Loader startChild (String tag)
    {
        return null;
    }

    public void end (String value)
        throws ValueException
    {
        if (!value.equals (""))
        {
            int i = value.indexOf ("@");
            if (i >= 0)
            {
                id = value.substring (0, i);
                domain = value.substring (i + 1);
            }
        }
    }

    public void cleanup ()
    {
    }

    public void attribute (String attr, String value)
    {
        if (attr.equals ("id"))
            id = value;
        else if (attr.equals ("domain"))
            domain = value;
    }

    public void save (Xml.Saver saver)
        throws IOException
    {
        if (id != null)
            saver.saveAttribute ("id", id);
        if (domain != null)
            saver.saveAttribute ("domain", domain);
    }
}

