/** * */ package emlab.domain.contract; import org.springframework.data.neo4j.annotation.NodeEntity; import org.springframework.data.neo4j.annotation.RelatedTo; import org.neo4j.graphdb.Direction; import emlab.domain.agent.EnergyProducer; import emlab.domain.gis.Zone; import emlab.domain.technology.PowerPlant; import emlab.domain.technology.Substance; /** * @author ejlchappin * * */ @NodeEntity public class LongTermContractOffer { @RelatedTo(type = "LONGTERMCONTRACTOFFER_POWERPLANT", elementClass = PowerPlant.class, direction = Direction.OUTGOING) private PowerPlant underlyingPowerPlant; @RelatedTo(type = "LONGTERMCONTRACTOFFER_DURATION", elementClass = LongTermContractDuration.class, direction = Direction.OUTGOING) private LongTermContractDuration duration; @RelatedTo(type = "LONGTERMCONTRACTOFFER_TYPE", elementClass = LongTermContractType.class, direction = Direction.OUTGOING) private LongTermContractType longTermContractType; @RelatedTo(type = "LONGTERMCONTRACTOFFER_SELLER", elementClass = EnergyProducer.class, direction = Direction.OUTGOING) private EnergyProducer seller; @RelatedTo(type = "LONGTERMCONTRACTOFFER_ZONE", elementClass = Zone.class, direction = Direction.OUTGOING) private Zone zone; private double price; private Substance mainFuel; private double fuelPassThroughFactor; private double co2PassThroughFactor; private double fuelPriceStart; private double co2PriceStart; private double capacity; private double start; public PowerPlant getUnderlyingPowerPlant() { return underlyingPowerPlant; } public void setUnderlyingPowerPlant(PowerPlant underlyingPowerPlant) { this.underlyingPowerPlant = underlyingPowerPlant; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public Substance getMainFuel() { return mainFuel; } public void setMainFuel(Substance mainFuel) { this.mainFuel = mainFuel; } public double getFuelPassThroughFactor() { return fuelPassThroughFactor; } public void setFuelPassThroughFactor(double fuelPassThroughFactor) { this.fuelPassThroughFactor = fuelPassThroughFactor; } public double getCo2PassThroughFactor() { return co2PassThroughFactor; } public void setCo2PassThroughFactor(double co2PassThroughFactor) { this.co2PassThroughFactor = co2PassThroughFactor; } public LongTermContractType getLongTermContractType() { return longTermContractType; } public void setLongTermContractType( LongTermContractType longTermContractType) { this.longTermContractType = longTermContractType; } public double getFuelPriceStart() { return fuelPriceStart; } public void setFuelPriceStart(double fuelPriceStart) { this.fuelPriceStart = fuelPriceStart; } public double getCo2PriceStart() { return co2PriceStart; } public void setCo2PriceStart(double co2PriceStart) { this.co2PriceStart = co2PriceStart; } public EnergyProducer getSeller() { return seller; } public void setSeller(EnergyProducer seller) { this.seller = seller; } public Zone getZone() { return zone; } public void setZone(Zone zone) { this.zone = zone; } public double getCapacity() { return capacity; } public void setCapacity(double capacity) { this.capacity = capacity; } public double getStart() { return start; } public void setStart(double start) { this.start = start; } public LongTermContractDuration getDuration() { return duration; } public void setDuration(LongTermContractDuration duration) { this.duration = duration; } public String toString() { return "Offer of " + getSeller() + " for " + getUnderlyingPowerPlant() + " price " + getPrice() + " zone " + getZone() + " capacity " + getCapacity() + " type " + getLongTermContractType() + " start time " + getStart() + " duration " + getDuration() + " fuel price start " + getFuelPriceStart() + " fuel price pass " + getFuelPassThroughFactor() + " co2PriceStart " + getCo2PriceStart() + " co2 pass " + getCo2PassThroughFactor(); } }