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

#ifndef __gnu_java_security_util_Sequence__
#define __gnu_java_security_util_Sequence__

#pragma interface

#include <java/util/AbstractList.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace security
      {
        namespace util
        {
            class Sequence;
        }
      }
    }
  }
}

class gnu::java::security::util::Sequence : public ::java::util::AbstractList
{

public:
  Sequence(jint);
  Sequence(jint, jint);
  Sequence(jint, jint, jint);
  ::java::lang::Object * get(jint);
  jint size();
  JArray< ::java::lang::Object * > * toArray();
private:
  JArray< ::java::lang::Integer * > * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) sequence;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_security_util_Sequence__
