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

#ifndef __java_nio_channels_FileChannel$MapMode__
#define __java_nio_channels_FileChannel$MapMode__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace nio
    {
      namespace channels
      {
          class FileChannel$MapMode;
      }
    }
  }
}

class java::nio::channels::FileChannel$MapMode : public ::java::lang::Object
{

public: // actually package-private
  FileChannel$MapMode(jint);
public:
  virtual ::java::lang::String * toString();
public: // actually package-private
  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) m;
public:
  static ::java::nio::channels::FileChannel$MapMode * READ_ONLY;
  static ::java::nio::channels::FileChannel$MapMode * READ_WRITE;
  static ::java::nio::channels::FileChannel$MapMode * PRIVATE;
  static ::java::lang::Class class$;
};

#endif // __java_nio_channels_FileChannel$MapMode__
