/******************************************************************************* * Copyright (c) 2014 Open Door Logistics (www.opendoorlogistics.com) * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v3 * which accompanies this distribution, and is available at http://www.gnu.org/licenses/lgpl.txt ******************************************************************************/ package com.opendoorlogistics.core.api.impl.scripts; import com.opendoorlogistics.api.ODLApi; import com.opendoorlogistics.api.scripts.ScriptInstruction; import com.opendoorlogistics.api.tables.ODLDatastore; import com.opendoorlogistics.api.tables.ODLTableDefinition; import com.opendoorlogistics.core.scripts.elements.InstructionConfig; import com.opendoorlogistics.core.scripts.utils.ScriptUtils; public class ScriptInstructionImpl extends ScriptElementImpl implements ScriptInstruction { public ScriptInstructionImpl(ODLApi api,ScriptOptionImpl owner, InstructionConfig element) { super(api,owner, element); } @Override public void setOutputDatastoreId(String id) { instruction().setOutputDatastore(id); } /** * @return */ private InstructionConfig instruction() { return (InstructionConfig)getElement(); } @Override public ODLDatastore<? extends ODLTableDefinition> getInstructionRequiredIO() { ScriptOptionImpl root = findRoot(null); return ScriptUtils.getIODatastoreDfn(api,root.option,instruction()); } @Override public void setInputDatastoreId(String id) { instruction().setDatastore(id); } @Override public ODLDatastore<? extends ODLTableDefinition> getInstructionOutput() { ScriptOptionImpl root = findRoot(null); return ScriptUtils.getOutputDatastoreDfn(api,root.option,instruction()); } @Override public String getInputDatastoreId() { return instruction().getDatastore(); } @Override public String getOutputDatastoreId() { return instruction().getOutputDatastore(); } }