001    /*
002     **
003     ** Licensed to the Apache Software Foundation (ASF) under one
004     ** or more contributor license agreements.  See the NOTICE file
005     ** distributed with this work for additional information
006     ** regarding copyright ownership.  The ASF licenses this file
007     ** to you under the Apache License, Version 2.0 (the
008     ** "License"); you may not use this file except in compliance
009     ** with the License.  You may obtain a copy of the License at
010     **
011     **  http://www.apache.org/licenses/LICENSE-2.0
012     **
013     ** Unless required by applicable law or agreed to in writing,
014     ** software distributed under the License is distributed on an
015     ** "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
016     ** KIND, either express or implied.  See the License for the
017     ** specific language governing permissions and limitations
018     ** under the License.
019     */
020    package javax.xml.stream;
021    
022    import java.io.Serializable;
023    
024    public class FactoryConfigurationError extends Error implements Serializable {
025            Exception nested;
026    
027            public FactoryConfigurationError() {
028            }
029    
030            public FactoryConfigurationError(Exception e) {
031                    nested = e;
032            }
033    
034            public FactoryConfigurationError(Exception e, String msg) {
035                    super(msg);
036                    nested = e;
037            }
038    
039            public FactoryConfigurationError(java.lang.String msg) {
040                    super(msg);
041            }
042    
043            public FactoryConfigurationError(String msg, Exception e) {
044                    super(msg);
045                    nested = e;
046            }
047    
048            public Exception getException() {
049                    return nested;
050            }
051    
052            public String getMessage() {
053                    String msg = super.getMessage();
054                    if (msg != null)
055                            return msg;
056    
057                    if (nested != null) {
058                            msg = nested.getMessage();
059                            if (msg == null)
060                                    msg = nested.getClass().toString();
061                    }
062                    return msg;
063            }
064    }