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 }