2 * Copyright (C) 2016 Roland Haeder
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU Affero General Public License as
6 * published by the Free Software Foundation, either version 3 of the
7 * License, or (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 Affero General Public License for more details.
14 * You should have received a copy of the GNU Affero 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 PizzaAdminProductWebRequestController {
32 * Adds given product data from request to database
34 * @throws javax.faces.view.facelets.FaceletException If something
37 void addProduct () throws FaceletException;
40 * Some "getter" for a linked list of all products
42 * @return All products
44 * @throws javax.faces.view.facelets.FaceletException If anything went wrong
46 List<Product> getAllProducts () throws FaceletException;
49 * Getter for product's available property
51 * @return Product's available property
53 Boolean getProductAvailability ();
56 * Setter for product's available property
58 * @param available Product's available property
60 void setProductAvailability (final Boolean available);
63 * Getter for product's category
65 * @return Product's category
67 Category getProductCategory ();
70 * Setter for product's category instance
72 * @param productCategory Product's category instance
74 void setProductCategory (final Category productCategory);
77 * Getter for product's price property
79 * @return Product's price property
81 Float getProductPrice ();
84 * Setter for product's price property
86 * @param price Product's price property
88 void setProductPrice (final Float price);
91 * Getter for product's title property
93 * @return Product's title
95 String getProductTitle ();
98 * Setter for product's title property
100 * @param title Product's title
102 void setProductTitle (final String title);