001 /**
002 *
003 * Copyright 2006 The Apache Software Foundation
004 *
005 * Licensed under the Apache License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * 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
018 //
019 // This source code implements specifications defined by the BEA and IBM.
020 // For more information, see:
021 // http://dev2dev.bea.com/technologies/commonj/index.jsp
022 // or
023 // http://www.ibm.com/developerworks/library/j-commonj-sdowmt
024 //
025 // In order to remain compliant with the specification
026 // DO NOT add / change / or delete method signatures!
027 //
028
029 package commonj.work;
030
031 import java.util.List;
032 import java.util.ArrayList;
033 import java.util.Collections;
034
035 /**
036 * @version $Rev: 46019 $ $Date: 2004-09-14 05:56:06 -0400 (Tue, 14 Sep 2004) $
037 */
038 public class WorkCompletedException extends WorkException {
039
040 private final List exceptionList;
041
042 public WorkCompletedException() {
043 super();
044 exceptionList = Collections.EMPTY_LIST;
045 }
046 public WorkCompletedException(String message) {
047 super(message);
048 exceptionList = Collections.EMPTY_LIST;
049 }
050 public WorkCompletedException(String message, Throwable cause) {
051 super(message, cause);
052 exceptionList = Collections.singletonList(cause);
053 }
054 public WorkCompletedException(Throwable cause) {
055 super(cause);
056 exceptionList = Collections.singletonList(cause);
057 }
058 public WorkCompletedException(String message, List list) {
059 super(message);
060 if ((list != null) && (list.size() > 0)) {
061 initCause((Throwable) list.get(0));
062 exceptionList = Collections.unmodifiableList(new ArrayList(list));
063 } else {
064 exceptionList = Collections.EMPTY_LIST;
065 }
066 }
067
068 public List getExceptionList() {
069 return exceptionList;
070 }
071
072 }