Home | History | Annotate | Download | only in sasl
      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 org.apache.harmony.javax.security.sasl;
     19 
     20 import java.io.IOException;
     21 
     22 public class SaslException extends IOException {
     23 
     24     private static final long serialVersionUID = 4579784287983423626L;
     25 
     26     /**
     27      * Serialized field for storing initial cause
     28      */
     29     private Throwable _exception;
     30 
     31     public SaslException() {
     32         super();
     33     }
     34 
     35     public SaslException(String detail) {
     36         super(detail);
     37     }
     38 
     39     public SaslException(String detail, Throwable ex) {
     40         super(detail);
     41         if (ex != null) {
     42             super.initCause(ex);
     43             _exception = ex;
     44         }
     45     }
     46 
     47     @Override
     48     public Throwable getCause() {
     49         return _exception;
     50     }
     51 
     52     @Override
     53     public Throwable initCause(Throwable cause) {
     54         super.initCause(cause);
     55         _exception = cause;
     56         return this;
     57     }
     58 
     59     @Override
     60     public String toString() {
     61         if (_exception == null) {
     62             return super.toString();
     63         }
     64         StringBuilder sb = new StringBuilder(super.toString());
     65         sb.append(", caused by: "); //$NON-NLS-1$
     66         sb.append(_exception.toString());
     67         return sb.toString();
     68     }
     69 }
     70