#
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name javax/security/sasl/AuthenticationException
header extends javax/security/sasl/SaslException flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name <init> descriptor ()V flags 1
method name <init> descriptor (Ljava/lang/String;)V flags 1
method name <init> descriptor (Ljava/lang/String;Ljava/lang/Throwable;)V flags 1

class name javax/security/sasl/AuthorizeCallback
header extends java/lang/Object implements javax/security/auth/callback/Callback,java/io/Serializable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name <init> descriptor (Ljava/lang/String;Ljava/lang/String;)V flags 1
method name getAuthenticationID descriptor ()Ljava/lang/String; flags 1
method name getAuthorizationID descriptor ()Ljava/lang/String; flags 1
method name isAuthorized descriptor ()Z flags 1
method name setAuthorized descriptor (Z)V flags 1
method name getAuthorizedID descriptor ()Ljava/lang/String; flags 1
method name setAuthorizedID descriptor (Ljava/lang/String;)V flags 1

class name javax/security/sasl/RealmCallback
header extends javax/security/auth/callback/TextInputCallback flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name <init> descriptor (Ljava/lang/String;)V flags 1
method name <init> descriptor (Ljava/lang/String;Ljava/lang/String;)V flags 1

class name javax/security/sasl/RealmChoiceCallback
header extends javax/security/auth/callback/ChoiceCallback flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name <init> descriptor (Ljava/lang/String;[Ljava/lang/String;IZ)V flags 1

class name javax/security/sasl/Sasl
header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
field name QOP descriptor Ljava/lang/String; constantValue javax.security.sasl.qop flags 19
field name STRENGTH descriptor Ljava/lang/String; constantValue javax.security.sasl.strength flags 19
field name SERVER_AUTH descriptor Ljava/lang/String; constantValue javax.security.sasl.server.authentication flags 19
field name BOUND_SERVER_NAME descriptor Ljava/lang/String; constantValue javax.security.sasl.bound.server.name flags 19
field name MAX_BUFFER descriptor Ljava/lang/String; constantValue javax.security.sasl.maxbuffer flags 19
field name RAW_SEND_SIZE descriptor Ljava/lang/String; constantValue javax.security.sasl.rawsendsize flags 19
field name REUSE descriptor Ljava/lang/String; constantValue javax.security.sasl.reuse flags 19
field name POLICY_NOPLAINTEXT descriptor Ljava/lang/String; constantValue javax.security.sasl.policy.noplaintext flags 19
field name POLICY_NOACTIVE descriptor Ljava/lang/String; constantValue javax.security.sasl.policy.noactive flags 19
field name POLICY_NODICTIONARY descriptor Ljava/lang/String; constantValue javax.security.sasl.policy.nodictionary flags 19
field name POLICY_NOANONYMOUS descriptor Ljava/lang/String; constantValue javax.security.sasl.policy.noanonymous flags 19
field name POLICY_FORWARD_SECRECY descriptor Ljava/lang/String; constantValue javax.security.sasl.policy.forward flags 19
field name POLICY_PASS_CREDENTIALS descriptor Ljava/lang/String; constantValue javax.security.sasl.policy.credentials flags 19
field name CREDENTIALS descriptor Ljava/lang/String; constantValue javax.security.sasl.credentials flags 19
method name createSaslClient descriptor ([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/sasl/SaslClient; thrownTypes javax/security/sasl/SaslException flags 9 signature ([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;*>;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/sasl/SaslClient;
method name createSaslServer descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/sasl/SaslServer; thrownTypes javax/security/sasl/SaslException flags 9 signature (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;*>;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/sasl/SaslServer;
method name getSaslClientFactories descriptor ()Ljava/util/Enumeration; flags 9 signature ()Ljava/util/Enumeration<Ljavax/security/sasl/SaslClientFactory;>;
method name getSaslServerFactories descriptor ()Ljava/util/Enumeration; flags 9 signature ()Ljava/util/Enumeration<Ljavax/security/sasl/SaslServerFactory;>;

class name javax/security/sasl/SaslClient
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name getMechanismName descriptor ()Ljava/lang/String; flags 401
method name hasInitialResponse descriptor ()Z flags 401
method name evaluateChallenge descriptor ([B)[B thrownTypes javax/security/sasl/SaslException flags 401
method name isComplete descriptor ()Z flags 401
method name unwrap descriptor ([BII)[B thrownTypes javax/security/sasl/SaslException flags 401
method name wrap descriptor ([BII)[B thrownTypes javax/security/sasl/SaslException flags 401
method name getNegotiatedProperty descriptor (Ljava/lang/String;)Ljava/lang/Object; flags 401
method name dispose descriptor ()V thrownTypes javax/security/sasl/SaslException flags 401

class name javax/security/sasl/SaslClientFactory
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name createSaslClient descriptor ([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/sasl/SaslClient; thrownTypes javax/security/sasl/SaslException flags 401 signature ([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;*>;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/sasl/SaslClient;
method name getMechanismNames descriptor (Ljava/util/Map;)[Ljava/lang/String; flags 401 signature (Ljava/util/Map<Ljava/lang/String;*>;)[Ljava/lang/String;

class name javax/security/sasl/SaslException
header extends java/io/IOException flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name <init> descriptor ()V flags 1
method name <init> descriptor (Ljava/lang/String;)V flags 1
method name <init> descriptor (Ljava/lang/String;Ljava/lang/Throwable;)V flags 1
method name getCause descriptor ()Ljava/lang/Throwable; flags 1
method name initCause descriptor (Ljava/lang/Throwable;)Ljava/lang/Throwable; flags 1
method name toString descriptor ()Ljava/lang/String; flags 1

class name javax/security/sasl/SaslServer
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name getMechanismName descriptor ()Ljava/lang/String; flags 401
method name evaluateResponse descriptor ([B)[B thrownTypes javax/security/sasl/SaslException flags 401
method name isComplete descriptor ()Z flags 401
method name getAuthorizationID descriptor ()Ljava/lang/String; flags 401
method name unwrap descriptor ([BII)[B thrownTypes javax/security/sasl/SaslException flags 401
method name wrap descriptor ([BII)[B thrownTypes javax/security/sasl/SaslException flags 401
method name getNegotiatedProperty descriptor (Ljava/lang/String;)Ljava/lang/Object; flags 401
method name dispose descriptor ()V thrownTypes javax/security/sasl/SaslException flags 401

class name javax/security/sasl/SaslServerFactory
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name createSaslServer descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/sasl/SaslServer; thrownTypes javax/security/sasl/SaslException flags 401 signature (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;*>;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/sasl/SaslServer;
method name getMechanismNames descriptor (Ljava/util/Map;)[Ljava/lang/String; flags 401 signature (Ljava/util/Map<Ljava/lang/String;*>;)[Ljava/lang/String;

