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

#ifndef __java_awt_AttributeValue__
#define __java_awt_AttributeValue__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace awt
    {
        class AttributeValue;
    }
  }
}

class java::awt::AttributeValue : public ::java::lang::Object
{

public: // actually package-private
  AttributeValue(jint, JArray< ::java::lang::String * > *);
public:
  virtual jint hashCode();
  virtual ::java::lang::String * toString();
public: // actually package-private
  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value;
private:
  JArray< ::java::lang::String * > * names;
public:
  static ::java::lang::Class class$;
};

#endif // __java_awt_AttributeValue__
