2014-07-07 21:31:10 +02:00
|
|
|
package com.pahimar.ee3.exchange;
|
2014-04-29 03:24:31 +02:00
|
|
|
|
2014-07-07 21:31:10 +02:00
|
|
|
public class EnergyValue implements Comparable<EnergyValue>
|
2014-04-29 03:24:31 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
private final float energyValue;
|
|
|
|
private final EnergyType energyType;
|
2014-04-29 03:24:31 +02:00
|
|
|
|
2014-07-10 22:05:14 +02:00
|
|
|
public EnergyValue(int energyValue)
|
2014-04-29 03:24:31 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
this((float) energyValue);
|
2014-04-29 03:24:31 +02:00
|
|
|
}
|
|
|
|
|
2014-07-10 22:05:14 +02:00
|
|
|
public EnergyValue(float energyValue)
|
2014-04-29 03:24:31 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
this(energyValue, EnergyType.DEFAULT);
|
2014-04-29 03:24:31 +02:00
|
|
|
}
|
|
|
|
|
2014-07-10 22:05:14 +02:00
|
|
|
public EnergyValue(float energyValue, EnergyType energyType)
|
2014-04-29 03:24:31 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
this.energyValue = energyValue;
|
|
|
|
this.energyType = energyType;
|
2014-07-04 21:18:10 +02:00
|
|
|
}
|
|
|
|
|
2014-07-10 22:05:14 +02:00
|
|
|
public EnergyValue(int energyValue, EnergyType energyType)
|
2014-07-04 21:18:10 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
this((float) energyValue, energyType);
|
2014-07-04 21:18:10 +02:00
|
|
|
}
|
|
|
|
|
2014-07-10 22:05:14 +02:00
|
|
|
@Override
|
|
|
|
public boolean equals(Object object)
|
2014-07-04 21:18:10 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
return object instanceof EnergyValue && (compareTo((EnergyValue) object) == 0);
|
2014-04-29 03:24:31 +02:00
|
|
|
}
|
|
|
|
|
2014-07-10 22:05:14 +02:00
|
|
|
@Override
|
|
|
|
public String toString()
|
2014-04-29 03:24:31 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
return String.format(" %s@%s ", energyValue, energyType);
|
2014-04-29 03:24:31 +02:00
|
|
|
}
|
|
|
|
|
2014-07-10 22:05:14 +02:00
|
|
|
@Override
|
|
|
|
public int compareTo(EnergyValue energyValue)
|
2014-04-29 03:24:31 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
if (energyValue != null)
|
2014-04-29 03:24:31 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
if (this.energyType == energyValue.getEnergyType())
|
2014-04-29 03:24:31 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
return Float.compare(this.energyValue, energyValue.getEnergyValue());
|
2014-04-29 03:24:31 +02:00
|
|
|
}
|
2014-07-10 22:05:14 +02:00
|
|
|
else
|
2014-04-29 03:24:31 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
return (this.energyType.ordinal() - energyValue.getEnergyType().ordinal());
|
2014-04-29 03:24:31 +02:00
|
|
|
}
|
|
|
|
}
|
2014-07-10 22:05:14 +02:00
|
|
|
else
|
2014-04-29 03:24:31 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
return -1;
|
2014-04-29 03:24:31 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-07-10 22:05:14 +02:00
|
|
|
public EnergyType getEnergyType()
|
2014-04-29 03:24:31 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
return this.energyType;
|
2014-04-29 03:24:31 +02:00
|
|
|
}
|
|
|
|
|
2014-07-10 22:05:14 +02:00
|
|
|
public float getEnergyValue()
|
2014-04-29 03:24:31 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
return this.energyValue;
|
2014-04-29 03:24:31 +02:00
|
|
|
}
|
|
|
|
|
2014-07-10 22:05:14 +02:00
|
|
|
public static enum EnergyType
|
2014-04-29 03:24:31 +02:00
|
|
|
{
|
2014-07-10 22:05:14 +02:00
|
|
|
OMNI, CORPOREAL, KINETIC, TEMPORAL, ESSENTIA, AMORPHOUS, VOID;
|
2014-07-04 21:18:10 +02:00
|
|
|
|
2014-07-10 22:05:14 +02:00
|
|
|
public static final EnergyType DEFAULT = EnergyType.CORPOREAL;
|
2014-04-29 03:24:31 +02:00
|
|
|
}
|
|
|
|
}
|