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

#ifndef __javax_xml_transform_Result__
#define __javax_xml_transform_Result__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace javax
  {
    namespace xml
    {
      namespace transform
      {
          class Result;
      }
    }
  }
}

class javax::xml::transform::Result : public ::java::lang::Object
{

public:
  virtual void setSystemId(::java::lang::String *) = 0;
  virtual ::java::lang::String * getSystemId() = 0;
  static ::java::lang::String * PI_DISABLE_OUTPUT_ESCAPING;
  static ::java::lang::String * PI_ENABLE_OUTPUT_ESCAPING;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __javax_xml_transform_Result__
