001    package com.thaiopensource.validate.nrl;
002    
003    class ActionSet {
004      private ResultAction resultAction;
005      private NoResultAction[] noResultActions = new NoResultAction[0];
006    
007      ResultAction getResultAction() {
008        return resultAction;
009      }
010    
011      void setResultAction(ResultAction resultAction) {
012        this.resultAction = resultAction;
013      }
014    
015      void addNoResultAction(NoResultAction action) {
016        NoResultAction[] actions = new NoResultAction[noResultActions.length + 1];
017        System.arraycopy(noResultActions, 0, actions, 0, noResultActions.length);
018        actions[noResultActions.length] = action;
019        noResultActions = actions;
020      }
021    
022      NoResultAction[] getNoResultActions() {
023        return noResultActions;
024      }
025    
026      ActionSet changeCurrentMode(Mode mode) {
027        ActionSet actions = new ActionSet();
028        if (this.resultAction != null)
029          actions.resultAction = this.resultAction.changeCurrentMode(mode);
030        actions.noResultActions = new NoResultAction[this.noResultActions.length];
031        for (int i = 0; i < actions.noResultActions.length; i++)
032          actions.noResultActions[i] = this.noResultActions[i].changeCurrentMode(mode);
033        return actions;
034      }
035    }