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 }