package org.marketcetera.photon.internal.strategy.engine.ui.workbench; import org.eclipse.core.expressions.PropertyTester; import org.eclipse.core.runtime.Assert; import org.marketcetera.photon.strategy.engine.model.core.DeployedStrategy; import org.marketcetera.photon.strategy.engine.ui.workbench.StrategyEngineWorkbenchUI; import org.marketcetera.util.misc.ClassVersion; /* $License$ */ /** * Allows {@link DeployedStrategy} properties to be queried declaratively. * Supported properties are: * <ul> * <li>{@link StrategyEngineWorkbenchUI#DEPLOYED_STRATEGY_STATE_PROPERTY}</li> * </ul> * * @author <a href="mailto:will@marketcetera.com">Will Horn</a> * @version $Id: DeployedStrategyPropertyTester.java 16154 2012-07-14 16:34:05Z colin $ * @since 2.0.0 */ @ClassVersion("$Id: DeployedStrategyPropertyTester.java 16154 2012-07-14 16:34:05Z colin $") public class DeployedStrategyPropertyTester extends PropertyTester { @Override public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { DeployedStrategy strategy = (DeployedStrategy) receiver; Assert.isLegal( StrategyEngineWorkbenchUI.DEPLOYED_STRATEGY_STATE_PROPERTY .equals(property), property); return strategy.getState().name().equals(expectedValue); } }