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

#ifndef __java_util_concurrent_Executors__
#define __java_util_concurrent_Executors__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace security
    {
        class PrivilegedAction;
        class PrivilegedExceptionAction;
    }
  }
}

class java::util::concurrent::Executors : public ::java::lang::Object
{

public:
  static ::java::util::concurrent::ExecutorService * newFixedThreadPool(jint);
  static ::java::util::concurrent::ExecutorService * newFixedThreadPool(jint, ::java::util::concurrent::ThreadFactory *);
  static ::java::util::concurrent::ExecutorService * newSingleThreadExecutor();
  static ::java::util::concurrent::ExecutorService * newSingleThreadExecutor(::java::util::concurrent::ThreadFactory *);
  static ::java::util::concurrent::ExecutorService * newCachedThreadPool();
  static ::java::util::concurrent::ExecutorService * newCachedThreadPool(::java::util::concurrent::ThreadFactory *);
  static ::java::util::concurrent::ScheduledExecutorService * newSingleThreadScheduledExecutor();
  static ::java::util::concurrent::ScheduledExecutorService * newSingleThreadScheduledExecutor(::java::util::concurrent::ThreadFactory *);
  static ::java::util::concurrent::ScheduledExecutorService * newScheduledThreadPool(jint);
  static ::java::util::concurrent::ScheduledExecutorService * newScheduledThreadPool(jint, ::java::util::concurrent::ThreadFactory *);
  static ::java::util::concurrent::ExecutorService * unconfigurableExecutorService(::java::util::concurrent::ExecutorService *);
  static ::java::util::concurrent::ScheduledExecutorService * unconfigurableScheduledExecutorService(::java::util::concurrent::ScheduledExecutorService *);
  static ::java::util::concurrent::ThreadFactory * defaultThreadFactory();
  static ::java::util::concurrent::ThreadFactory * privilegedThreadFactory();
  static ::java::util::concurrent::Callable * callable(::java::lang::Runnable *, ::java::lang::Object *);
  static ::java::util::concurrent::Callable * callable(::java::lang::Runnable *);
  static ::java::util::concurrent::Callable * callable(::java::security::PrivilegedAction *);
  static ::java::util::concurrent::Callable * callable(::java::security::PrivilegedExceptionAction *);
  static ::java::util::concurrent::Callable * privilegedCallable(::java::util::concurrent::Callable *);
  static ::java::util::concurrent::Callable * privilegedCallableUsingCurrentClassLoader(::java::util::concurrent::Callable *);
private:
  Executors();
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_concurrent_Executors__