EquityShare.java
public class EquityShare {
private String companyName;
private double price;
public EquityShare(String companyName, double price) {
this.companyName=companyName;
this.price=price;
}
public void purchaseEquityShare(){
System.out.println("purchasing equity share : " + this);
}
public void sellEquityShare(){
System.out.println("selling equity share : " + this);
}
public String toString(){
return "[ companyName :"+companyName +", price : "+price+"]";
}
}
BrokerStaff.java
public class BrokerStaff {
protected EquityShare equityShare;
public BrokerStaff() {
// TODO Auto-generated constructor stub
}
public EquityShare getEquityShare() {
return equityShare;
}
public void setEquityShare(EquityShare equityShare) {
this.equityShare = equityShare;
}
public void executeOrder(String orderType){
if("purchase".equals(orderType))
equityShare.purchaseEquityShare();
else if("sell".equals(orderType))
equityShare.sellEquityShare();
}
}
CommandPatternDemo.java
public class CommandPatternDemo {
public CommandPatternDemo() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
//details of Equity Shares
EquityShare techSoft = new EquityShare("TECHSOFT",1000);
EquityShare roboSoft = new EquityShare("ROBOSOFT",1500);
EquityShare radioSoft = new EquityShare("RADIOSOFT",400);
//Get the Broker Staff
BrokerStaff broker = new BrokerStaff();
//purchase techsoft
broker.setEquityShare(techSoft);
broker.executeOrder("purchase");
//sell robosoft
broker.setEquityShare(roboSoft);
broker.executeOrder("sell");
//purchase radiosoft
broker.setEquityShare(radioSoft);
broker.executeOrder("purchase");
}
}
Output
