
package edu.mit.wi.omnigene.omnitide.encoding;

import org.apache.soap.util.xml.*;
import org.apache.soap.util.*;
import org.apache.soap.rpc.SOAPContext;
import java.io.*;
import org.w3c.dom.*;
import java.io.*;
import java.util.*;
import java.text.*;

public class URLDeserializer implements Deserializer
{
  public URLDeserializer()
  {
  }


  public Bean unmarshall(String inScopeEncStyle, QName elementType, Node src,
                         XMLJavaMappingRegistry xjmr, SOAPContext ctx)
                          throws IllegalArgumentException
  {
    java.net.URL url = null;
    Element root = (Element)src;
    String value = DOMUtils.getChildCharacterData(root);
    if(value!=null && !((value=value.trim()).equals("")))
    {
      try
      {
        url = new java.net.URL(value);
      }
      catch (java.net.MalformedURLException me)
      {
          throw new IllegalArgumentException("String represents no valid " +
                                             "URL for this Deserializer.");
      }
    }
    return new Bean(java.net.URL.class, url);
  }
}
