001 package toolbus.atom; 002 003 import toolbus.TBTermFactory; 004 import toolbus.exceptions.ToolBusException; 005 import toolbus.parsercup.PositionInformation; 006 import toolbus.process.ProcessExpression; 007 import aterm.ATerm; 008 009 /** 010 * @author paulk, Jul 26, 2002 011 */ 012 public class ShutDown extends Atom{ 013 private final Ref arg; 014 015 public ShutDown(ATerm trm, TBTermFactory tbfactory, PositionInformation posInfo){ 016 super(tbfactory, posInfo); 017 arg = new Ref(trm); 018 setAtomArgs(new Ref[]{arg}); 019 } 020 021 public ProcessExpression copy(){ 022 Atom a = new ShutDown(arg.value, tbfactory, getPosInfo()); 023 a.copyAtomAttributes(this); 024 return a; 025 } 026 027 public boolean execute() throws ToolBusException{ 028 if(isEnabled()){ 029 getToolBus().shutdown(arg.value); 030 return true; 031 } 032 033 return false; 034 } 035 }