1 package org.weda.tapestry.component;
2
3 import java.util.Map;
4 import org.apache.commons.logging.Log;
5 import org.apache.commons.logging.LogFactory;
6 import org.apache.tapestry.BaseComponent;
7 import org.apache.tapestry.IRequestCycle;
8 import org.apache.tapestry.annotations.Parameter;
9 import org.weda.action.ActionContainer;
10 import org.weda.action.ActionDescriptor;
11 import org.weda.action.ActionRegistryException;
12 import org.weda.action.ActionState;
13 import org.weda.action.Parameter.Direction;
14
15 /**Абстрактный компонент для отображения действия
16 *
17 * @author tim
18 */
19 public abstract class AbstractAction extends BaseComponent{
20 private final static Log log = LogFactory.getLog(AbstractAction.class);
21 public String parameterName;
22
23 @Parameter(required=true)
24 public abstract ActionState getActionState();
25
26 @Parameter(required=true)
27 public abstract ActionContainer getActionContainer();
28
29 @Parameter(required=true)
30 public abstract Map<String, Object> getActionParameters();
31
32 @Parameter(required=true)
33 public abstract Map getObjectState();
34
35 public boolean isReadOnlyParameter() throws Exception{
36 Direction dir =
37 getActionState()
38 .getActionDescriptor()
39 .getActionParameter(parameterName)
40 .getDirection();
41 return dir==Direction.READ;
42 }
43
44 public void onClick(){
45 }
46 }