// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_net_URL__
#define __java_net_URL__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace net
    {
      class URI;
      class URLConnection;
      class URL;
      class URLStreamHandlerFactory;
      class URLStreamHandler;
    }
  }
}

class java::net::URL : public ::java::lang::Object
{
public:
  URL (::java::lang::String *, ::java::lang::String *, jint, ::java::lang::String *);
  URL (::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  URL (::java::lang::String *, ::java::lang::String *, jint, ::java::lang::String *, ::java::net::URLStreamHandler *);
  URL (::java::lang::String *);
  URL (::java::net::URL *, ::java::lang::String *);
  URL (::java::net::URL *, ::java::lang::String *, ::java::net::URLStreamHandler *);
  virtual jboolean equals (::java::lang::Object *);
  virtual ::java::lang::Object *getContent ();
  virtual ::java::lang::Object *getContent (JArray< ::java::lang::Class *> *);
  virtual ::java::lang::String *getFile ();
  virtual ::java::lang::String *getPath ();
  virtual ::java::lang::String *getAuthority () { return authority; }
  virtual ::java::lang::String *getHost ();
  virtual jint getPort () { return port; }
  virtual jint getDefaultPort ();
  virtual ::java::lang::String *getProtocol () { return protocol; }
  virtual ::java::lang::String *getRef () { return ref; }
  virtual ::java::lang::String *getUserInfo ();
  virtual ::java::lang::String *getQuery ();
  virtual jint hashCode ();
  virtual ::java::net::URLConnection *openConnection ();
  virtual ::java::io::InputStream *openStream ();
  virtual jboolean sameFile (::java::net::URL *);
public:  // actually protected
  virtual void set (::java::lang::String *, ::java::lang::String *, jint, ::java::lang::String *, ::java::lang::String *);
  virtual void set (::java::lang::String *, ::java::lang::String *, jint, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
public:
  static void setURLStreamHandlerFactory (::java::net::URLStreamHandlerFactory *);
  virtual ::java::lang::String *toExternalForm ();
  virtual ::java::lang::String *toString ();
private:
  static ::java::net::URLStreamHandler *getURLStreamHandler (::java::lang::String *);
  void readObject (::java::io::ObjectInputStream *);
  void writeObject (::java::io::ObjectOutputStream *);
public:
  virtual ::java::net::URI *toURI ();
private:
  static ::java::lang::String *DEFAULT_SEARCH_PATH;
  static ::java::lang::ClassLoader *systemClassLoader;
  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object )))) protocol;
  ::java::lang::String *authority;
  ::java::lang::String *host;
  ::java::lang::String *userInfo;
  jint port;
  ::java::lang::String *file;
  ::java::lang::String *ref;
  jint hashCode__;
public: // actually package-private
  ::java::net::URLStreamHandler *ph;
private:
  static ::java::net::URLStreamHandlerFactory *factory;
  static const jlong serialVersionUID = -7627629688361524110LL;
  static ::java::util::HashMap *ph_cache;
  static jboolean cache_handlers;

  friend class java_net_URL$1;
public:

  static ::java::lang::Class class$;
};

#endif /* __java_net_URL__ */
