001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package org.apache.activemq.util;
018
019 import javax.jms.JMSException;
020 import javax.jms.MessageEOFException;
021 import javax.jms.MessageFormatException;
022
023 public final class JMSExceptionSupport {
024
025 private JMSExceptionSupport() {
026 }
027
028 public static JMSException create(String msg, Throwable cause) {
029 JMSException exception = new JMSException(msg);
030 exception.initCause(cause);
031 return exception;
032 }
033
034 public static JMSException create(String msg, Exception cause) {
035 JMSException exception = new JMSException(msg);
036 exception.setLinkedException(cause);
037 exception.initCause(cause);
038 return exception;
039 }
040
041 public static JMSException create(Throwable cause) {
042 if (cause instanceof JMSException) {
043 return (JMSException)cause;
044 }
045 String msg = cause.getMessage();
046 if (msg == null || msg.length() == 0) {
047 msg = cause.toString();
048 }
049 JMSException exception = new JMSException(msg);
050 exception.initCause(cause);
051 return exception;
052 }
053
054 public static JMSException create(Exception cause) {
055 if (cause instanceof JMSException) {
056 return (JMSException)cause;
057 }
058 String msg = cause.getMessage();
059 if (msg == null || msg.length() == 0) {
060 msg = cause.toString();
061 }
062 JMSException exception = new JMSException(msg);
063 exception.setLinkedException(cause);
064 exception.initCause(cause);
065 return exception;
066 }
067
068 public static MessageEOFException createMessageEOFException(Exception cause) {
069 String msg = cause.getMessage();
070 if (msg == null || msg.length() == 0) {
071 msg = cause.toString();
072 }
073 MessageEOFException exception = new MessageEOFException(msg);
074 exception.setLinkedException(cause);
075 exception.initCause(cause);
076 return exception;
077 }
078
079 public static MessageFormatException createMessageFormatException(Exception cause) {
080 String msg = cause.getMessage();
081 if (msg == null || msg.length() == 0) {
082 msg = cause.toString();
083 }
084 MessageFormatException exception = new MessageFormatException(msg);
085 exception.setLinkedException(cause);
086 exception.initCause(cause);
087 return exception;
088 }
089 }