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

#ifndef __org_w3c_dom_ranges_RangeException__
#define __org_w3c_dom_ranges_RangeException__

#pragma interface

#include <java/lang/RuntimeException.h>
extern "Java"
{
  namespace org
  {
    namespace w3c
    {
      namespace dom
      {
        namespace ranges
        {
            class RangeException;
        }
      }
    }
  }
}

class org::w3c::dom::ranges::RangeException : public ::java::lang::RuntimeException
{

public:
  RangeException(jshort, ::java::lang::String *);
  jshort __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) code;
  static const jshort BAD_BOUNDARYPOINTS_ERR = 1;
  static const jshort INVALID_NODE_TYPE_ERR = 2;
  static ::java::lang::Class class$;
};

#endif // __org_w3c_dom_ranges_RangeException__
