Overview | Package | Class | Tree | Deprecated | Index | Help
| ContactCenters V. 0.9.9.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.contactcenters.expdelay
Class HeadOfQueuePredictor

    java.lang.Object
      umontreal.iro.lecuyer.contactcenters.expdelay.HeadOfQueuePredictor

All Implemented Interfaces:
  WaitingTimePredictor

    public class HeadOfQueuePredictor

extends Object
implements WaitingTimePredictor

Head of queue waiting time predictor. This predictor obtains a waiting time by taking the longest waiting time among the first queued contacts of the associated router. When waiting queues are first in first out (FIFO), this corresponds to the longest waiting time among all queued contacts. The waiting time of a queued contact is the time from which the contact entered the queue to the current time.

Constructor Summary
`HeadOfQueuePredictor()`

Method Summary
`Router` | `getRouter()` Returns a reference to the router associated with this predictor.
`double` | `getWaitingTime(Contact contact)` Returns a prediction of the waiting time of contact `contact` waiting in any queue.
`double` | `getWaitingTime(Contact contact, WaitingQueue queue)` Returns a prediction of the waiting time for the given contact `contact` conditional on the contact joining the waiting queue `queue`.
`void` | `init()` Resets any internal variable of this predictor.
`void` | `setRouter(Router router)` Sets the router associated with this predictor to `router`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### HeadOfQueuePredictor

    public HeadOfQueuePredictor()

Method Detail

### getRouter

    public Router getRouter()

  Description copied from interface: `WaitingTimePredictor`
  Returns a reference to the router associated with this predictor. By default, this returns `null` since no router is bound to a newly-constructed predictor. A router is associated with a predictor using the `WaitingTimePredictor.setRouter(Router)` method.

  Specified by:
    `getRouter` in interface `WaitingTimePredictor`
  Returns:
    a reference to the currently associated router.

### getWaitingTime

    public double getWaitingTime(Contact contact)

  Description copied from interface: `WaitingTimePredictor`
  Returns a prediction of the waiting time of contact `contact` waiting in any queue. This method returns `Double.NaN` if it cannot make a prediction for the given contact.

  Specified by:
    `getWaitingTime` in interface `WaitingTimePredictor`
  Parameters:
    `contact` - the contact for which we need a prediction.
  Returns:
    the global waiting time.

### getWaitingTime

    public double getWaitingTime(Contact contact,
                                 WaitingQueue queue)

  Description copied from interface: `WaitingTimePredictor`
  Returns a prediction of the waiting time for the given contact `contact` conditional on the contact joining the waiting queue `queue`. This method returns `Double.NaN` if it cannot make a prediction for the given contact, or the given waiting queue.

  Specified by:
    `getWaitingTime` in interface `WaitingTimePredictor`
  Parameters:
    `contact` - the contact for which a delay is predicted.
    `queue` - the target waiting queue.
  Returns:
    the predicted delay.

### init

    public void init()

  Description copied from interface: `WaitingTimePredictor`
  Resets any internal variable of this predictor.

  Specified by:
    `init` in interface `WaitingTimePredictor`

### setRouter

    public void setRouter(Router router)

  Description copied from interface: `WaitingTimePredictor`
  Sets the router associated with this predictor to `router`. When `router` is non-`null`, this method can also register any listener required to make the predictions. If the router associated with a predictor is changed, the predictor should unregister any listener associated with the previous router.

  Specified by:
    `setRouter` in interface `WaitingTimePredictor`
  Parameters:
    `router` - the new router.

Overview | Package | Class | Tree | Deprecated | Index | Help
| ContactCenters V. 0.9.9.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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