View Javadoc

1   // %1784694395:hoplugins.transfers.vo%
2   package hoplugins.transfers.vo;
3   
4   import hoplugins.transfers.constants.TransferTypes;
5   
6   import java.util.HashMap;
7   import java.util.Map;
8   
9   
10  /***
11   * Recap information about transfer types.
12   *
13   * @author <a href=mailto:draghetto@users.sourceforge.net>Massimiliano Amato</a>
14   */
15  public class TransferRecap {
16      //~ Instance fields ----------------------------------------------------------------------------
17  
18      /*** Map of transfer type */
19      private final Map types = new HashMap();
20  
21      //~ Methods ------------------------------------------------------------------------------------
22  
23      /***
24       * Get recap information about a transfer type
25       *
26       * @param type Transfer tpe
27       *
28       * @return Recap information
29       */
30      public final TransferTypeRecap getRecap(int type) {
31          TransferTypeRecap recap = (TransferTypeRecap) types.get("" + type);
32  
33          if (recap == null) {
34              recap = new TransferTypeRecap();
35              types.put("" + type, recap);
36          }
37  
38          return recap;
39      }
40  
41      /***
42       * Register a trade transfer
43       *
44       * @param element Trade information
45       */
46      public final void addTradingOperation(TransferredPlayer element) {
47          final TransferTypeRecap recap = getRecap(element.getTransferType());
48          recap.addOperation(element.getIncome());
49      }
50  
51      /***
52       * Register a 'wasted money' transfer
53       *
54       * @param element Trade information
55       */
56      public final void addWastedOperation(PlayerTransfer element) {
57          final TransferTypeRecap recap = getRecap(TransferTypes.FIRED_PLAYER);
58  
59          if (element.getType() == PlayerTransfer.BUY) {
60              recap.addOperation(-element.getPrice());
61          } else {
62              recap.addOperation(element.getPrice());
63          }
64      }
65  }