import java.util.Hashtable;
import java.naming.NamingException;
import java.naming.Reference;
import java.naming.ObjectFactory;

public class UserFactory extends ObjectFactory {
    public UserFactory() {
        super();
    }

    public Object getObjectInstance(Object ob, Name nom, Context ctx, Hashtable env) {
        if(ob instanceof Reference) {
            Reference ref = (Reference)ob;

            if(ref.getClassName().equals(User.class.getName())) {
                RefAddr tmp = ref.get("userID");
                String uid, em;

                if(tmp != null) {
                    uid = (String)tmp.getContent();
                }
                tmp = ref.get("email");
                if(tmp != null) {
                    em = (String)tmp.getContent();
                }
                return new User(uid, em);
            }
        }
        return null;
    }
}
