Cook book written in Java
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

81 lines
1.7 KiB

package ksiazka.kucharska;
import javax.swing.ImageIcon;
abstract class RecipeBuilder {
protected CB_Model rOb;
public CB_Model build() {
return rOb;
}
public void newRecipe() {
rOb = new CB_Model();
}
public abstract void buildTitle();
public abstract void buildIngred();
public abstract void buildDesc();
public abstract void buildTags();
public abstract void buildImg();
}
class NewRecipeBuilder extends RecipeBuilder {
public void buildTitle() {
rOb.setName(FrmMain.txtEdTitle.getText());
}
public void buildIngred() {
rOb.setIngredients(FrmMain.txtIngredients.getText());
}
public void buildDesc() {
rOb.setDescription(FrmMain.txtDescription.getText());
}
public void buildTags() {
rOb.setTags(FrmMain.txtTags.getText());
}
public void buildImg() {
rOb.setImage((ImageIcon)FrmMain.imgRecipe.getIcon());
}
}
class ExampleRecipeBuilder extends RecipeBuilder {
public void buildTitle() {
rOb.setName("Kanapka");
}
public void buildIngred() {
rOb.setIngredients("Chleb, margaryna, szynka");
}
public void buildDesc() {
rOb.setDescription("Posmarować kanapke margaryną i położyć na niej plaster szynki");
}
public void buildTags() {
rOb.setTags("kanapka, szynka, chleb");
}
public void buildImg() {
rOb.setImage(FrmMain.imgDefaultRecipe);
}
}
class RecipeManager {
private RecipeBuilder recipeBuilder;
public void setRecipeBuilder(RecipeBuilder rb) {
recipeBuilder = rb;
}
public CB_Model getRecipe() {
return recipeBuilder.build();
}
public void constructRecipe() {
recipeBuilder.newRecipe();
recipeBuilder.buildTitle();
recipeBuilder.buildIngred();
recipeBuilder.buildDesc();
recipeBuilder.buildTags();
recipeBuilder.buildImg();
}
}