Skip to content

Instantly share code, notes, and snippets.

@joshlemer
Created July 23, 2015 18:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joshlemer/16fef1330dfb537d8be2 to your computer and use it in GitHub Desktop.
Save joshlemer/16fef1330dfb537d8be2 to your computer and use it in GitHub Desktop.
package com.pulseenergy.calorificvalues;
import com.pulseenergy.core.quantity.Quantity;
import com.pulseenergy.core.quantity.Resource;
import com.pulseenergy.point.CorePointKey;
import com.pulseenergy.point.Point;
import com.pulseenergy.point.conversion.PointConverter;
import com.pulseenergy.point.model.EnergyPointModel;
import com.pulseenergy.space.Space;
import java.util.Collections;
import java.util.List;
import java.util.Map;
public class EnergyToVolumePointConverter extends PointConverter {
private final Space space;
public EnergyToVolumePointConverter(Space space) {
this.space = space;
}
@Override
public double getWeight() {
return Weight.forLevel(2);
}
@Override
public boolean canConvertTo(CorePointKey targetPointKey) {
return Resource.NaturalGas.equals(targetPointKey.getResource()) && Quantity.Volume.equals(targetPointKey.getQuantity());
}
@Override
public List<CorePointKey> getConvertiblePointKeys(CorePointKey targetPointKey) {
if (canConvertTo(targetPointKey)) {
return Collections.singletonList(new CorePointKey(Resource.NaturalGas, com.pulseenergy.core.quantity.Quantity.Energy));
}
return Collections.emptyList();
}
@Override
public Point createConversionPoint(Map<CorePointKey, Point> sourcePoints, CorePointKey targetPointKey) {
CorePointKey corePointKey = getConvertiblePointKeys(targetPointKey).get(0);
if (corePointKey != null) {
Point p = new Point(new EnergyPointModel(), space.getOrganization(), targetPointKey.getQuantity());
p.setSpace(space);
}
return null;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment