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

#ifndef __gnu_xml_pipeline_PipelineFactory$Pipeline__
#define __gnu_xml_pipeline_PipelineFactory$Pipeline__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace pipeline
      {
          class EventConsumer;
          class PipelineFactory$Pipeline;
          class PipelineFactory$Stage;
      }
    }
  }
}

class gnu::xml::pipeline::PipelineFactory$Pipeline : public ::java::lang::Object
{

public: // actually package-private
  PipelineFactory$Pipeline(::gnu::xml::pipeline::PipelineFactory$Stage *);
public:
  virtual ::java::lang::String * toString();
public: // actually package-private
  virtual ::gnu::xml::pipeline::EventConsumer * createPipeline();
  ::gnu::xml::pipeline::PipelineFactory$Stage * __attribute__((aligned(__alignof__( ::java::lang::Object)))) stage;
  ::gnu::xml::pipeline::PipelineFactory$Pipeline * rest;
  ::gnu::xml::pipeline::EventConsumer * next;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_pipeline_PipelineFactory$Pipeline__
