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

#ifndef __java_security_PermissionCollection__
#define __java_security_PermissionCollection__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace security
    {
        class Permission;
        class PermissionCollection;
    }
  }
}

class java::security::PermissionCollection : public ::java::lang::Object
{

public:
  PermissionCollection();
  virtual void add(::java::security::Permission *) = 0;
  virtual jboolean implies(::java::security::Permission *) = 0;
  virtual ::java::util::Enumeration * elements() = 0;
  virtual void setReadOnly();
  virtual jboolean isReadOnly();
  virtual ::java::lang::String * toString();
private:
  static const jlong serialVersionUID = -6727011328946861783LL;
  jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) readOnly;
public:
  static ::java::lang::Class class$;
};

#endif // __java_security_PermissionCollection__
