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

#ifndef __java_util_Collection__
#define __java_util_Collection__

#pragma interface

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


class java::util::Collection : public ::java::lang::Object
{

public:
  virtual jboolean add(::java::lang::Object *) = 0;
  virtual jboolean addAll(::java::util::Collection *) = 0;
  virtual void clear() = 0;
  virtual jboolean contains(::java::lang::Object *) = 0;
  virtual jboolean containsAll(::java::util::Collection *) = 0;
  virtual jboolean equals(::java::lang::Object *) = 0;
  virtual jint hashCode() = 0;
  virtual jboolean isEmpty() = 0;
  virtual ::java::util::Iterator * iterator() = 0;
  virtual jboolean remove(::java::lang::Object *) = 0;
  virtual jboolean removeAll(::java::util::Collection *) = 0;
  virtual jboolean retainAll(::java::util::Collection *) = 0;
  virtual jint size() = 0;
  virtual JArray< ::java::lang::Object * > * toArray() = 0;
  virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __java_util_Collection__
