package at.oefai.aaa.agent.jam;

import java.util.List;

/**
 * Represents a non-interruptable sequence of actions within plans.
 * @author Marc Huber
 * @author Jaeho Lee
 */
class PlanAtomicConstruct implements PlanConstruct {

    private PlanSequenceConstruct constructs; // The actions in the construct

    /**  */
    PlanAtomicConstruct(final PlanConstruct be) {
        this.constructs = new PlanSequenceConstruct(be);
    }


    // Member functions

    int getNumConstructs() { return this.constructs.getNumConstructs(); }

    PlanSequenceConstruct getSequence() { return this.constructs; }

    List getConstructs() { return this.constructs.getConstructs(); }

    PlanConstruct getConstruct(final int n) { return this.constructs.getConstruct(n); }

    void insertConstruct(final PlanConstruct be) { this.constructs.insertConstruct(be); }

    /**  */
    public PlanRuntimeState newRuntimeState() {
        return new PlanRuntimeAtomicState(this);
    }

}



