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 }