This is a very noob basic java question.
I have a superclass.
public class MenuItem {
private int itemId;
public int getItemId() {
return itemId;
}
public void setItemId(int itemId) {
this.itemId = itemId;
}
}
then subclasses:
public class Beverage extends MenuItem {
private PriceSML price;
public PriceSML getPrice() {
return price;
}
public void setPrice(PriceSML price) {
this.price = price;
}
}
public class Cake extends MenuItem {
private SugarLevel sugarLevel;
public SugarLevel getSugarLevel() {
return sugarLevel;
}
public void setSugarLevel(SugarLevel price) {
this.sugarLevel= sugarLevel;
}
}
then I created a DAO method:
public boolean createItem(MenuItem menuItem) {
boolean result = false;
try {
Connection conn = createConnection();
Statement stmt = conn.createStatement();
String query = "INSERT INTO menu (menu_id, price)
+ "VALUES ('"
+ MenuItem.getItemCode()
+ "')";
//NOTE: HOW TO GET THE PRICE AND PUT IT IN MY QUERY
stmt.executeUpdate(query);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
But how can I get the PriceSML price since it is in the Beverage? Even if I passed it like this
MenuItem menuItem = new Beverage();
So I've decided to do this:
public boolean createBeverageItem(Beverage beverage) {
}
public boolean createCakeItem(Cake Cake) {
}
And so on... (e.g. 100 more methods if I have 100 categories). Take note that I am accessing only the menu table in the db. So how can i do this better?
Thank you.