/**
* class Lot
* @author (etta)
* @version (25 September 2020)
*/
public class Lot
{
// Angka pada lot
private final int number;
// Deskripsi pada lot
private final String description;
// Nilai tawaran tertinggi pada lot
private Bid highestBid;
/**
* Membuat sebuah Lot, mengatur deskripsi dan nilainya
* @param number = nomor lot
* @param description = deskripsi lot
*/
public Lot(int number, String description)
{
this.number = number;
this.description = description;
this.highestBid = null;
}
/**
* Percobaan untuk menawar lot (tawaran berhasil)
* Harus memiliki nilai yang lebih tinggi dari nilai yang ada
* @param bid = tawaran yang baru
* @return true jika benar
*/
public boolean bidFor(Bid bid)
{
if(highestBid == null)
{
// jika tidak ada tawaran sebelumnya
highestBid = bid;
return true;
}
else if(bid.getValue() > highestBid.getValue())
{
//jika nilai bid lebih besar dari yang sebelumnya
highestBid = bid;
return true;
}
else
{
// nilai bid tidak lebih besar
return false;
}
}
/**
* return tampilan isi lot berupa string
*/
public String toString()
{
String details = number + ": " + description;
if(highestBid != null)
{
details += " penawaran : " + highestBid.getValue();
}
else
{
details += " (Belum ada penawaran)";
}
return details;
}
/**
* return angka pada lot
*/
public int getNumber()
{
return number;
}
/**
* return deskripsi pada lot
*/
public String getDescription()
{
return description;
}
/**
* return nilai tawaran tertinggi
* Dapat bernilai null, jika tidak ada tawaran
*/
public Bid getHighestBid()
{
return highestBid;
}
}