// ** This class was generated with DemFGen (vers:11/09/2009)

package edu.neu.ccs.demeterf.http.classes;

import edu.neu.ccs.demeterf.lib.*;
import java.net.Socket;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.InputStreamReader;
import java.io.InputStream;




/** Representation of URL */
public abstract class URL{

    /** Construct a(n) URL Instance */
    public URL(){
    }
    /** Parse an instance of URL from the given String */
    public static URL parse(String inpt) throws ParseException{
        return new TheParser(new java.io.StringReader(inpt)).parse_URL();
    }
    /** Parse an instance of URL from the given Stream */
    public static URL parse(java.io.InputStream inpt) throws ParseException{
        return new TheParser(inpt).parse_URL();
    }
    /** Parse an instance of URL from the given Reader */
    public static URL parse(java.io.Reader inpt) throws ParseException{
        return new TheParser(inpt).parse_URL();
    }


    /** Is this URL Empty? */
    public boolean isEmpty(){ return false; }
    /** Return the URLs Arguments */
    public abstract Map<String,String> urlArgs();
    /** Remove the URLs Arguments */
    public abstract String trimArgs();

    /** DGP method from Class PrintHeapToString */
    public String toString(){ return edu.neu.ccs.demeterf.http.classes.PrintHeapToString.PrintHeapToStringM(this); }

}