package schedframe.resources.units; import schedframe.scheduling.utils.ResourceParameterName; /** * * @author Marcin Krystek * */ public class ResourceUnitFactory { public static ResourceUnit creteUnit(ResourceParameterName name, int totalAmount, int usedAmount){ switch(name){ case CPUCOUNT: return new Processors(totalAmount, usedAmount, 1); case MEMORY: return new Memory(totalAmount, usedAmount); case FREEMEMORY: return new FreeMemory(totalAmount, usedAmount); case CPUSPEED: return new CpuSpeed(totalAmount, usedAmount); default: throw new IllegalArgumentException("Paramter " + name + " is not supported."); } } }