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

#ifndef __gnu_java_net_protocol_file_Connection$StaticData__
#define __gnu_java_net_protocol_file_Connection$StaticData__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace net
      {
        namespace protocol
        {
          namespace file
          {
              class Connection$StaticData;
          }
        }
      }
    }
  }
  namespace java
  {
    namespace text
    {
        class SimpleDateFormat;
    }
  }
}

class gnu::java::net::protocol::file::Connection$StaticData : public ::java::lang::Object
{

  Connection$StaticData();
public: // actually package-private
  static ::java::text::SimpleDateFormat * dateFormat;
  static ::java::lang::String * lineSeparator;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_net_protocol_file_Connection$StaticData__
