package at.oefai.aaa.agent.jam;


/**
 * Represents non-construct plan components.
 * @author Marc Huber
 * @author Jaeho Lee
 */
class PlanSimpleConstruct implements PlanConstruct {

    private final Action action;

    /**  */
    PlanSimpleConstruct(final Action a) {
        this.action = a;
    }

    // Member functions

    Action getAction() { return this.action; }

    /**  */
    public PlanRuntimeState newRuntimeState() {
        if (this.action.isExecutableAction()) {
            return new PlanRuntimeSimpleState(this);
        }
        return new PlanRuntimeGoalState(this);
    }

}

