1   package org.weda.action;
2   
3   import org.weda.action.Parameter.Direction;
4   import org.weda.property.annotations.Description;
5   import org.weda.action.impl.AbstractAction;
6   import org.weda.action.impl.ActionStateImpl;
7   
8   /**
9    *
10   * @author tim
11   */
12  public class TestAction extends AbstractAction {
13      private String parameter;
14      private String readWriteParameter;
15      private int readOnlyParameter;
16      
17      @Parameter
18      public void setParameter(String value){
19          parameter=value;
20      }
21         
22      public ActionState getActionState(ActionContainer targetObject) {
23          readOnlyParameter=10;
24          readWriteParameter="value";
25          return new ActionStateImpl(true, true);
26      }
27  
28      public Object execute(ActionContainer targetObject) {
29          return parameter+":"+targetObject.getClass().getName()+":"+readWriteParameter;
30      }
31  
32      @Parameter(direction=Direction.READ)
33      @Description(displayName="read only parameter")
34      public int getReadOnlyParameter() {
35          return readOnlyParameter;
36      }
37      
38      @Parameter(direction=Direction.READ_WRITE)
39      public String getReadWriteParameter() {
40          return readWriteParameter;
41      }
42  
43      public void setReadWriteParameter(String readWriteParameter) {
44          this.readWriteParameter = readWriteParameter;
45      }
46            
47  }