--- /dev/null
+/*\r
+ * Copyright (C) 2007-2012 Argeo GmbH\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+package org.argeo.slc;\r
+\r
+/** Exception for unsupported features or actions. */\r
+public class UnsupportedException extends SlcException {\r
+ static final long serialVersionUID = 1l;\r
+\r
+ /** Action not supported. */\r
+ public UnsupportedException() {\r
+ this("Action not supported");\r
+ }\r
+\r
+ /** Constructor with a message. */\r
+ public UnsupportedException(String message) {\r
+ super(message);\r
+ }\r
+\r
+ /**\r
+ * Constructor generating a message.\r
+ * \r
+ * @param nature\r
+ * the nature of the unsupported object\r
+ * @param obj\r
+ * the object itself (its class name will be used in message)\r
+ */\r
+ public UnsupportedException(String nature, Object obj) {\r
+ super("Unsupported " + nature + ": "\r
+ + (obj != null ? obj.getClass() : "[object is null]"));\r
+ }\r
+\r
+ /**\r
+ * Constructor generating a message.\r
+ * \r
+ * @param nature\r
+ * the nature of the unsupported object\r
+ * @param clss\r
+ * the class itself (will be used in message)\r
+ */\r
+ public UnsupportedException(String nature, Class<?> clss) {\r
+ super("Unsupported " + nature + ": " + clss);\r
+ }\r
+\r
+ /**\r
+ * Constructor generating a message.\r
+ * \r
+ * @param nature\r
+ * the nature of the unsupported object\r
+ * @param value\r
+ * the problematic value itself\r
+ */\r
+ public UnsupportedException(String nature, String value) {\r
+ super("Unsupported " + nature + ": " + value);\r
+ }\r
+\r
+}\r