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

#ifndef __gnu_gcj_tools_gcj_dbtool_Fileset__
#define __gnu_gcj_tools_gcj_dbtool_Fileset__

#pragma interface

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

extern "Java"
{
  namespace gnu
  {
    namespace gcj
    {
      namespace tools
      {
        namespace gcj_dbtool
        {
            class Fileset;
        }
      }
    }
  }
}

class gnu::gcj::tools::gcj_dbtool::Fileset : public ::java::lang::Object
{

public: // actually package-private
  Fileset(JArray< ::java::lang::String * > *, jint, jint);
  Fileset(::java::io::InputStream *, jchar);
  virtual ::java::util::Iterator * iterator();
  virtual jint size();
  ::java::util::LinkedHashSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) files;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_gcj_tools_gcj_dbtool_Fileset__
