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

#ifndef __gnu_java_net_protocol_jar_Connection$JarFileCache__
#define __gnu_java_net_protocol_jar_Connection$JarFileCache__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace net
      {
        namespace protocol
        {
          namespace jar
          {
              class Connection$JarFileCache;
          }
        }
      }
    }
  }
  namespace java
  {
    namespace net
    {
        class URL;
    }
  }
}

class gnu::java::net::protocol::jar::Connection$JarFileCache : public ::java::lang::Object
{

public:
  Connection$JarFileCache();
  static ::java::util::jar::JarFile * get(::java::net::URL *, jboolean);
private:
  static ::java::util::Hashtable * cache;
  static const jint READBUFSIZE = 4096;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_net_protocol_jar_Connection$JarFileCache__
