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

#ifndef __org_relaxng_datatype_DatatypeBuilder__
#define __org_relaxng_datatype_DatatypeBuilder__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace org
  {
    namespace relaxng
    {
      namespace datatype
      {
          class Datatype;
          class DatatypeBuilder;
          class ValidationContext;
      }
    }
  }
}

class org::relaxng::datatype::DatatypeBuilder : public ::java::lang::Object
{

public:
  virtual void addParameter(::java::lang::String *, ::java::lang::String *, ::org::relaxng::datatype::ValidationContext *) = 0;
  virtual ::org::relaxng::datatype::Datatype * createDatatype() = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __org_relaxng_datatype_DatatypeBuilder__
