/*
* 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.avalon.framework.configuration;
import org.apache.avalon.framework.CascadingException;
Thrown when a Configurable
component cannot be configured
properly, or if a value cannot be retrieved properly.
Author: Avalon Development Team Version: $Id: ConfigurationException.java 506231 2007-02-12 02:36:54Z crossley $
/**
* Thrown when a <code>Configurable</code> component cannot be configured
* properly, or if a value cannot be retrieved properly.
*
* @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version $Id: ConfigurationException.java 506231 2007-02-12 02:36:54Z crossley $
*/
public class ConfigurationException
extends CascadingException
{
private final Configuration m_config;
Construct a new ConfigurationException
instance.
Params: - config – The offending configuration object
/**
* Construct a new <code>ConfigurationException</code> instance.
*
* @param config The offending configuration object
*/
public ConfigurationException( final Configuration config )
{
this( "Bad configuration: " + config.toString(), config );
}
Construct a new ConfigurationException
instance.
Params: - message – The detail message for this exception.
/**
* Construct a new <code>ConfigurationException</code> instance.
*
* @param message The detail message for this exception.
*/
public ConfigurationException( final String message )
{
this( message, (Configuration) null );
}
Construct a new ConfigurationException
instance.
Params: - message – The detail message for this exception.
- throwable – the root cause of the exception
/**
* Construct a new <code>ConfigurationException</code> instance.
*
* @param message The detail message for this exception.
* @param throwable the root cause of the exception
*/
public ConfigurationException( final String message, final Throwable throwable )
{
this( message, null, throwable );
}
Construct a new ConfigurationException
instance.
Params: - message – The detail message for this exception.
- config – The configuration object
/**
* Construct a new <code>ConfigurationException</code> instance.
*
* @param message The detail message for this exception.
* @param config The configuration object
*/
public ConfigurationException( final String message, final Configuration config )
{
this( message, config, null );
}
Construct a new ConfigurationException
instance.
Params: - message – The detail message for this exception.
- throwable – the root cause of the exception
/**
* Construct a new <code>ConfigurationException</code> instance.
*
* @param message The detail message for this exception.
* @param throwable the root cause of the exception
*/
public ConfigurationException( final String message, final Configuration config, final Throwable throwable )
{
super( message, throwable );
m_config = config;
}
public Configuration getOffendingConfiguration()
{
return m_config;
}
public String getMessage()
{
StringBuffer message = new StringBuffer(super.getMessage());
if (null != m_config)
{
message.append(" @");
message.append(m_config.getLocation());
}
return message.toString();
}
}