package org.jboss.seam.bpm; import java.beans.FeatureDescriptor; import java.util.Iterator; import javax.el.ELContext; import javax.el.ELResolver; import org.jbpm.jpdl.el.VariableResolver; /** * Resolves jBPM variables for Unified EL * * @author Gavin King * */ final class JbpmELResolver extends ELResolver { private final VariableResolver resolver; JbpmELResolver(VariableResolver resolver) { this.resolver = resolver; } @Override public Object getValue(ELContext context, Object base, Object property) { if ( base==null && property!=null ) { context.setPropertyResolved(true); return resolver.resolveVariable( (String) property ); } else { return null; } } @Override public boolean isReadOnly(ELContext context, Object base, Object property) { return true; } @Override public Class<?> getCommonPropertyType(ELContext context, Object base) { throw new UnsupportedOperationException(); } @Override public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base) { throw new UnsupportedOperationException(); } @Override public Class<?> getType(ELContext context, Object base, Object property) { throw new UnsupportedOperationException(); } @Override public void setValue(ELContext context, Object base, Object property, Object value) { throw new UnsupportedOperationException(); } }