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 achievement subgoaling.
 * @author Marc Huber
 * @author Jaeho Lee
 */
class AchieveGoalAction extends GoalAction implements Serializable {

    /** Primary constructor. */
    AchieveGoalAction(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, "ACHIEVE ", ";");
    }

}

