1 package org.opentrafficsim.water.transfer; 2 3 public class TerminalPortTax 4 { 5 6 private double feePortPerFullMove; 7 8 private double feePortPerEmptyMove; 9 10 private double feePortPerShipDWT; 11 12 private String feeStrategy; 13 14 private boolean usePortFeePerFullMove; 15 16 private boolean usePortFeePerEmptyMove; 17 18 private boolean usePortFeePerShipDWT; 19 20 public TerminalPortTax(double feePortPerFullMove, double feePortPerEmptyMove, double feePortPerDWT, String feeStrategy) 21 { 22 23 this.feePortPerFullMove = feePortPerFullMove; 24 this.feePortPerEmptyMove = feePortPerEmptyMove; 25 this.feePortPerShipDWT = feePortPerDWT; 26 this.feeStrategy = feeStrategy; 27 28 if ("F".equals(feeStrategy)) 29 { 30 this.usePortFeePerFullMove = true; 31 this.usePortFeePerEmptyMove = false; 32 this.usePortFeePerShipDWT = false; 33 34 } 35 if ("A".equals(feeStrategy)) 36 { 37 this.usePortFeePerFullMove = true; 38 this.usePortFeePerEmptyMove = true; 39 this.usePortFeePerShipDWT = false; 40 41 } 42 if ("S".equals(feeStrategy)) 43 { 44 this.usePortFeePerFullMove = false; 45 this.usePortFeePerEmptyMove = false; 46 this.usePortFeePerShipDWT = true; 47 48 } 49 } 50 51 public double getFeePortPerShipDWT() 52 { 53 54 return feePortPerShipDWT; 55 } 56 57 public double getFeePortPerFullMove() 58 { 59 return feePortPerFullMove; 60 } 61 62 public double getFeePortPerEmptyMove() 63 { 64 return feePortPerEmptyMove; 65 } 66 67 public boolean isUsePortFeePerEmptyMove() 68 { 69 return usePortFeePerEmptyMove; 70 } 71 72 public boolean isUsePortFeePerFullMove() 73 { 74 return usePortFeePerFullMove; 75 } 76 77 public boolean isUsePortFeePerShipDWT() 78 { 79 return usePortFeePerShipDWT; 80 } 81 82 public String getFeeStrategy() 83 { 84 return feeStrategy; 85 } 86 }