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

#ifndef __java_util_PropertyPermissionCollection__
#define __java_util_PropertyPermissionCollection__

#pragma interface

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

class java::util::PropertyPermissionCollection : public ::java::security::PermissionCollection
{

public: // actually package-private
  PropertyPermissionCollection();
public:
  virtual void add(::java::security::Permission *);
  virtual jboolean implies(::java::security::Permission *);
  virtual ::java::util::Enumeration * elements();
private:
  static const jlong serialVersionUID = 7015263904581634791LL;
  ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::security::PermissionCollection)))) permissions;
  jboolean all_allowed;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_PropertyPermissionCollection__
