| /** |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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 org.apache.hadoop.lib.server; |
| |
| import org.apache.hadoop.classification.InterfaceAudience; |
| import org.apache.hadoop.lib.lang.XException; |
| |
| /** |
| * Exception thrown by the {@link Server} class. |
| */ |
| @InterfaceAudience.Private |
| public class ServerException extends XException { |
| |
| /** |
| * Error codes use by the {@link Server} class. |
| */ |
| @InterfaceAudience.Private |
| public static enum ERROR implements XException.ERROR { |
| S01("Dir [{0}] does not exist"), |
| S02("[{0}] is not a directory"), |
| S03("Could not load file from classpath [{0}], {1}"), |
| S04("Service [{0}] does not implement declared interface [{1}]"), |
| S05("[{0}] is not a file"), |
| S06("Could not load file [{0}], {1}"), |
| S07("Could not instanciate service class [{0}], {1}"), |
| S08("Could not load service classes, {0}"), |
| S09("Could not set service [{0}] programmatically -server shutting down-, {1}"), |
| S10("Service [{0}] requires service [{1}]"), |
| S11("Service [{0}] exception during status change to [{1}] -server shutting down-, {2}"), |
| S12("Could not start service [{0}], {1}"), |
| S13("Missing system property [{0}]"), |
| S14("Could not initialize server, {0}") |
| ; |
| |
| private String msg; |
| |
| /** |
| * Constructor for the error code enum. |
| * |
| * @param msg message template. |
| */ |
| private ERROR(String msg) { |
| this.msg = msg; |
| } |
| |
| /** |
| * Returns the message template for the error code. |
| * |
| * @return the message template for the error code. |
| */ |
| @Override |
| public String getTemplate() { |
| return msg; |
| } |
| } |
| |
| /** |
| * Constructor for sub-classes. |
| * |
| * @param error error code for the XException. |
| * @param params parameters to use when creating the error message |
| * with the error code template. |
| */ |
| protected ServerException(XException.ERROR error, Object... params) { |
| super(error, params); |
| } |
| |
| /** |
| * Creates an server exception using the specified error code. |
| * The exception message is resolved using the error code template |
| * and the passed parameters. |
| * |
| * @param error error code for the XException. |
| * @param params parameters to use when creating the error message |
| * with the error code template. |
| */ |
| public ServerException(ERROR error, Object... params) { |
| super(error, params); |
| } |
| |
| } |