org.apache.struts.config
Class ExceptionConfig

java.lang.Object
  extended by org.apache.struts.config.BaseConfig
      extended by org.apache.struts.config.ExceptionConfig
All Implemented Interfaces:
java.io.Serializable

public class ExceptionConfig
extends BaseConfig

A JavaBean representing the configuration information of an <exception> element from a Struts configuration file.

Since:
Struts 1.1
Version:
$Rev: 471754 $ $Date: 2005-08-06 18:03:30 -0400 (Sat, 06 Aug 2005) $
See Also:
Serialized Form

Field Summary
protected  java.lang.String bundle
          The servlet context attribute under which the message resources bundle to be used for this exception is located.
protected  boolean extensionProcessed
          Have the inheritance values for this class been applied?
protected  java.lang.String handler
          The fully qualified Java class name of the exception handler class which should be instantiated to handle this exception.
protected  java.lang.String inherit
          The type of the ExceptionConfig that this object should inherit properties from.
protected  java.lang.String key
          The message resources key specifying the error message associated with this exception.
protected  java.lang.String path
          The module-relative path of the resource to forward to if this exception occurs during an Action.
protected  java.lang.String scope
          The scope in which we should expose the ActionMessage for this exception handler.
protected  java.lang.String type
          The fully qualified Java class name of the exception that is to be handled by this handler.
 
Fields inherited from class org.apache.struts.config.BaseConfig
configured
 
Constructor Summary
ExceptionConfig()
           
 
Method Summary
protected  boolean checkCircularInheritance(ModuleConfig moduleConfig, ActionConfig actionConfig)
          Traces the hierarchy of this object to check if any of the ancestors are extending this instance.
 java.lang.String getBundle()
           
 java.lang.String getExtends()
           
 java.lang.String getHandler()
           
 java.lang.String getKey()
           
 java.lang.String getPath()
           
 java.lang.String getScope()
           
 java.lang.String getType()
           
 void inheritFrom(ExceptionConfig config)
          Inherit values that have not been overridden from the provided config object.
 boolean isExtensionProcessed()
           
 void processExtends(ModuleConfig moduleConfig, ActionConfig actionConfig)
          Inherit configuration information from the ExceptionConfig that this instance is extending.
 void setBundle(java.lang.String bundle)
           
 void setExtends(java.lang.String inherit)
           
 void setHandler(java.lang.String handler)
           
 void setKey(java.lang.String key)
           
 void setPath(java.lang.String path)
           
 void setScope(java.lang.String scope)
           
 void setType(java.lang.String type)
           
 java.lang.String toString()
          Return a String representation of this object.
 
Methods inherited from class org.apache.struts.config.BaseConfig
copyProperties, freeze, getProperties, getProperty, inheritProperties, setProperties, setProperty, throwIfConfigured
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

bundle

protected java.lang.String bundle
The servlet context attribute under which the message resources bundle to be used for this exception is located. If not set, the default message resources for the current module is assumed.


inherit

protected java.lang.String inherit
The type of the ExceptionConfig that this object should inherit properties from.


extensionProcessed

protected boolean extensionProcessed
Have the inheritance values for this class been applied?


handler

protected java.lang.String handler
The fully qualified Java class name of the exception handler class which should be instantiated to handle this exception.


key

protected java.lang.String key
The message resources key specifying the error message associated with this exception.


path

protected java.lang.String path
The module-relative path of the resource to forward to if this exception occurs during an Action.


scope

protected java.lang.String scope
The scope in which we should expose the ActionMessage for this exception handler.


type

protected java.lang.String type
The fully qualified Java class name of the exception that is to be handled by this handler.

Constructor Detail

ExceptionConfig

public ExceptionConfig()
Method Detail

getBundle

public java.lang.String getBundle()

setBundle

public void setBundle(java.lang.String bundle)

getExtends

public java.lang.String getExtends()

setExtends

public void setExtends(java.lang.String inherit)

isExtensionProcessed

public boolean isExtensionProcessed()

getHandler

public java.lang.String getHandler()

setHandler

public void setHandler(java.lang.String handler)

getKey

public java.lang.String getKey()

setKey

public void setKey(java.lang.String key)

getPath

public java.lang.String getPath()

setPath

public void setPath(java.lang.String path)

getScope

public java.lang.String getScope()

setScope

public void setScope(java.lang.String scope)

getType

public java.lang.String getType()

setType

public void setType(java.lang.String type)

checkCircularInheritance

protected boolean checkCircularInheritance(ModuleConfig moduleConfig,
                                           ActionConfig actionConfig)

Traces the hierarchy of this object to check if any of the ancestors are extending this instance.

Parameters:
moduleConfig - The ModuleConfig that this config is from.
actionConfig - The ActionConfig that this config is from, if applicable. This parameter must be null if this is a global handler.
Returns:
true if circular inheritance was detected.

inheritFrom

public void inheritFrom(ExceptionConfig config)
                 throws java.lang.ClassNotFoundException,
                        java.lang.IllegalAccessException,
                        java.lang.InstantiationException,
                        java.lang.reflect.InvocationTargetException

Inherit values that have not been overridden from the provided config object. Subclasses overriding this method should verify that the given parameter is of a class that contains a property it is trying to inherit:

 if (config instanceof MyCustomConfig) {
     MyCustomConfig myConfig =
         (MyCustomConfig) config;

     if (getMyCustomProp() == null) {
         setMyCustomProp(myConfig.getMyCustomProp());
     }
 }
 

If the given config is extending another object, those extensions should be resolved before it's used as a parameter to this method.

Parameters:
config - The object that this instance will be inheriting its values from.
Throws:
java.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.lang.reflect.InvocationTargetException
See Also:
processExtends(ModuleConfig, ActionConfig)

processExtends

public void processExtends(ModuleConfig moduleConfig,
                           ActionConfig actionConfig)
                    throws java.lang.ClassNotFoundException,
                           java.lang.IllegalAccessException,
                           java.lang.InstantiationException,
                           java.lang.reflect.InvocationTargetException

Inherit configuration information from the ExceptionConfig that this instance is extending. This method verifies that any exception config object that it inherits from has also had its processExtends() method called.

Parameters:
moduleConfig - The ModuleConfig that this config is from.
actionConfig - The ActionConfig that this config is from, if applicable. This must be null for global forwards.
Throws:
java.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.lang.reflect.InvocationTargetException
See Also:
inheritFrom(ExceptionConfig)

toString

public java.lang.String toString()
Return a String representation of this object.

Overrides:
toString in class java.lang.Object


Copyright © 2000-2007 Apache Software Foundation. All Rights Reserved.