2 * Copyright (C) 2015 Roland Haeder
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 package org.mxchange.pizzaapplication.beans.product;
19 import java.util.List;
20 import javax.faces.view.facelets.FaceletException;
21 import org.mxchange.jshopcore.model.category.Category;
22 import org.mxchange.jshopcore.model.product.Product;
25 * An interface for product controllers for "ADMIN" role
27 * @author Roland Haeder<roland@mxchange.org>
29 public interface AdminProductWebController {
32 * Adds given product data from request to database
34 * @throws javax.faces.view.facelets.FaceletException If something
37 public void addProduct () throws FaceletException;
40 * Some "getter" for a linked list of all products
42 * @return All products
43 * @throws javax.faces.view.facelets.FaceletException If anything went wrong
45 public List<Product> getAllProducts () throws FaceletException;
48 * Getter for product's available property
50 * @return Product's available property
52 public Boolean getProductAvailability ();
55 * Setter for product's available property
57 * @param available Product's available property
59 public void setProductAvailability (final Boolean available);
62 * Getter for product's category
64 * @return Product's category
66 public Category getProductCategory ();
69 * Setter for product's category instance
71 * @param productCategory Product's category instance
73 public void setProductCategory (final Category productCategory);
76 * Getter for product's price property
78 * @return Product's price property
80 public Float getProductPrice ();
83 * Setter for product's price property
85 * @param price Product's price property
87 public void setProductPrice (final Float price);
90 * Getter for product's title property
92 * @return Product's title
94 public String getProductTitle ();
97 * Setter for product's title property
99 * @param title Product's title
101 public void setProductTitle (final String title);