package at.oefai.aaa.agent.jam;

import java.io.Serializable;

import at.oefai.aaa.agent.jam.types.Binding;
import at.oefai.aaa.agent.jam.types.ExpList;
import at.oefai.aaa.agent.jam.types.Expression;

/**
 * A built-in JAM primitive action for performment subgoaling.
 * @author Marc Huber
 * @author Jaeho Lee
 */
class PerformGoalAction extends GoalAction implements Serializable {

    /** Primary constructor. */
    public PerformGoalAction(final Relation goal, final Expression utility, final ExpList by, final ExpList notBy) {
            super(goal, utility, by, notBy);
    }


    // Member functions

    public boolean isExecutableAction() { return false; }

    /** Display information about the goal. */
    public String formattedString(final Binding b) {
        return formattedStringEnhanced(b, "PERFORM ", ";");
    }

}

