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

#ifndef __java_util_Collections$EmptyMap__
#define __java_util_Collections$EmptyMap__

#pragma interface

#include <java/util/AbstractMap.h>

class java::util::Collections$EmptyMap : public ::java::util::AbstractMap
{

public: // actually package-private
  Collections$EmptyMap();
public:
  ::java::util::Set * entrySet();
  jboolean containsKey(::java::lang::Object *);
  jboolean containsValue(::java::lang::Object *);
  jboolean equals(::java::lang::Object *);
  ::java::lang::Object * get(::java::lang::Object *);
  jint hashCode();
  ::java::util::Set * keySet();
  ::java::lang::Object * remove(::java::lang::Object *);
  jint size();
  ::java::util::Collection * values();
  ::java::lang::String * toString();
private:
  static const jlong serialVersionUID = 6428348081105594320LL;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_Collections$EmptyMap__
