View Javadoc
1   /*
2    * Copyright (C) 2007-2012 Argeo GmbH
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *         http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.argeo.slc;
17  
18  /** Exception for unsupported features or actions. */
19  public class UnsupportedException extends SlcException {
20  	static final long serialVersionUID = 1l;
21  
22  	/** Action not supported. */
23  	public UnsupportedException() {
24  		this("Action not supported");
25  	}
26  
27  	/** Constructor with a message. */
28  	public UnsupportedException(String message) {
29  		super(message);
30  	}
31  
32  	/**
33  	 * Constructor generating a message.
34  	 * 
35  	 * @param nature
36  	 *            the nature of the unsupported object
37  	 * @param obj
38  	 *            the object itself (its class name will be used in message)
39  	 */
40  	public UnsupportedException(String nature, Object obj) {
41  		super("Unsupported " + nature + ": "
42  				+ (obj != null ? obj.getClass() : "[object is null]"));
43  	}
44  
45  	/**
46  	 * Constructor generating a message.
47  	 * 
48  	 * @param nature
49  	 *            the nature of the unsupported object
50  	 * @param clss
51  	 *            the class itself (will be used in message)
52  	 */
53  	public UnsupportedException(String nature, Class<?> clss) {
54  		super("Unsupported " + nature + ": " + clss);
55  	}
56  
57  	/**
58  	 * Constructor generating a message.
59  	 * 
60  	 * @param nature
61  	 *            the nature of the unsupported object
62  	 * @param value
63  	 *            the problematic value itself
64  	 */
65  	public UnsupportedException(String nature, String value) {
66  		super("Unsupported " + nature + ": " + value);
67  	}
68  
69  }