package ksiazka.kucharska;
|
|
import javax.swing.ImageIcon;
|
|
|
|
import db.Recipe;
|
|
|
|
|
|
abstract class RecipeBuilder {
|
|
protected Recipe rOb;
|
|
|
|
public Recipe build() {
|
|
return rOb;
|
|
}
|
|
|
|
public void newRecipe() {
|
|
rOb = new Recipe();
|
|
}
|
|
|
|
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 Recipe getRecipe() {
|
|
return recipeBuilder.build();
|
|
}
|
|
public void constructRecipe() {
|
|
recipeBuilder.newRecipe();
|
|
recipeBuilder.buildTitle();
|
|
recipeBuilder.buildIngred();
|
|
recipeBuilder.buildDesc();
|
|
recipeBuilder.buildTags();
|
|
recipeBuilder.buildImg();
|
|
}
|
|
}
|