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

#ifndef __gnu_java_beans_encoder_ArrayPersistenceDelegate__
#define __gnu_java_beans_encoder_ArrayPersistenceDelegate__

#pragma interface

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

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

public:
  ArrayPersistenceDelegate();
public: // actually protected
  virtual ::java::beans::Expression * instantiate(::java::lang::Object *, ::java::beans::Encoder *);
  virtual void initialize(::java::lang::Class *, ::java::lang::Object *, ::java::lang::Object *, ::java::beans::Encoder *);
private:
  static ::java::util::HashMap * NULL_VALUES;
public: // actually package-private
  static jboolean $assertionsDisabled;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_beans_encoder_ArrayPersistenceDelegate__
