001 /* 002 * CDDL HEADER START 003 * 004 * The contents of this file are subject to the terms of the 005 * Common Development and Distribution License, Version 1.0 only 006 * (the "License"). You may not use this file except in compliance 007 * with the License. 008 * 009 * You can obtain a copy of the license at 010 * trunk/opends/resource/legal-notices/OpenDS.LICENSE 011 * or https://OpenDS.dev.java.net/OpenDS.LICENSE. 012 * See the License for the specific language governing permissions 013 * and limitations under the License. 014 * 015 * When distributing Covered Code, include this CDDL HEADER in each 016 * file and include the License file at 017 * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, 018 * add the following below this CDDL HEADER, with the fields enclosed 019 * by brackets "[]" replaced with your own identifying information: 020 * Portions Copyright [yyyy] [name of copyright owner] 021 * 022 * CDDL HEADER END 023 * 024 * 025 * Copyright 2008 Sun Microsystems, Inc. 026 */ 027 028 package org.opends.server.admin; 029 030 031 032 import org.opends.messages.Message; 033 034 035 036 /** 037 * Exceptions thrown when interacting with administration framework 038 * that applications are not expected to catch. 039 */ 040 public abstract class AdminRuntimeException extends RuntimeException { 041 042 // Message that explains the problem. 043 private final Message message; 044 045 046 047 /** 048 * Create an admin runtime exception with a message and cause. 049 * 050 * @param message 051 * The message. 052 * @param cause 053 * The cause. 054 */ 055 protected AdminRuntimeException(Message message, Throwable cause) { 056 super(message.toString(), cause); 057 this.message = message; 058 } 059 060 061 062 /** 063 * Create an admin runtime exception with a message. 064 * 065 * @param message 066 * The message. 067 */ 068 protected AdminRuntimeException(Message message) { 069 super(message.toString()); 070 this.message = message; 071 } 072 073 074 075 /** 076 * Returns the message that explains the problem that occurred. 077 * 078 * @return Returns the message describing the problem that occurred 079 * (never <code>null</code>). 080 */ 081 public Message getMessageObject() { 082 return this.message; 083 } 084 }