de.upb.swtpra05.group03.shuttle
Class BillingInvoice

java.lang.Object
  extended byde.upb.swtpra05.group03.shuttle.BillingInvoice
All Implemented Interfaces:
Module, ShuttleModule

public class BillingInvoice
extends java.lang.Object
implements ShuttleModule

Inheritance of Billing implementing the paymentMethod "Invoice" DEPRECATED

Version:
$Revision: 1.3 $

Field Summary
protected  ShuttleControlInterface agent
          The ShuttleControl
private  java.util.Set assignedOrders
          Contains all assigned Orders which aren't delivered yet
private  java.util.Set deliveredOrders
          Contains all delivered Orders which aren't invoiced yet
private static java.util.logging.Logger log
          The Logger where any errors & information will be displayed
private  OrderContainerInterface orderContainer
          The order container
protected static java.lang.String PAYMENT_METHOD
          The payment method
protected static int timeToWaitTillReminder
          The timespan to wait till a reminder is sent if an order is not invoiced till then
private  java.util.Set wakeUpOrders
          Contains all WakeUpOrders sent to remind Billing of something
 
Constructor Summary
BillingInvoice()
          Constructor
 
Method Summary
private  void bankingError(de.upb.swtpra.kernel.message.BankingErrorMessage msg)
          Handles BankingErrorMessages
 void init(ModuleContainerInterface container)
          Initializes this module.
private  void moneyTransferred(de.upb.swtpra.kernel.message.MoneyTransferredMessage msg)
          Removes any payed Order from the deliverdOrders and adds them to the invoicedOrders
 void newMessageReceived(de.upb.swtpra.kernel.message.Message msg)
          Delivers a new Message to Billing.
private  void orderAssigned(de.upb.swtpra.kernel.message.AssignOrder msg)
          Adds any assigned Order to the assignedOrders Vector
private  void orderDelivered(de.upb.swtpra.kernel.message.ShuttleUnLoadedMessage msg)
          Removes delivered Orders from the assignedOrders and adds them to the deliveredOrders Within this paymentMethod an Invoice is sent to the Kernel Here the wakeMe-Method is used to verify the payment of the Order
private  void wakeUpCall(de.upb.swtpra.kernel.message.WakeUpCallMessage msg)
          Called if an WakeUpCallMessage is received
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static final java.util.logging.Logger log
The Logger where any errors & information will be displayed


PAYMENT_METHOD

protected static final java.lang.String PAYMENT_METHOD
The payment method

See Also:
Constant Field Values

timeToWaitTillReminder

protected static final int timeToWaitTillReminder
The timespan to wait till a reminder is sent if an order is not invoiced till then

See Also:
Constant Field Values

agent

protected ShuttleControlInterface agent
The ShuttleControl


orderContainer

private OrderContainerInterface orderContainer
The order container


assignedOrders

private java.util.Set assignedOrders
Contains all assigned Orders which aren't delivered yet


deliveredOrders

private java.util.Set deliveredOrders
Contains all delivered Orders which aren't invoiced yet


wakeUpOrders

private java.util.Set wakeUpOrders
Contains all WakeUpOrders sent to remind Billing of something

Constructor Detail

BillingInvoice

public BillingInvoice()
Constructor

Method Detail

init

public void init(ModuleContainerInterface container)
Description copied from interface: Module
Initializes this module. References to other modules should be set here to avoid circle dependencies.

Specified by:
init in interface Module
Parameters:
container - The module manager which contain all modules

newMessageReceived

public void newMessageReceived(de.upb.swtpra.kernel.message.Message msg)
Delivers a new Message to Billing. An instance will receive any message received by the Shuttle and react whether the received message is of any interest

Specified by:
newMessageReceived in interface ShuttleModule
Parameters:
msg - The Message to deliver

orderAssigned

private void orderAssigned(de.upb.swtpra.kernel.message.AssignOrder msg)
Adds any assigned Order to the assignedOrders Vector

Parameters:
msg - The AssignOrderMessage which contains the assigned Order

orderDelivered

private void orderDelivered(de.upb.swtpra.kernel.message.ShuttleUnLoadedMessage msg)
Removes delivered Orders from the assignedOrders and adds them to the deliveredOrders Within this paymentMethod an Invoice is sent to the Kernel Here the wakeMe-Method is used to verify the payment of the Order

Parameters:
msg - A ShuttleUnLoadedMessage containing the OrderID of the delivered Order

moneyTransferred

private void moneyTransferred(de.upb.swtpra.kernel.message.MoneyTransferredMessage msg)
Removes any payed Order from the deliverdOrders and adds them to the invoicedOrders

Parameters:
msg - The MoneyTransferredMessage containing the OrderID of the payed Order

wakeUpCall

private void wakeUpCall(de.upb.swtpra.kernel.message.WakeUpCallMessage msg)
Called if an WakeUpCallMessage is received

Parameters:
msg - The WakeUpCallMessage

bankingError

private void bankingError(de.upb.swtpra.kernel.message.BankingErrorMessage msg)
Handles BankingErrorMessages

Parameters:
msg - The BankingErrorMessage