/******************************************************************************* *******************************************************************************/ package at.gv.egiz.eaaf.core.impl.idp.process; import java.io.Serializable; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Set; import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext; import at.gv.egiz.eaaf.core.api.idp.process.ExpressionEvaluationContext; /** * Context implementation used for expression evaluation only. * * @author tknall * */ public class ExpressionEvaluationContextImpl implements ExpressionEvaluationContext { private static final long serialVersionUID = 1L; private Map ctxData; /** * Creates a new instance and initializes it with data from a given process instance. * * @param processInstance * The process instance. */ ExpressionEvaluationContextImpl(ProcessInstance processInstance) { ExecutionContext executionContext = processInstance.getExecutionContext(); Set keys = executionContext.keySet(); ctxData = Collections.synchronizedMap(new HashMap(keys.size())); for (String key : keys) { ctxData.put(key, executionContext.get(key)); } } @Override public Map getCtx() { return Collections.unmodifiableMap(ctxData); } }