Commit 22295de0 authored by Rohit Prasad's avatar Rohit Prasad

Implement equals method

parent d21b7f53
...@@ -5,4 +5,11 @@ public class Customer { ...@@ -5,4 +5,11 @@ public class Customer {
Customer(String id) { this.id = id; } Customer(String id) { this.id = id; }
String getId() { return id; } String getId() { return id; }
@Override
public boolean equals(Object o) {
Customer c = (Customer) o;
return this.id.equals(c.getId());
}
} }
...@@ -5,4 +5,11 @@ public class Stock { ...@@ -5,4 +5,11 @@ public class Stock {
Stock(String name) { this.name = name; } Stock(String name) { this.name = name; }
String getName() { return name; } String getName() { return name; }
@Override
public boolean equals(Object o) {
Stock s = (Stock) o;
return this.name.equals(s.getName());
}
} }
/*
* This Trade abstract class provides all the methods common
* for both SellTrade and BuyTrade classes that will inherit
* for it.
*/
public abstract class Trade { public abstract class Trade {
int qty; int qty;
float price; float price;
...@@ -26,4 +31,22 @@ public abstract class Trade { ...@@ -26,4 +31,22 @@ public abstract class Trade {
Customer getCustomer() { return c; } Customer getCustomer() { return c; }
Stock getStock() { return stock; } Stock getStock() { return stock; }
@Override
public boolean equals(Object o) {
// self check
if (this == o) return true;
// null check
if (o == null) return false;
// type check and case
if (getClass() != o.getClass()) return false;
Trade t = (Trade) o;
return this.time == t.getTime() && this.type.equals(t.getType())
&& this.c.equals(t.getCustomer()) && this.stock.equals(t.getStock())
&& this.qty == t.getQty() && this.price == t.getPrice();
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment