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

#ifndef __gnu_java_security_util_ExpirableObject__
#define __gnu_java_security_util_ExpirableObject__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace security
      {
        namespace util
        {
            class ExpirableObject;
            class ExpirableObject$Destroyer;
        }
      }
    }
  }
}

class gnu::java::security::util::ExpirableObject : public ::java::lang::Object
{

public: // actually protected
  ExpirableObject();
  ExpirableObject(jlong);
public:
  virtual void destroy();
public: // actually protected
  virtual void doDestroy() = 0;
public:
  virtual jboolean isDestroyed() = 0;
  static const jlong DEFAULT_TIMEOUT = 3600000LL;
private:
  static ::java::util::Timer * EXPIRER;
  ::gnu::java::security::util::ExpirableObject$Destroyer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) destroyer;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_security_util_ExpirableObject__
