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

#ifndef __gnu_java_beans_encoder_ClassPersistenceDelegate__
#define __gnu_java_beans_encoder_ClassPersistenceDelegate__

#pragma interface

#include <java/beans/PersistenceDelegate.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace beans
      {
        namespace encoder
        {
            class ClassPersistenceDelegate;
        }
      }
    }
  }
  namespace java
  {
    namespace beans
    {
        class Encoder;
        class Expression;
    }
  }
}

class gnu::java::beans::encoder::ClassPersistenceDelegate : public ::java::beans::PersistenceDelegate
{

public:
  ClassPersistenceDelegate();
public: // actually protected
  virtual ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *);
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_beans_encoder_ClassPersistenceDelegate__
