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

#ifndef __gnu_javax_crypto_sasl_anonymous_AnonymousUtil__
#define __gnu_javax_crypto_sasl_anonymous_AnonymousUtil__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace crypto
      {
        namespace sasl
        {
          namespace anonymous
          {
              class AnonymousUtil;
          }
        }
      }
    }
  }
}

class gnu::javax::crypto::sasl::anonymous::AnonymousUtil : public ::java::lang::Object
{

  AnonymousUtil();
public: // actually package-private
  static jboolean isValidTraceInformation(::java::lang::String *);
  static jboolean isValidToken(::java::lang::String *);
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_crypto_sasl_anonymous_AnonymousUtil__
