📄 storedresultsmodel.java
字号:
public int[] getSystemResponseTimeMeasures() {
int[] tmp = new int[systemResponseTime.size()];
for (int i=0; i<tmp.length; i++)
tmp[i] = ((Integer)systemResponseTime.get(i)).intValue();
return tmp;
}
/**
* Returns an array with the measureIndex of every system throughput measure
*
* @return an array with measures' index
*/
public int[] getSystemThroughputMeasures() {
int[] tmp = new int[systemThroughput.size()];
for (int i=0; i<tmp.length; i++)
tmp[i] = ((Integer)systemThroughput.get(i)).intValue();
return tmp;
}
/**
* Returns an array with the measureIndex of every customer number measure
*
* @return an array with measures' index
*/
public int[] getCustomerNumberMeasures() {
int[] tmp = new int[customerNumber.size()];
for (int i=0; i<tmp.length; i++)
tmp[i] = ((Integer)customerNumber.get(i)).intValue();
return tmp;
}
/**
* Returns if simulation has finished, so results are fixed
*
* @return true iff simulation has finished
*/
public boolean isSimulationFinished() {
return true;
}
/**
* Returns simulation polling interval. This is the time elapsed between two temp values.
*
* @return simulation polling interval in seconds
*/
public double getPollingInterval() {
return pollingInterval;
}
/**
* Returns current simulation progress time
* @return current progress time
*/
public double getProgressTime() {
return 1.0;
}
// --- Methods to populate data structure ----------------------------------------------------------------
/**
* Adds a new measure into this data structure.
* @param name measure name
* @param stationName reference station name
* @param className reference class name
* @param alpha measure alpha
* @param precision measure precision
* @param analyzedSamples number of analyzed samples
* @param state state of the measure
* @param type type of the measure
*/
public void addMeasure(String name, String stationName, String className,
double alpha, double precision, int analyzedSamples, int state, int type) {
Measure tmp = new Measure(name, stationName, className, alpha,precision, analyzedSamples, state, type);
measures.add(tmp);
names.put(name, tmp);
// Adds measure index to the right Vector
switch(type) {
case SimConstants.QUEUE_TIME:
queueTime.add(new Integer(measures.size()-1));
break;
case SimConstants.RESIDENCE_TIME:
residenceTime.add(new Integer(measures.size()-1));
break;
case SimConstants.RESPONSE_TIME:
responseTime.add(new Integer(measures.size()-1));
break;
case SimConstants.UTILIZATION:
utilization.add(new Integer(measures.size()-1));
break;
case SimConstants.THROUGHPUT:
throughput.add(new Integer(measures.size()-1));
break;
case SimConstants.QUEUE_LENGTH:
queueLength.add(new Integer(measures.size()-1));
break;
case SimConstants.SYSTEM_RESPONSE_TIME:
systemResponseTime.add(new Integer(measures.size()-1));
break;
case SimConstants.SYSTEM_JOB_NUMBER:
customerNumber.add(new Integer(measures.size()-1));
break;
case SimConstants.SYSTEM_THROUGHPUT:
systemThroughput.add(new Integer(measures.size()-1));
break;
}
}
/**
* Adds a new sample to specified measure
* @param measureName name of the measure
* @param meanValue mean value of the sample
* @param upperBound upper bound of the sample
* @param lowerBound lower bound of the sample
*/
public void addMeasureSample(String measureName, double meanValue, double upperBound, double lowerBound) {
Measure tmp = (Measure)names.get(measureName);
tmp.addSample(meanValue, upperBound, lowerBound);
}
/**
* Sets measure polling interval
* @param interval polling interval
*/
public void setPollingInterval (double interval) {
this.pollingInterval = interval;
}
// -------------------------------------------------------------------------------------------------------
// --- Inner Classes--------------------------------------------------------------------------------------
/**
* Inner class to store parameters of each measure
*/
protected class Measure {
public String name,
stationName,
className;
public Vector values;
public double alpha,
precision;
public int analyzedSamples,
state,
type;
/**
* Construct a new Neasure object
* @param name measure name
* @param stationName reference station name
* @param className reference class name
* @param alpha measure alpha
* @param precision measure precision
* @param analyzedSamples number of analyzed samples
* @param state state of the measure
* @param type type of the measure
*/
public Measure(String name, String stationName, String className,
double alpha, double precision, int analyzedSamples, int state, int type) {
this.name = name;
this.stationName = stationName;
this.className = className;
this.alpha = alpha;
this.precision = precision;
this.analyzedSamples = analyzedSamples;
this.state = state;
this.type = type;
values = new Vector();
}
/**
* Adds a new sample to current measure
* @param meanValue mean value of the sample
* @param upperBound upper bound of the sample
* @param lowerBound lower bound of the sample
*/
public void addSample(double meanValue, double upperBound, double lowerBound) {
MeasureValue val = new MeasureValue(meanValue, upperBound, lowerBound);
values.add(val);
}
}
/**
* Inner class that implements Value interface
*/
public class MeasureValue implements Value {
private double mean, upper, lower;
/**
* Creates a new MeasureValue object
* @param meanValue mean value of the sample
* @param upperBound sample upper bound
* @param lowerBound sample lower bound
*/
public MeasureValue(double meanValue, double upperBound, double lowerBound) {
mean = meanValue;
upper = upperBound;
lower = lowerBound;
}
public double getUpperBound() {
return upper;
}
public double getLowerBound() {
return lower;
}
public double getMeanValue() {
return mean;
}
}
// -------------------------------------------------------------------------------------------------------
// --- Useless methods -----------------------------------------------------------------------------------
/**
* This feature is not required as loaded measures are static
* @param listener listener to be set or null to unset previous one
*/
public void setProgressTimeListener(MeasureDefinition.ProgressTimeListener listener) {
}
/**
* This feature is not required as loaded measures are static
* @param measureIndex index of the measure that this listener should listen
* @param listener listener to add or null to remove old one.
*/
public void addMeasureListener(int measureIndex, MeasureDefinition.MeasureListener listener) {
}
// -------------------------------------------------------------------------------------------------------
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -