package edu.neu.ccs.evergreen.state; /** * Creates instance of the NextState interface. */ public class NextStateFactory { /** * Create a next state instance. * @param nextStateName Next State name * @param args Optional arguments * @return NextState instance */ public static NextState createNextState(String nextStateName, String args[]) { if ("appmean".equals(nextStateName)) { return new AppMeanNextState(); } if ("fair".equals(nextStateName)) { return new FairNextState(args); } if ("maxbias".equals(nextStateName)) { return new MaxBiasNextState(args); } if ("minbias".equals(nextStateName)) { return new MinBiasNextState(args); } throw new IllegalArgumentException("NextState type " + nextStateName + " is not known."); } }