1 16 package org.springframework.webflow.engine.support; 17 18 import java.lang.reflect.Modifier ; 19 20 import org.springframework.beans.BeanUtils; 21 import org.springframework.util.Assert; 22 import org.springframework.webflow.engine.FlowVariable; 23 import org.springframework.webflow.execution.RequestContext; 24 import org.springframework.webflow.execution.ScopeType; 25 26 32 public class SimpleFlowVariable extends FlowVariable { 33 34 37 private Class variableClass; 38 39 45 public SimpleFlowVariable(String name, Class variableClass, ScopeType scope) { 46 super(name, scope); 47 Assert.notNull(variableClass, "The variable class is required"); 48 Assert.isTrue(!variableClass.isInterface(), "The variable class cannot be an interface"); 49 Assert.isTrue(!Modifier.isAbstract(variableClass.getModifiers()), "The variable class cannot be abstract"); 50 this.variableClass = variableClass; 51 } 52 53 56 public Class getVariableClass() { 57 return variableClass; 58 } 59 60 protected Object createVariableValue(RequestContext context) { 61 return BeanUtils.instantiateClass(variableClass); 62 } 63 } | Popular Tags |