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

#ifndef __javax_tools_FileObject__
#define __javax_tools_FileObject__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace net
    {
        class URI;
    }
  }
  namespace javax
  {
    namespace tools
    {
        class FileObject;
    }
  }
}

class javax::tools::FileObject : public ::java::lang::Object
{

public:
  virtual ::java::net::URI * toUri() = 0;
  virtual ::java::lang::String * getName() = 0;
  virtual ::java::io::InputStream * openInputStream() = 0;
  virtual ::java::io::OutputStream * openOutputStream() = 0;
  virtual ::java::io::Reader * openReader(jboolean) = 0;
  virtual ::java::lang::CharSequence * getCharContent(jboolean) = 0;
  virtual ::java::io::Writer * openWriter() = 0;
  virtual jlong getLastModified() = 0;
  virtual jboolean delete$() = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __javax_tools_FileObject__
