01: /*
02: * Copyright 2006 Luca Garulli (luca.garulli@assetdata.it)
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16:
17: package org.romaframework.aspect.view.page;
18:
19: import org.romaframework.aspect.core.annotation.AnnotationConstants;
20: import org.romaframework.aspect.view.annotation.ViewField;
21: import org.romaframework.core.flow.ObjectContext;
22:
23: /**
24: * Basic implementation of CallerHandler interface. Allows to track the caller.
25: * Useful to build page with "back" action.
26: *
27: * @author Luca Garulli (luca.garulli@assetdata.it)
28: *
29: */
30: public abstract class Page implements CallerHandler {
31: public Page() {
32: }
33:
34: public Page(Object iBack) {
35: setBackObject(iBack);
36: }
37:
38: protected void back() {
39: if (backObject != null)
40: ObjectContext.getInstance().show(backObject);
41: }
42:
43: public Object getBackObject() {
44: return backObject;
45: }
46:
47: public void setBackObject(Object iBackObject) {
48: backObject = iBackObject;
49: }
50:
51: @ViewField(visible=AnnotationConstants.FALSE)
52: private Object backObject;
53: }
|