/*
 *  Agent's ALLL delete list/plan action class
 *
 *  2004 - 2011 Frantisek Zboril jr.
 *  Faculty of Information Technology
 *  zborilf@fit.vutbr.cz
 *  http://www.fit.vutbr.cz/~zborilf
 *
 * (C) Brno University of Technology
 * Freeware licence VUT v Brně
 * https://wis.fit.vutbr.cz/FIT/db/dir.php/dr/VZ2007/externiInformace/softwareNaWebu/Priloha2_rozh23.pdf

 */

package jTMass.core.jAMass.jActions;
import jTMass.core.jAMass.*;
import jTMass.core.jALLL.jTObjects.*;

public class TDelete extends TAction {

    // ===== CLONING =====

    @Override
    public TObject cloneObject(){
    	TDelete newDelete=new TDelete((TList)PList.cloneObject());
    	return(newDelete);
    }

    // ===== STRING CONTENT - READERS =====

    @Override
    public String getActionName(){
        return("DELETE");
    }

    @Override
    public String getContent(){
	return("-"+PList.getContent());
    }

    // ===== ACTION EXECUTION =====

    @Override
    public TObject execute(TAgent agent){
	super.execute(agent);
	if(agent.deleteBelief(PList))
            return(agent.getRegister());
	else
            return(new TFail());
    }

    // ===== CONSTRUCTOR =====

    public TDelete(TList list){
	super(TConstants._Delete);
        PList=list;
    }

}