/*
* Copyright 2016 DiffPlug
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.diffplug.common.base;
/** Exceptions designed for checking programming errors (e.g. unexpected default or else clauses). */
public class Unhandled extends IllegalArgumentException {
private static final long serialVersionUID = 0L;
public Unhandled(String message) {
super(message);
}
public static Unhandled classException(Object o) {
if (o == null) {
return new Unhandled("Unhandled class 'null'");
} else {
if (o instanceof Class) {
return new Unhandled("Unhandled class '" + ((Class<?>) o).getName() + "'");
} else {
return new Unhandled("Unhandled class '" + o.getClass().getName() + "'");
}
}
}
public static Unhandled enumException(Enum<?> e) {
if (e == null) {
return new Unhandled("Unhandled enum value 'null'");
} else {
return new Unhandled("Unhandled enum value '" + e.name() + "' for enum class '" + e.getClass() + "'");
}
}
public static Unhandled byteException(byte b) {
return new Unhandled("Unhandled byte '" + b + "'");
}
public static Unhandled charException(char c) {
return new Unhandled("Unhandled char '" + c + "'");
}
public static Unhandled shortException(short s) {
return new Unhandled("Unhandled short '" + s + "'");
}
public static Unhandled integerException(int i) {
return new Unhandled("Unhandled integer '" + i + "'");
}
public static Unhandled floatException(float f) {
return new Unhandled("Unhandled float '" + f + "'");
}
public static Unhandled doubleException(double d) {
return new Unhandled("Unhandled double '" + d + "'");
}
public static Unhandled stringException(String str) {
return new Unhandled("Unhandled string '" + str + "'");
}
public static Unhandled objectException(Object obj) {
return new Unhandled("Unhandled object '" + obj + "'");
}
}