package com.plectix.simulator.simulator.options;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.AGENTS_LIMIT;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.CLOCK_PRECISION;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.EVENT;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.INIT;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.ITERATION;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.LIVE_DATA_CONSUMER_CLASSNAME;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.LIVE_DATA_INTERVAL;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.LIVE_DATA_POINTS;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.MAX_CLASHES;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.MONITOR_PEAK_MEMORY;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.OPERATION_MODE;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.POINTS;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.RESCALE;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.SEED;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.TIME;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.WALL_CLOCK_TIME_LIMIT;
import static com.plectix.simulator.simulator.options.SimulatorParameterizedOption.XML_SESSION_NAME;
import java.util.HashMap;
import java.util.Map;
import com.plectix.simulator.simulationclasses.solution.OperationMode;
public class SimulatorArgumentsDefaultValues {
public static final int NUMBER_OF_MILLISECONDS_IN_SECOND = 1000;
public static final int NUMBER_OF_MILLISECONDS_IN_MINUTE = 60 * NUMBER_OF_MILLISECONDS_IN_SECOND;
public static final int NUMBER_OF_MILLISECONDS_IN_HOUR = 60 * NUMBER_OF_MILLISECONDS_IN_MINUTE;
public static final int NUMBER_OF_MILLISECONDS_IN_DAY = 24 * NUMBER_OF_MILLISECONDS_IN_HOUR;
public static final int DEFAULT_SEED = -1;
public static final long DEFAULT_MAX_CLASHES = 10000;
public static final int DEFAULT_NUMBER_OF_POINTS = 1000;
/** Maximum simulation time is 100 days */
public static final long DEFAULT_WALL_CLOCK_TIME_LIMIT = 100L* NUMBER_OF_MILLISECONDS_IN_DAY;
public static final long DEFAULT_MONITOR_PEAK_MEMORY = -1;
public static final int DEFAULT_CLOCK_PRECISION = 60;
public static final String DEFAULT_XML_SESSION_NAME = "simplx.xml";
public static final int DEFAULT_AGENTS_LIMIT = 100;
public static final int DEFAULT_LIVE_DATA_POINTS = 500;
public static final String DEFAULT_LIVE_DATA_CONSUMER_CLASSNAME = "com.plectix.simulator.streaming.DensityDependantLiveDataConsumer";
public static final Map<SimulatorParameterizedOption, SimulatorParameter<?>>
DEFAULT_VALUES = new HashMap<SimulatorParameterizedOption, SimulatorParameter<?>>();
static {
DEFAULT_VALUES.put(XML_SESSION_NAME, new SimulatorParameter<String>(DEFAULT_XML_SESSION_NAME));
DEFAULT_VALUES.put(INIT, new SimulatorParameter<Double>(0.0));
DEFAULT_VALUES.put(POINTS, new SimulatorParameter<Integer>(-1));
DEFAULT_VALUES.put(RESCALE, new SimulatorParameter<Double>(Double.NaN));
DEFAULT_VALUES.put(SEED, new SimulatorParameter<Integer>(DEFAULT_SEED));
DEFAULT_VALUES.put(MAX_CLASHES, new SimulatorParameter<Long>(DEFAULT_MAX_CLASHES));
DEFAULT_VALUES.put(TIME, new SimulatorParameter<Double>(0.0));
DEFAULT_VALUES.put(EVENT, new SimulatorParameter<Long>(-1L));
DEFAULT_VALUES.put(ITERATION, new SimulatorParameter<Integer>(1));
DEFAULT_VALUES.put(WALL_CLOCK_TIME_LIMIT, new SimulatorParameter<Long>(DEFAULT_WALL_CLOCK_TIME_LIMIT));
DEFAULT_VALUES.put(MONITOR_PEAK_MEMORY, new SimulatorParameter<Long>(DEFAULT_MONITOR_PEAK_MEMORY));
DEFAULT_VALUES.put(CLOCK_PRECISION, new SimulatorParameter<Integer>(DEFAULT_CLOCK_PRECISION));
DEFAULT_VALUES.put(OPERATION_MODE, new SimulatorParameter<String>(OperationMode.DEFAULT.toString()));
DEFAULT_VALUES.put(AGENTS_LIMIT, new SimulatorParameter<Integer>(DEFAULT_AGENTS_LIMIT));
DEFAULT_VALUES.put(LIVE_DATA_INTERVAL, new SimulatorParameter<Integer>(-1));
DEFAULT_VALUES.put(LIVE_DATA_POINTS, new SimulatorParameter<Integer>(DEFAULT_LIVE_DATA_POINTS));
DEFAULT_VALUES.put(LIVE_DATA_CONSUMER_CLASSNAME, new SimulatorParameter<String>(DEFAULT_LIVE_DATA_CONSUMER_CLASSNAME));
}
}