package org.radargun.processors; import com.tangosol.util.Filter; import com.tangosol.util.InvocableMap; import com.tangosol.util.InvocableMapHelper; import com.tangosol.util.processor.ConditionalPut; /** * Conditional put returning previous value according to the JSR-107 spec. * * @author Radim Vansa <rvansa@redhat.com> */ public class ValueConditionalPut extends ConditionalPut { public ValueConditionalPut() { } public ValueConditionalPut(Filter filter, Object oValue) { super(filter, oValue); } @Override public Object process(InvocableMap.Entry entry) { if (InvocableMapHelper.evaluateEntry(this.m_filter, entry)) { Object old = entry.getValue(); entry.setValue(this.m_oValue, false); return old; } return entry.getValue(); } }