View Javadoc

1   /*
2    * $Id: ModuleException.java 471754 2006-11-06 14:55:09Z husted $
3    *
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *  http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  package org.apache.struts.util;
22  
23  import org.apache.struts.action.ActionMessage;
24  
25  /**
26   * Used for specialized exception handling.
27   */
28  public class ModuleException extends Exception {
29      protected String property = null;
30  
31      /**
32       * The ActionMessage associated with this exception.
33       *
34       * @since Struts 1.2
35       */
36      protected ActionMessage message = null;
37  
38      /**
39       * Construct an module exception with no replacement values.
40       *
41       * @param key Message key for this error message
42       */
43      public ModuleException(String key) {
44          super(key);
45          message = new ActionMessage(key);
46      }
47  
48      /**
49       * Construct an module exception with the specified replacement values.
50       *
51       * @param key   Message key for this error message
52       * @param value First replacement value
53       */
54      public ModuleException(String key, Object value) {
55          super(key);
56          message = new ActionMessage(key, value);
57      }
58  
59      /**
60       * Construct an module exception with the specified replacement values.
61       *
62       * @param key    Message key for this error message
63       * @param value0 First replacement value
64       * @param value1 Second replacement value
65       */
66      public ModuleException(String key, Object value0, Object value1) {
67          super(key);
68          message = new ActionMessage(key, value0, value1);
69      }
70  
71      /**
72       * Construct an module exception with the specified replacement values.
73       *
74       * @param key    Message key for this error message
75       * @param value0 First replacement value
76       * @param value1 Second replacement value
77       * @param value2 Third replacement value
78       */
79      public ModuleException(String key, Object value0, Object value1,
80          Object value2) {
81          super(key);
82          message = new ActionMessage(key, value0, value1, value2);
83      }
84  
85      /**
86       * Construct an module exception with the specified replacement values.
87       *
88       * @param key    Message key for this error message
89       * @param value0 First replacement value
90       * @param value1 Second replacement value
91       * @param value2 Third replacement value
92       * @param value3 Fourth replacement value
93       */
94      public ModuleException(String key, Object value0, Object value1,
95          Object value2, Object value3) {
96          super(key);
97          message = new ActionMessage(key, value0, value1, value2, value3);
98      }
99  
100     /**
101      * Construct an error with the specified replacement values.
102      *
103      * @param key    Message key for this message
104      * @param values Array of replacement values
105      */
106     public ModuleException(String key, Object[] values) {
107         super(key);
108         message = new ActionMessage(key, values);
109     }
110 
111     /**
112      * Returns the property associated with the exception.
113      *
114      * @return Value of property.
115      */
116     public String getProperty() {
117         return (property != null) ? property : message.getKey();
118     }
119 
120     /**
121      * Set the property associated with the exception. It can be a name of the
122      * edit field, which 'caused' the exception.
123      */
124     public void setProperty(String property) {
125         this.property = property;
126     }
127 
128     /**
129      * Returns the error associated with the exception.
130      *
131      * @return Value of property error.
132      * @since Struts 1.2
133      */
134     public ActionMessage getActionMessage() {
135         return this.message;
136     }
137 }