package org.apache.struts.config;

import java.io.Serializable;

public class ExceptionConfig implements Serializable {
  protected boolean configured = false;
  
  protected String bundle = null;
  
  public String getBundle() {
    return this.bundle;
  }
  
  public void setBundle(String bundle) {
    if (this.configured)
      throw new IllegalStateException("Configuration is frozen"); 
    this.bundle = bundle;
  }
  
  protected String handler = "org.apache.struts.action.ExceptionHandler";
  
  public String getHandler() {
    return this.handler;
  }
  
  public void setHandler(String handler) {
    if (this.configured)
      throw new IllegalStateException("Configuration is frozen"); 
    this.handler = handler;
  }
  
  protected String key = null;
  
  public String getKey() {
    return this.key;
  }
  
  public void setKey(String key) {
    if (this.configured)
      throw new IllegalStateException("Configuration is frozen"); 
    this.key = key;
  }
  
  protected String path = null;
  
  public String getPath() {
    return this.path;
  }
  
  public void setPath(String path) {
    if (this.configured)
      throw new IllegalStateException("Configuration is frozen"); 
    this.path = path;
  }
  
  protected String scope = "request";
  
  public String getScope() {
    return this.scope;
  }
  
  public void setScope(String scope) {
    if (this.configured)
      throw new IllegalStateException("Configuration is frozen"); 
    this.scope = scope;
  }
  
  protected String type = null;
  
  public String getType() {
    return this.type;
  }
  
  public void setType(String type) {
    if (this.configured)
      throw new IllegalStateException("Configuration is frozen"); 
    this.type = type;
  }
  
  public void freeze() {
    this.configured = true;
  }
  
  public String toString() {
    StringBuffer sb = new StringBuffer("ExceptionConfig[");
    sb.append("type=");
    sb.append(this.type);
    if (this.bundle != null) {
      sb.append(",bundle=");
      sb.append(this.bundle);
    } 
    sb.append(",key=");
    sb.append(this.key);
    sb.append(",path=");
    sb.append(this.path);
    sb.append(",scope=");
    sb.append(this.scope);
    sb.append("]");
    return sb.toString();
  }
}
