01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: *
17: * $Header:$
18: */
19: package org.apache.beehive.netui.pageflow;
20:
21: /**
22: * Exception that occurs when a required action output is missing from a {@link Forward}.
23: */
24: public class MissingActionOutputException extends PageFlowException {
25: private String _actionOutputName;
26: private String _forwardName;
27:
28: public MissingActionOutputException(String actionName,
29: FlowController flowController, String actionOutputName,
30: String forwardName) {
31: super (actionName, flowController);
32: _actionOutputName = actionOutputName;
33: _forwardName = forwardName;
34: }
35:
36: protected Object[] getMessageArgs() {
37: return new Object[] { _actionOutputName, _forwardName,
38: getActionName(), getFlowControllerURI() };
39: }
40:
41: protected String[] getMessageParts() {
42: return new String[] { "The required action output \"",
43: "\" was not present on forward \"", "\" (action ",
44: " in Page Flow ", ")." };
45: }
46:
47: public String getActionOutputName() {
48: return _actionOutputName;
49: }
50:
51: public String getForwardName() {
52: return _forwardName;
53: }
54:
55: /**
56: * Tell whether the root cause may be session expiration in cases where the requested session ID is different than
57: * the actual session ID. In this case, the answer is <code>false</code>.
58: */
59: public boolean causeMayBeSessionExpiration() {
60: return false;
61: }
62: }
|