Advertisement
Guest User

Untitled

a guest
Nov 13th, 2012
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.51 KB | None | 0 0
  1. package foo.bar.baz.units;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public class Energy implements Serializable
  6. {
  7.     private static final long serialVersionUID = 1L;
  8.    
  9.     public enum Unit { MMBTU, KWHR }
  10.  
  11.     private static final double MMBTU_PER_KWHR = 0.0034095106405145;
  12.     private Unit displayUnit = Unit.MMBTU;
  13.    
  14.     private double mmbtu = 0;
  15.    
  16.     public static Energy fromMMBTU(double mmbtu)
  17.     {
  18.         Energy energy = new Energy();
  19.         energy.setMMBTU(mmbtu);
  20.         return energy;
  21.     }
  22.    
  23.     public static Energy fromKWHR(double kwhr)
  24.     {
  25.         Energy energy = new Energy();
  26.         energy.setKWHR(kwhr);
  27.         return energy;
  28.     }
  29.    
  30.     public void setMMBTU(double mmbtu)
  31.     {
  32.         this.mmbtu = mmbtu;
  33.     }
  34.    
  35.     public void setKWHR(double kwhr)
  36.     {
  37.         setMMBTU(kwhr * MMBTU_PER_KWHR);
  38.     }
  39.    
  40.     public double getMMBTU()
  41.     {
  42.         return mmbtu;
  43.     }
  44.    
  45.     public double getKWHR()
  46.     {
  47.         return mmbtu / MMBTU_PER_KWHR;
  48.     }
  49.    
  50.     public double getEnergy(Unit unit)
  51.     {
  52.         switch(unit)
  53.         {
  54.             case MMBTU:
  55.                 return getMMBTU();
  56.             case KWHR:
  57.                 return getKWHR();
  58.         }
  59.         throw new UnsupportedOperationException("Unit type not implemented");
  60.     }
  61.    
  62.     public Unit getDisplayUnit()
  63.     {
  64.         return displayUnit;
  65.     }
  66.  
  67.     public void setDisplayUnit(Unit displayUnit)
  68.     {
  69.         this.displayUnit = displayUnit;
  70.     }
  71.    
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement