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