ContactCenters
V. 0.9.9.

umontreal.iro.lecuyer.contactcenters.app
Class ContactCenterEvalResults

java.lang.Object
  extended by umontreal.iro.lecuyer.contactcenters.app.ContactCenterEvalResults
All Implemented Interfaces:
ContactCenterEval, ContactCenterInfo
Direct Known Subclasses:
ContactCenterSimResults

public class ContactCenterEvalResults
extends Object
implements ContactCenterEval

Contains results obtained by another contact center evaluation system. This class can be used to store the results produced by a simulator, to retrieve them efficiently, or to serialize them into an XML file. Results can be retrieved by using the methods of ContactCenterEval. The implementation of the methods of the interface that perform evaluations throws an UnsupportedOperationException.

An object from this class can be constructed using any implementation of ContactCenterEval, or from an instance of ContactCenterEvalResultsParams. The createParams() method can be used to turn any instance of this class into a parameter object of class ContactCenterEvalResultsParams.

The class ContactCenterEvalResultsConverter provides convenience method to create an object containing results from an XML file, or to export an object of this class into XML. One can also use PerformanceMeasureFormat.formatResults(ContactCenterEval,java.io.File) to export simulation results to a file.


Constructor Summary
ContactCenterEvalResults(ContactCenterEval eval)
          Constructs a new contact center results container by getting evaluation results from the system eval.
ContactCenterEvalResults(ContactCenterEvalResultsParams ccp)
          Constructs a new object containing results read from the parameter object ccp.
 
Method Summary
 void check()
           
static ContactCenterEvalResults createFromEval(ContactCenterEval eval)
          Constructs a new object storing the last results produced by the evaluation system eval.
static ContactCenterEvalResults createFromParams(ContactCenterEvalResultsParams ccp)
          Parses the given parameter object ccp, and constructs an object containing evaluation results.
static ContactCenterEvalResults createFromParams(ContactCenterEvalResultsParams ccp, boolean reportPropertiesToEvalInfo)
          Similar to the method createFromParams(ContactCenterEvalResultsParams), but if the flag reportPropertiesToEvalInfo is set to true, copies the report properties into the evaluation information.
 ContactCenterEvalResultsParams createParams()
          Creates a parameter object that can be marshalled using JAXB from this object, and copies its evaluation results..
 void eval()
          Evaluates the contact center's supported performance measures using the current values of implementation-specific parameters and evaluation options.
 String formatStatistics()
          Formats information about every performance measure after ContactCenterEval.eval() is called.
 boolean formatStatisticsExcel(WritableWorkbook wb)
          Constructs and returns an JExcel API workbook containing the results of the evaluation, and appends the contents of the generated report to the workbook wb.
 String formatStatisticsLaTeX()
          Formats and returns a statistical report that can be included into a LATEX document.
 String getAgentGroupName(int i)
          Returns the name associated with the agent group identifier i.
 Map<String,String> getAgentGroupProperties(int i)
          This method is similar to ContactCenterInfo.getContactTypeProperties(int), for agent groups instead of contact types.
 String getAgentGroupSegmentName(int i)
          Returns the name associated with the agent group segment i, where i is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumAgentGroupSegments().
 Map<String,String> getAgentGroupSegmentProperties(int i)
          This method is similar to ContactCenterInfo.getContactTypeProperties(int), for agent group segments instead of contact types.
 String getContactTypeName(int k)
          Returns the name associated with the contact type k, where k is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumContactTypes().
 Map<String,String> getContactTypeProperties(int k)
          Returns the properties associated with contact type k.
 String getContactTypeSegmentName(int k)
          Returns the name associated with the contact type segment k, where k is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumContactTypeSegments().
 Map<String,String> getContactTypeSegmentProperties(int k)
          This method is similar to ContactCenterInfo.getContactTypeProperties(int), for contact type segments instead of contact types.
 TimeUnit getDefaultUnit()
          Returns the time unit in which output performance measures representing times are expressed.
 Map<String,Object> getEvalInfo()
          Represents information about this evaluation system that should be included in any report produced by ContactCenterEval.formatStatistics().
 Object getEvalOption(EvalOptionType option)
          Returns the current value of the evaluation option option.
 EvalOptionType[] getEvalOptions()
          Returns the array of the evaluation option types supported by the implementing object.
 String getInContactTypeSegmentName(int k)
          Returns the name associated with the inbound contact type segment k, where k is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumInContactTypeSegments().
 Map<String,String> getInContactTypeSegmentProperties(int k)
          This method is similar to ContactCenterInfo.getContactTypeProperties(int), for inbound contact type segments instead of contact types.
 String getMainPeriodName(int mp)
          Returns the name corresponding to the main period mp.
 String getMainPeriodSegmentName(int mp)
          Returns the name associated with the main period segment mp, where mp is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumMainPeriodSegments().
 String getMatrixOfAWTName(int m)
          Returns the name associated with the matrix of AWTs with index m.
 int getNumAgentGroups()
          Returns the total number of agent groups supported by this contact center.
 int getNumAgentGroupSegments()
          Returns the number of user-defined segments regrouping agent groups.
 int getNumAgentGroupsWithSegments()
          Returns the number of agent groups including segments regrouping several agent groups.
 int getNumContactTypes()
          Returns the total number of contact types supported by this contact center.
 int getNumContactTypeSegments()
          Returns the number of user-defined segments regrouping contact types.
 int getNumContactTypesWithSegments()
          Returns the number of contact types including segments regrouping several contact types.
 int getNumInContactTypes()
          Returns the total number of inbound contact types for this contact center.
 int getNumInContactTypeSegments()
          Returns the number of user-defined segments regrouping inbound contact types.
 int getNumInContactTypesWithSegments()
          Returns the number of inbound contact types including segments regrouping several inbound contact types.
 int getNumMainPeriods()
          Returns the number of main periods used for evaluation, as defined in PeriodChangeEvent.
 int getNumMainPeriodSegments()
          Returns the number of user-defined segments regrouping main periods.
 int getNumMainPeriodsWithSegments()
          Returns the number of main periods including segments regrouping several main periods.
 int getNumMatricesOfAWT()
          Returns the number of matrices containing acceptable waiting times, for estimating service levels.
 int getNumOutContactTypes()
          Returns the total number of outbound contact types for this contact center.
 int getNumOutContactTypeSegments()
          Returns the number of user-defined segments regrouping outbound contact types.
 int getNumOutContactTypesWithSegments()
          Returns the number of outbound contact types including segments regrouping several outbound contact types.
 int getNumWaitingQueues()
          Returns the total number of waiting queues capable of storing contacts.
 int getNumWaitingQueueSegments()
          Returns the number of user-defined segments regrouping waiting queues.
 int getNumWaitingQueuesWithSegments()
          Returns the number of waiting queues including segments regrouping several waiting queues.
 String getOutContactTypeSegmentName(int k)
          Returns the name associated with the outbound contact type segment k, where k is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumOutContactTypeSegments().
 Map<String,String> getOutContactTypeSegmentProperties(int k)
          This method is similar to ContactCenterInfo.getContactTypeProperties(int), for outbound contact type segments instead of contact types.
 DoubleMatrix2D getPerformanceMeasure(PerformanceMeasureType m)
          Returns the matrix of values corresponding to the group of performance measures m estimated by the last call to ContactCenterEval.eval().
 PerformanceMeasureType[] getPerformanceMeasures()
          Returns an array containing all the groups of performance measures this object can estimate.
protected static PerformanceMeasureType getPerformanceMeasureType(String name)
           
 ReportParams getReportParams()
          Returns the parameters for reports formatted by ContactCenterEval.formatStatistics(), or ContactCenterEval.formatStatisticsExcel(WritableWorkbook).
 String getWaitingQueueName(int q)
          Returns the name of the waiting queue with index q used by the evaluation.
 Map<String,String> getWaitingQueueProperties(int q)
          This method is similar to ContactCenterInfo.getContactTypeProperties(int), for waiting queues instead of contact types.
 String getWaitingQueueSegmentName(int k)
          Returns the name associated with the waiting queue segment q, where q is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumMainPeriodSegments().
 Map<String,String> getWaitingQueueSegmentProperties(int q)
          This method is similar to ContactCenterInfo.getContactTypeProperties(int), for waiting queue segments instead of contact types.
 boolean hasEvalOption(EvalOptionType option)
          Determines if the evaluation option option is supported by the implemented system.
 boolean hasPerformanceMeasure(PerformanceMeasureType m)
          Determines if the evaluation system can estimate performance measures in group m.
 boolean isVerbose()
          Determines if the implementation should print information during the evaluation of the performance measures.
 void reset()
          Resets this contact center evaluation system for new parameters.
 boolean seemsUnstable()
          Determines if the system seems to be unstable.
 void setEvalOption(EvalOptionType option, Object value)
          Sets the evaluation option option to value.
 void setReportParams(ReportParams reportParams)
          Sets the report parameters to reportParams.
 void setVerbose(boolean v)
          Sets the verbose status to v.
 void writeParams(ContactCenterEvalResultsParams ccp)
          Fills ccp with parameters stored in this object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ContactCenterEvalResults

public ContactCenterEvalResults(ContactCenterEvalResultsParams ccp)
Constructs a new object containing results read from the parameter object ccp. It is not recommended to use this constructor directly; one should use the createFromParams(ContactCenterEvalResultsParams) method to create instances of this class.

Parameters:
ccp - the contact centers results.

ContactCenterEvalResults

public ContactCenterEvalResults(ContactCenterEval eval)
Constructs a new contact center results container by getting evaluation results from the system eval. It is not recommended to use this constructor directly; one should call createFromEval(ContactCenterEval) instead.

Parameters:
eval - the contact center evaluator.
Method Detail

getPerformanceMeasureType

protected static PerformanceMeasureType getPerformanceMeasureType(String name)

writeParams

public void writeParams(ContactCenterEvalResultsParams ccp)
Fills ccp with parameters stored in this object. This method is rarely used directly; one should call createParams() instead.

Parameters:
ccp - the output parameter object.

getEvalInfo

public Map<String,Object> getEvalInfo()
Description copied from interface: ContactCenterEval
Represents information about this evaluation system that should be included in any report produced by ContactCenterEval.formatStatistics(). The information is organized as (key, value) pairs in a map. This information may include steps of an approximation, number of iterations, etc. One can modify the returned map to add custom information. The content of this map should not affect the process of the evaluation; it is used only for building the statistical report. One can use evaluation options for system parameters.

Specified by:
getEvalInfo in interface ContactCenterEval
Returns:
the evaluation information.

getNumContactTypes

public int getNumContactTypes()
Description copied from interface: ContactCenterInfo
Returns the total number of contact types supported by this contact center. This should be the same as ContactCenterInfo.getNumInContactTypes() + ContactCenterInfo.getNumOutContactTypes().

Specified by:
getNumContactTypes in interface ContactCenterInfo
Returns:
the total number of contact types.

getNumInContactTypes

public int getNumInContactTypes()
Description copied from interface: ContactCenterInfo
Returns the total number of inbound contact types for this contact center.

Specified by:
getNumInContactTypes in interface ContactCenterInfo
Returns:
the total number of inbound contact types.

getNumOutContactTypes

public int getNumOutContactTypes()
Description copied from interface: ContactCenterInfo
Returns the total number of outbound contact types for this contact center.

Specified by:
getNumOutContactTypes in interface ContactCenterInfo
Returns:
the total number of outbound contact types.

getNumAgentGroups

public int getNumAgentGroups()
Description copied from interface: ContactCenterInfo
Returns the total number of agent groups supported by this contact center.

Specified by:
getNumAgentGroups in interface ContactCenterInfo
Returns:
the total number of agent groups.

getNumWaitingQueues

public int getNumWaitingQueues()
Description copied from interface: ContactCenterInfo
Returns the total number of waiting queues capable of storing contacts.

Specified by:
getNumWaitingQueues in interface ContactCenterInfo
Returns:
the number of waiting queues.

getNumMainPeriods

public int getNumMainPeriods()
Description copied from interface: ContactCenterInfo
Returns the number of main periods used for evaluation, as defined in PeriodChangeEvent. For a steady-state evaluation on a single period, this always returns 1, even if the model defines several period.

Specified by:
getNumMainPeriods in interface ContactCenterInfo
Returns:
the total number of main periods.

getContactTypeName

public String getContactTypeName(int k)
Description copied from interface: ContactCenterInfo
Returns the name associated with the contact type k, where k is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumContactTypes(). The first ContactCenterInfo.getNumInContactTypes() indices are inbound contact types whereas the remaining indices are outbound contact types. If no contact type name is available, this returns null.

Specified by:
getContactTypeName in interface ContactCenterInfo
Parameters:
k - the contact type identifier.
Returns:
the contact type name or null if no name is defined.

getAgentGroupName

public String getAgentGroupName(int i)
Description copied from interface: ContactCenterInfo
Returns the name associated with the agent group identifier i. If no name is associated with a given agent group, this returns null.

Specified by:
getAgentGroupName in interface ContactCenterInfo
Parameters:
i - the identifier of the agent group.
Returns:
the agent group name, or null.

getWaitingQueueName

public String getWaitingQueueName(int q)
Description copied from interface: ContactCenterInfo
Returns the name of the waiting queue with index q used by the evaluation. If the waiting queue has no name, returns null.

Specified by:
getWaitingQueueName in interface ContactCenterInfo
Parameters:
q - the index of the waiting queue.
Returns:
the name of the waiting queue.

getMainPeriodName

public String getMainPeriodName(int mp)
Description copied from interface: ContactCenterInfo
Returns the name corresponding to the main period mp. This can return null or an empty string for unnamed periods.

Specified by:
getMainPeriodName in interface ContactCenterInfo
Parameters:
mp - the index of the main period.
Returns:
the name of the main period.

getNumMatricesOfAWT

public int getNumMatricesOfAWT()
Description copied from interface: ContactCenterInfo
Returns the number of matrices containing acceptable waiting times, for estimating service levels. Usually, this returns 1.

Specified by:
getNumMatricesOfAWT in interface ContactCenterInfo
Returns:
the number of matrices of acceptable waiting times.

getMatrixOfAWTName

public String getMatrixOfAWTName(int m)
Description copied from interface: ContactCenterInfo
Returns the name associated with the matrix of AWTs with index m. This method returns null if no name is associated with the matrix. This name can be used, e.g., to give the AWT if the same AWT is used for all contact types and periods.

Specified by:
getMatrixOfAWTName in interface ContactCenterInfo
Parameters:
m - the index of the matrix of AWTs.
Returns:
the name associated with the matrix.

getEvalOptions

public EvalOptionType[] getEvalOptions()
Description copied from interface: ContactCenterEval
Returns the array of the evaluation option types supported by the implementing object. The evaluation options are the variable parameters of the contact center which can be changed between calls to ContactCenterEval.eval(). This should never return a null pointer; if no evaluation options are supported for some reasons, this should return an array with length 0.

Specified by:
getEvalOptions in interface ContactCenterEval
Returns:
the array of supported evaluation options.

hasEvalOption

public boolean hasEvalOption(EvalOptionType option)
Description copied from interface: ContactCenterEval
Determines if the evaluation option option is supported by the implemented system. It should return true if and only if the option is in the array returned by ContactCenterEval.getEvalOptions(). Otherwise, it returns false.

Specified by:
hasEvalOption in interface ContactCenterEval
Parameters:
option - the queried evaluation option.
Returns:
the support status of the option.

getEvalOption

public Object getEvalOption(EvalOptionType option)
Description copied from interface: ContactCenterEval
Returns the current value of the evaluation option option. The class of the returned object must be assignable to the class given by EvalOptionType.getType(). If the option is not supported, this should throw a NoSuchElementException. This exception can be thrown if and only if ContactCenterEval.hasEvalOption(umontreal.iro.lecuyer.contactcenters.app.EvalOptionType) returns false for the given option.

Specified by:
getEvalOption in interface ContactCenterEval
Parameters:
option - the queried evaluation option.
Returns:
the current value of the option.

setEvalOption

public void setEvalOption(EvalOptionType option,
                          Object value)
Description copied from interface: ContactCenterEval
Sets the evaluation option option to value. If the given option is not supported, this throws a NoSuchElementException. If the class of the given value is incompatible, this throws a ClassCastException. If the evaluation option cannot be changed, this throws an UnsupportedOperationException.

Specified by:
setEvalOption in interface ContactCenterEval
Parameters:
option - the option to be set.
value - the new value of the option.

eval

public void eval()
Description copied from interface: ContactCenterEval
Evaluates the contact center's supported performance measures using the current values of implementation-specific parameters and evaluation options. If parameters or seeds of random streams are not changed, multiple calls to this method should return the same results. In consequence of this, simulation should reset the random number streams before returning. This method can throw an IllegalStateException if there is an inconsistency in the system's parameters. It can throw an ArithmeticException if, for the given parameters, the performance measures cannot be estimated.

Specified by:
eval in interface ContactCenterEval

seemsUnstable

public boolean seemsUnstable()
Description copied from interface: ContactCenterEval
Determines if the system seems to be unstable. When a system is unstable, the returned steady-state performance measures are not reliable. This method mainly applies for stationary simulators which return true when the system appears to be unstable, i.e., some waiting queues grow up with simulation time. The method must throw an IllegalStateException if it is called before ContactCenterEval.eval() and always return false if no stability check applies.

Specified by:
seemsUnstable in interface ContactCenterEval
Returns:
the result of the stability check.

getPerformanceMeasures

public PerformanceMeasureType[] getPerformanceMeasures()
Description copied from interface: ContactCenterEval
Returns an array containing all the groups of performance measures this object can estimate. If no performance measure is supported by a given implementation, this method should return an array with length 0 instead of null.

Specified by:
getPerformanceMeasures in interface ContactCenterEval
Returns:
the array of groups of performance measures.

hasPerformanceMeasure

public boolean hasPerformanceMeasure(PerformanceMeasureType m)
Description copied from interface: ContactCenterEval
Determines if the evaluation system can estimate performance measures in group m. This should return true if and only if the group of performance measures is listed in the array returned by ContactCenterEval.getPerformanceMeasures().

Specified by:
hasPerformanceMeasure in interface ContactCenterEval
Parameters:
m - the group of performance measures being tested.
Returns:
a true value if the measure is supported, false otherwise.

getPerformanceMeasure

public DoubleMatrix2D getPerformanceMeasure(PerformanceMeasureType m)
Description copied from interface: ContactCenterEval
Returns the matrix of values corresponding to the group of performance measures m estimated by the last call to ContactCenterEval.eval(). The dimensions of the matrix and the role of its elements depend on the queried group of performance measures, and the capabilities of the implementing evaluation system. See the PerformanceMeasureType class for more information about the defined performance measures. If the queried measure is not supported by this evaluation object, this throws a NoSuchElementException. If the values of the measures are not available, e.g., the ContactCenterEval.eval() method was never called after the last call to ContactCenterEval.reset(), this throws an IllegalStateException.

Specified by:
getPerformanceMeasure in interface ContactCenterEval
Parameters:
m - the queried group of performance measures.
Returns:
the matrix of values computed by the evaluation system.

reset

public void reset()
Description copied from interface: ContactCenterEval
Resets this contact center evaluation system for new parameters. Every cached or processed parameter should be reread from the parameter objects. In the case of the simulation, one should try to preserve random number seeds whenever possible, even if the contact center needs to be reconstructed. Some implementatios of this interface provide specialized reset methods allowing to change the associated parameter objects.

Specified by:
reset in interface ContactCenterEval

isVerbose

public boolean isVerbose()
Description copied from interface: ContactCenterEval
Determines if the implementation should print information during the evaluation of the performance measures. The information depends on the type of evaluation method being involved. It can include steps or iterations of an approximation algorithm, or information about important elements of a simulation. Summary information should be printed on the standard output while debugging data, e.g., traces of every event in a simulation, should be sent to log files if they are generated. By default, the verbose mode is disabled.

Specified by:
isVerbose in interface ContactCenterEval
Returns:
true if the implementation is in verbose mode, false otherwise (the default).

setVerbose

public void setVerbose(boolean v)
Description copied from interface: ContactCenterEval
Sets the verbose status to v. If v is true, verbose mode is enabled. Otherwise, it is disabled.

Specified by:
setVerbose in interface ContactCenterEval
Parameters:
v - true to activate verbose mode, false to disable it.
See Also:
ContactCenterEval.isVerbose()

getReportParams

public ReportParams getReportParams()
Description copied from interface: ContactCenterEval
Returns the parameters for reports formatted by ContactCenterEval.formatStatistics(), or ContactCenterEval.formatStatisticsExcel(WritableWorkbook). If no object containing report parameters is available, this method should create a new one using the default constructor of ReportParams.

Specified by:
getReportParams in interface ContactCenterEval
Returns:
the printed statistics.

setReportParams

public void setReportParams(ReportParams reportParams)
Description copied from interface: ContactCenterEval
Sets the report parameters to reportParams.

Specified by:
setReportParams in interface ContactCenterEval
Parameters:
reportParams - the report parameters..
See Also:
ContactCenterEval.getReportParams()

formatStatistics

public String formatStatistics()
Description copied from interface: ContactCenterEval
Formats information about every performance measure after ContactCenterEval.eval() is called. It can be simulation statistics, information about the steps of an approximation algorithm, or simply the values of all performance measures. This method should call ContactCenterEval.getEvalInfo() to obtain general information about the evaluation and incorporate the information into the returned string. For each entry in the map, the method should add a key: value line in the string. Then, the method appends the performance measures to the returned string. The PerformanceMeasureFormatText class can be used to convert matrices of performance measures into strings. If the evaluation was not triggered by calling ContactCenterEval.eval() before this method is called, an IllegalStateException is thrown. If no statistical information is available even after the evaluation, this method should return an empty string instead of throwing an exception.

Specified by:
formatStatistics in interface ContactCenterEval
Returns:
a string containing a statistical report.

formatStatisticsLaTeX

public String formatStatisticsLaTeX()
Description copied from interface: ContactCenterEval
Formats and returns a statistical report that can be included into a LATEX document. This is similar to ContactCenterEval.formatStatistics(), except the generated report is in LATEX rather than plain text.

Specified by:
formatStatisticsLaTeX in interface ContactCenterEval
Returns:
the formatted report.

formatStatisticsExcel

public boolean formatStatisticsExcel(WritableWorkbook wb)
Description copied from interface: ContactCenterEval
Constructs and returns an JExcel API workbook containing the results of the evaluation, and appends the contents of the generated report to the workbook wb. This method may add multiple sheets, e.g., for general and detailed information. This method should add the information in the map returned by ContactCenterEval.getEvalInfo() to a sheet in the workbook. This method returns true if and only if the given workbook was modified.

One can then customize the returned workbook as needed. The method WritableWorkbook.write() can be used to export the workbook to an output stream. This can be used to create files that can be opened directly by Microsoft Excel for results analysis and reporting. Excel documents can also be opened by open source software such as OpenOffice.org, KOffice, etc.

Specified by:
formatStatisticsExcel in interface ContactCenterEval
Parameters:
wb - the workbook to append report to.
Returns:
true if and only if the given workbook was modified.

check

public void check()

getDefaultUnit

public TimeUnit getDefaultUnit()
Description copied from interface: ContactCenterInfo
Returns the time unit in which output performance measures representing times are expressed. If this method returns null, performance measures representing time are output as any other performance measures; no time conversion can be performed or time unit displayed.

Specified by:
getDefaultUnit in interface ContactCenterInfo
Returns:
the default time unit.

getAgentGroupProperties

public Map<String,String> getAgentGroupProperties(int i)
Description copied from interface: ContactCenterInfo
This method is similar to ContactCenterInfo.getContactTypeProperties(int), for agent groups instead of contact types.

Specified by:
getAgentGroupProperties in interface ContactCenterInfo
Parameters:
i - the agent group identifier.
Returns:
the map of properties.

getAgentGroupSegmentName

public String getAgentGroupSegmentName(int i)
Description copied from interface: ContactCenterInfo
Returns the name associated with the agent group segment i, where i is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumAgentGroupSegments(). If no segment name is available, this returns null.

Specified by:
getAgentGroupSegmentName in interface ContactCenterInfo
Parameters:
i - the agent group segment identifier.
Returns:
the segment name or null if no name is defined.

getAgentGroupSegmentProperties

public Map<String,String> getAgentGroupSegmentProperties(int i)
Description copied from interface: ContactCenterInfo
This method is similar to ContactCenterInfo.getContactTypeProperties(int), for agent group segments instead of contact types.

Specified by:
getAgentGroupSegmentProperties in interface ContactCenterInfo
Parameters:
i - the segment identifier.
Returns:
the map of properties.

getContactTypeProperties

public Map<String,String> getContactTypeProperties(int k)
Description copied from interface: ContactCenterInfo
Returns the properties associated with contact type k. Properties are additional strings describing a contact type. This can include the language of the customers, the originating region, etc. If no property is defined for the given contact type, this method returns an empty map.

Specified by:
getContactTypeProperties in interface ContactCenterInfo
Parameters:
k - the contact type identifier.
Returns:
the map of properties.

getContactTypeSegmentName

public String getContactTypeSegmentName(int k)
Description copied from interface: ContactCenterInfo
Returns the name associated with the contact type segment k, where k is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumContactTypeSegments(). If no segment name is available, this returns null.

Specified by:
getContactTypeSegmentName in interface ContactCenterInfo
Parameters:
k - the contact type segment identifier.
Returns:
the segment name or null if no name is defined.

getContactTypeSegmentProperties

public Map<String,String> getContactTypeSegmentProperties(int k)
Description copied from interface: ContactCenterInfo
This method is similar to ContactCenterInfo.getContactTypeProperties(int), for contact type segments instead of contact types.

Specified by:
getContactTypeSegmentProperties in interface ContactCenterInfo
Parameters:
k - the segment identifier.
Returns:
the map of properties.

getInContactTypeSegmentName

public String getInContactTypeSegmentName(int k)
Description copied from interface: ContactCenterInfo
Returns the name associated with the inbound contact type segment k, where k is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumInContactTypeSegments(). If no segment name is available, this returns null.

Specified by:
getInContactTypeSegmentName in interface ContactCenterInfo
Parameters:
k - the inbound contact type segment identifier.
Returns:
the segment name or null if no name is defined.

getInContactTypeSegmentProperties

public Map<String,String> getInContactTypeSegmentProperties(int k)
Description copied from interface: ContactCenterInfo
This method is similar to ContactCenterInfo.getContactTypeProperties(int), for inbound contact type segments instead of contact types.

Specified by:
getInContactTypeSegmentProperties in interface ContactCenterInfo
Parameters:
k - the segment identifier.
Returns:
the map of properties.

getMainPeriodSegmentName

public String getMainPeriodSegmentName(int mp)
Description copied from interface: ContactCenterInfo
Returns the name associated with the main period segment mp, where mp is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumMainPeriodSegments(). If no segment name is available, this returns null.

Specified by:
getMainPeriodSegmentName in interface ContactCenterInfo
Parameters:
mp - the main period segment identifier.
Returns:
the segment name or null if no name is defined.

getNumAgentGroupSegments

public int getNumAgentGroupSegments()
Description copied from interface: ContactCenterInfo
Returns the number of user-defined segments regrouping agent groups.

Specified by:
getNumAgentGroupSegments in interface ContactCenterInfo
Returns:
the number of segments regrouping agent groups.

getNumContactTypeSegments

public int getNumContactTypeSegments()
Description copied from interface: ContactCenterInfo
Returns the number of user-defined segments regrouping contact types.

Specified by:
getNumContactTypeSegments in interface ContactCenterInfo
Returns:
the number of segments regrouping contact types.

getNumInContactTypeSegments

public int getNumInContactTypeSegments()
Description copied from interface: ContactCenterInfo
Returns the number of user-defined segments regrouping inbound contact types.

Specified by:
getNumInContactTypeSegments in interface ContactCenterInfo
Returns:
the number of segments regrouping inbound contact types.

getNumMainPeriodSegments

public int getNumMainPeriodSegments()
Description copied from interface: ContactCenterInfo
Returns the number of user-defined segments regrouping main periods.

Specified by:
getNumMainPeriodSegments in interface ContactCenterInfo
Returns:
the number of segments regrouping main periods.

getNumOutContactTypeSegments

public int getNumOutContactTypeSegments()
Description copied from interface: ContactCenterInfo
Returns the number of user-defined segments regrouping outbound contact types.

Specified by:
getNumOutContactTypeSegments in interface ContactCenterInfo
Returns:
the number of segments regrouping outbound contact types.

getNumWaitingQueueSegments

public int getNumWaitingQueueSegments()
Description copied from interface: ContactCenterInfo
Returns the number of user-defined segments regrouping waiting queues.

The result of this method depends on the role of the waiting queues, which depends on the router's policy. For example, if waiting queues correspond to contact types, this returns the result of ContactCenterInfo.getNumContactTypeSegments().

Specified by:
getNumWaitingQueueSegments in interface ContactCenterInfo
Returns:
the number of segments regrouping waiting queues.

getOutContactTypeSegmentName

public String getOutContactTypeSegmentName(int k)
Description copied from interface: ContactCenterInfo
Returns the name associated with the outbound contact type segment k, where k is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumOutContactTypeSegments(). If no segment name is available, this returns null.

Specified by:
getOutContactTypeSegmentName in interface ContactCenterInfo
Parameters:
k - the outbound contact type segment identifier.
Returns:
the segment name or null if no name is defined.

getOutContactTypeSegmentProperties

public Map<String,String> getOutContactTypeSegmentProperties(int k)
Description copied from interface: ContactCenterInfo
This method is similar to ContactCenterInfo.getContactTypeProperties(int), for outbound contact type segments instead of contact types.

Specified by:
getOutContactTypeSegmentProperties in interface ContactCenterInfo
Parameters:
k - the segment identifier.
Returns:
the map of properties.

getWaitingQueueProperties

public Map<String,String> getWaitingQueueProperties(int q)
Description copied from interface: ContactCenterInfo
This method is similar to ContactCenterInfo.getContactTypeProperties(int), for waiting queues instead of contact types.

Specified by:
getWaitingQueueProperties in interface ContactCenterInfo
Parameters:
q - the waiting queue identifier.
Returns:
the map of properties.

getWaitingQueueSegmentName

public String getWaitingQueueSegmentName(int k)
Description copied from interface: ContactCenterInfo
Returns the name associated with the waiting queue segment q, where q is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumMainPeriodSegments(). If no segment name is available, this returns null.

Specified by:
getWaitingQueueSegmentName in interface ContactCenterInfo
Parameters:
k - the waiting queue segment identifier.
Returns:
the segment name or null if no name is defined.

getWaitingQueueSegmentProperties

public Map<String,String> getWaitingQueueSegmentProperties(int q)
Description copied from interface: ContactCenterInfo
This method is similar to ContactCenterInfo.getContactTypeProperties(int), for waiting queue segments instead of contact types.

Specified by:
getWaitingQueueSegmentProperties in interface ContactCenterInfo
Parameters:
q - the segment identifier.
Returns:
the map of properties.

createFromEval

public static ContactCenterEvalResults createFromEval(ContactCenterEval eval)
Constructs a new object storing the last results produced by the evaluation system eval. The resulting object is completely independent of eval. As a result, this method can be used to take snapshots of evaluation results, and store them, e.g., to compare different scenarios.

If eval is an instance of ContactCenterSim, this method returns an instance of ContactCenterSimResults. Otherwise, this returns an instance of ContactCenterEvalResults.

Parameters:
eval - the source evaluation system.
Returns:
an object containing a copy of the evaluation results.

createFromParams

public static ContactCenterEvalResults createFromParams(ContactCenterEvalResultsParams ccp)
Parses the given parameter object ccp, and constructs an object containing evaluation results. The class of ccp, ContactCenterEvalResultsParams, was generated using JAXB, so it does not implement the ContactCenterEval interface. Usually, ccp is constructed by using JAXB. This method reads the parameters of ccp, and stores them in such a way that they can be accessed efficiently using methods of ContactCenterEval. The resulting object is an instance of ContactCenterSimResults if ccp is an instance of ContactCenterSimResultsParams.

Parameters:
ccp - the parameter object containing results.
Returns:
the object storing results.

createFromParams

public static ContactCenterEvalResults createFromParams(ContactCenterEvalResultsParams ccp,
                                                        boolean reportPropertiesToEvalInfo)
Similar to the method createFromParams(ContactCenterEvalResultsParams), but if the flag reportPropertiesToEvalInfo is set to true, copies the report properties into the evaluation information. In the early version of the output format, evaluation information, e.g., properties specific to a given experiment, were stored into the properties of the report child element. An evalInfo element has recently been added to store the evaluation information, reserving report properties for user-defined options specific to reporting. This method is provided to read old-style output files, and should not be used for newer output files.

Parameters:
ccp - the contact center parameters.
reportPropertiesToEvalInfo - determines if report properties are copied to evaluation information.
Returns:
the contact center evaluation results.

createParams

public ContactCenterEvalResultsParams createParams()
Creates a parameter object that can be marshalled using JAXB from this object, and copies its evaluation results..

Returns:
the parameter object containing results.

getNumContactTypesWithSegments

public int getNumContactTypesWithSegments()
Description copied from interface: ContactCenterInfo
Returns the number of contact types including segments regrouping several contact types. If K≤1, this returns the result of ContactCenterInfo.getNumContactTypes(). Otherwise, this returns the sum of ContactCenterInfo.getNumContactTypes(), ContactCenterInfo.getNumContactTypeSegments(), and 1.

Specified by:
getNumContactTypesWithSegments in interface ContactCenterInfo
Returns:
the number of contact types including segments.

getNumInContactTypesWithSegments

public int getNumInContactTypesWithSegments()
Description copied from interface: ContactCenterInfo
Returns the number of inbound contact types including segments regrouping several inbound contact types. If $ \Ki$≤1, this returns the result of ContactCenterInfo.getNumInContactTypes(). Otherwise, this returns the sum of ContactCenterInfo.getNumInContactTypes(), ContactCenterInfo.getNumInContactTypeSegments(), and 1.

Specified by:
getNumInContactTypesWithSegments in interface ContactCenterInfo
Returns:
the number of inbound contact types including segments.

getNumOutContactTypesWithSegments

public int getNumOutContactTypesWithSegments()
Description copied from interface: ContactCenterInfo
Returns the number of outbound contact types including segments regrouping several outbound contact types. If $ \Ko$≤1, this returns the result of ContactCenterInfo.getNumOutContactTypes(). Otherwise, this returns the sum of ContactCenterInfo.getNumOutContactTypes(), ContactCenterInfo.getNumOutContactTypeSegments(), and 1.

Specified by:
getNumOutContactTypesWithSegments in interface ContactCenterInfo
Returns:
the number of outbound contact types including segments.

getNumAgentGroupsWithSegments

public int getNumAgentGroupsWithSegments()
Description copied from interface: ContactCenterInfo
Returns the number of agent groups including segments regrouping several agent groups. If I≤1, this returns the result of ContactCenterInfo.getNumAgentGroups(). Otherwise, this returns the sum of ContactCenterInfo.getNumAgentGroups(), ContactCenterInfo.getNumAgentGroupSegments(), and 1.

Specified by:
getNumAgentGroupsWithSegments in interface ContactCenterInfo
Returns:
the number of agent groups including segments.

getNumMainPeriodsWithSegments

public int getNumMainPeriodsWithSegments()
Description copied from interface: ContactCenterInfo
Returns the number of main periods including segments regrouping several main periods. If P≤1, this returns the result of ContactCenterInfo.getNumMainPeriods(). Otherwise, this returns the sum of ContactCenterInfo.getNumMainPeriods(), ContactCenterInfo.getNumMainPeriodSegments(), and 1.

Specified by:
getNumMainPeriodsWithSegments in interface ContactCenterInfo
Returns:
the number of main periods including segments.

getNumWaitingQueuesWithSegments

public int getNumWaitingQueuesWithSegments()
Description copied from interface: ContactCenterInfo
Returns the number of waiting queues including segments regrouping several waiting queues. If the number of waiting queues is smaller than two, this returns the result of ContactCenterInfo.getNumWaitingQueues(). Otherwise, this returns the sum of ContactCenterInfo.getNumWaitingQueues(), ContactCenterInfo.getNumWaitingQueueSegments(), and 1.

Specified by:
getNumWaitingQueuesWithSegments in interface ContactCenterInfo
Returns:
the number of waiting queues including segments.

ContactCenters
V. 0.9.9.

To submit a bug or ask questions, send an e-mail to Richard Simard.