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

#ifndef __java_util_PropertyResourceBundle__
#define __java_util_PropertyResourceBundle__

#pragma interface

#include <java/util/ResourceBundle.h>

class java::util::PropertyResourceBundle : public ::java::util::ResourceBundle
{

public:
  PropertyResourceBundle(::java::io::InputStream *);
  PropertyResourceBundle(::java::io::Reader *);
  virtual ::java::lang::Object * handleGetObject(::java::lang::String *);
  virtual ::java::util::Enumeration * getKeys();
private:
  ::java::util::Properties * __attribute__((aligned(__alignof__( ::java::util::ResourceBundle)))) properties;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_PropertyResourceBundle__
