001/** 002 * Copyright (c) 2011, Regents of the University of Colorado 003 * All rights reserved. 004 * 005 * Redistribution and use in source and binary forms, with or without 006 * modification, are permitted provided that the following conditions are met: 007 * 008 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 009 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 010 * Neither the name of the University of Colorado at Boulder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 011 * 012 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 013 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 014 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 015 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 016 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 017 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 018 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 019 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 020 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 021 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 022 * POSSIBILITY OF SUCH DAMAGE. 023 */ 024package org.cleartk.ml; 025 026import java.util.List; 027 028import org.apache.uima.analysis_engine.AnalysisEngineProcessException; 029 030/** 031 * <br> 032 * Copyright (c) 2011, Regents of the University of Colorado <br> 033 * All rights reserved. 034 */ 035public class CleartkProcessingException extends AnalysisEngineProcessException { 036 037 protected static final String DEFAULT_RESOURCE_BUNDLE = "org.cleartk.ml.CleartkExceptions"; 038 039 private static final String KEY_PREFIX = CleartkProcessingException.class.getName() + "."; 040 041 private static final long serialVersionUID = 1L; 042 043 public static CleartkProcessingException multipleExceptions(List<? extends Throwable> causes) { 044 String key = KEY_PREFIX + "multipleExceptions"; 045 String message0 = causes.get(0).getMessage(); 046 return new CleartkProcessingException( 047 causes.get(0), 048 DEFAULT_RESOURCE_BUNDLE, 049 key, 050 message0, 051 causes.size() - 1); 052 } 053 054 public static CleartkProcessingException noInstanceOutcome(List<?> features) { 055 String key = KEY_PREFIX + "noInstanceOutcome"; 056 return new CleartkProcessingException(DEFAULT_RESOURCE_BUNDLE, key, features); 057 } 058 059 public static CleartkProcessingException unsupportedOperationSetParameter( 060 Throwable cause, 061 Object object, 062 String methodName, 063 String paramName, 064 Object paramValue) { 065 String key = KEY_PREFIX + "unsupportedOperationSetParameter"; 066 return new CleartkProcessingException( 067 cause, 068 DEFAULT_RESOURCE_BUNDLE, 069 key, 070 object.getClass().getName(), 071 methodName, 072 paramName, 073 paramValue); 074 } 075 076 public CleartkProcessingException( 077 Throwable cause, 078 String resourceBundleName, 079 String messageKey, 080 Object... arguments) { 081 super(resourceBundleName, messageKey, arguments, cause); 082 } 083 084 public CleartkProcessingException( 085 String resourceBundleName, 086 String messageKey, 087 Object... arguments) { 088 super(resourceBundleName, messageKey, arguments); 089 } 090 091 public CleartkProcessingException(Throwable cause) { 092 super(cause); 093 } 094}