/** * Copyright (C) 2010-14 diirt developers. See COPYRIGHT.TXT * All rights reserved. Use is subject to license terms. See LICENSE.TXT */ package org.diirt.datasource; import org.diirt.datasource.test.WriteRecipeUtil; import org.diirt.datasource.expression.WriteExpression; /** * * @author carcassi */ public class WriteExpressionTester { private WriteExpression<?> expression; private PVWriterDirector<?> pvWriterDirector = new PVWriterDirector<Object>(null, null, null, null, null, null, null, null, null); public WriteExpressionTester(WriteExpression<?> expression) { this.expression = expression; pvWriterDirector.connectExpression(expression); } public Object readValue(String name) { return WriteRecipeUtil.valueFor(pvWriterDirector.getCurrentWriteRecipe(), name); } public ChannelWriteRecipe recipeFor(String channelName) { return WriteRecipeUtil.recipeFor(pvWriterDirector.getCurrentWriteRecipe(), channelName); } public WriteRecipe getWriteRecipe() { return pvWriterDirector.getCurrentWriteRecipe(); } @SuppressWarnings("unchecked") public WriteFunction<Object> getWriteFunction() { return (WriteFunction<Object>) expression.getWriteFunction(); } public WriteExpression<?> getExpression() { return expression; } public void setValue(Object value) { getWriteFunction().writeValue(value); } }