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

#ifndef __javax_print_attribute_standard_JobImpressionsCompleted__
#define __javax_print_attribute_standard_JobImpressionsCompleted__

#pragma interface

#include <javax/print/attribute/IntegerSyntax.h>
extern "Java"
{
  namespace javax
  {
    namespace print
    {
      namespace attribute
      {
        namespace standard
        {
            class JobImpressionsCompleted;
        }
      }
    }
  }
}

class javax::print::attribute::standard::JobImpressionsCompleted : public ::javax::print::attribute::IntegerSyntax
{

public:
  JobImpressionsCompleted(jint);
  jboolean equals(::java::lang::Object *);
  ::java::lang::Class * getCategory();
  ::java::lang::String * getName();
private:
  static const jlong serialVersionUID = 6722648442432393294LL;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_print_attribute_standard_JobImpressionsCompleted__
