1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 package javax.security.auth.callback; 19 20 /** 21 * Thrown when a {@link CallbackHandler} does not support a particular {@link 22 * Callback}. 23 */ 24 public class UnsupportedCallbackException extends Exception { 25 26 private static final long serialVersionUID = -6873556327655666839L; 27 28 private Callback callback; 29 30 /** 31 * Creates a new exception instance and initializes it with just the 32 * unsupported {@code Callback}, but no error message. 33 * 34 * @param callback 35 * the {@code Callback} 36 */ 37 public UnsupportedCallbackException(Callback callback) { 38 this.callback = callback; 39 } 40 41 /** 42 * Creates a new exception instance and initializes it with both the 43 * unsupported {@code Callback} and an error message. 44 * 45 * @param callback 46 * the {@code Callback} 47 * @param message 48 * the error message 49 */ 50 public UnsupportedCallbackException(Callback callback, String message) { 51 super(message); 52 this.callback = callback; 53 } 54 55 /** 56 * Returns the unsupported {@code Callback} that triggered this exception. 57 * 58 * @return the {@code Callback} 59 */ 60 public Callback getCallback() { 61 return callback; 62 } 63 } 64