001: /*
002: * Copyright 2002-2007 the original author or authors.
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016:
017: package org.springframework.beans.factory;
018:
019: import org.springframework.beans.FatalBeanException;
020:
021: /**
022: * Exception thrown when a BeanFactory encounters an internal error, and
023: * its definitions are invalid: for example, if an XML document containing
024: * bean definitions isn't well-formed.
025: *
026: * @author Rod Johnson
027: * @author Juergen Hoeller
028: * @author Rob Harrop
029: */
030: public class BeanDefinitionStoreException extends FatalBeanException {
031:
032: private String resourceDescription;
033:
034: private String beanName;
035:
036: /**
037: * Create a new BeanDefinitionStoreException.
038: * @param msg the detail message (used as exception message as-is)
039: */
040: public BeanDefinitionStoreException(String msg) {
041: super (msg);
042: }
043:
044: /**
045: * Create a new BeanDefinitionStoreException.
046: * @param msg the detail message (used as exception message as-is)
047: * @param cause the root cause (may be <code>null</code>)
048: */
049: public BeanDefinitionStoreException(String msg, Throwable cause) {
050: super (msg, cause);
051: }
052:
053: /**
054: * Create a new BeanDefinitionStoreException.
055: * @param resourceDescription description of the resource that the bean definition came from
056: * @param msg the detail message (used as exception message as-is)
057: */
058: public BeanDefinitionStoreException(String resourceDescription,
059: String msg) {
060: super (msg);
061: this .resourceDescription = resourceDescription;
062: }
063:
064: /**
065: * Create a new BeanDefinitionStoreException.
066: * @param resourceDescription description of the resource that the bean definition came from
067: * @param msg the detail message (used as exception message as-is)
068: * @param cause the root cause (may be <code>null</code>)
069: */
070: public BeanDefinitionStoreException(String resourceDescription,
071: String msg, Throwable cause) {
072: super (msg, cause);
073: this .resourceDescription = resourceDescription;
074: }
075:
076: /**
077: * Create a new BeanDefinitionStoreException.
078: * @param resourceDescription description of the resource that the bean definition came from
079: * @param beanName the name of the bean requested
080: * @param msg the detail message (appended to an introductory message that indicates
081: * the resource and the name of the bean)
082: */
083: public BeanDefinitionStoreException(String resourceDescription,
084: String beanName, String msg) {
085: this (resourceDescription, beanName, msg, null);
086: }
087:
088: /**
089: * Create a new BeanDefinitionStoreException.
090: * @param resourceDescription description of the resource that the bean definition came from
091: * @param beanName the name of the bean requested
092: * @param msg the detail message (appended to an introductory message that indicates
093: * the resource and the name of the bean)
094: * @param cause the root cause (may be <code>null</code>)
095: */
096: public BeanDefinitionStoreException(String resourceDescription,
097: String beanName, String msg, Throwable cause) {
098: super ("Error registering bean with name '" + beanName
099: + "' defined in " + resourceDescription + ": " + msg,
100: cause);
101: this .resourceDescription = resourceDescription;
102: this .beanName = beanName;
103: }
104:
105: /**
106: * Return the description of the resource that the bean
107: * definition came from, if any.
108: */
109: public String getResourceDescription() {
110: return this .resourceDescription;
111: }
112:
113: /**
114: * Return the name of the bean requested, if any.
115: */
116: public String getBeanName() {
117: return this.beanName;
118: }
119:
120: }
|