+/*
+ * Copyright (C) 2015 Roland Haeder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jshopcore.model.product;
+
+import java.text.MessageFormat;
+import org.mxchange.jshopcore.model.product.BaseProduct;
+import org.mxchange.jshopcore.model.product.BaseProduct;
+import org.mxchange.jshopcore.model.product.Product;
+import org.mxchange.jshopcore.model.product.Product;
+
+/**
+ * Generic product class
+ *
+ * @author Roland Haeder
+ * TODO: Find a better name
+ */
+public class GenericProduct extends BaseProduct implements Product {
+ /**
+ * Serial number
+ */
+ private static final long serialVersionUID = 54_578_571_769_283L;
+
+ /**
+ * Default constructor
+ */
+ public GenericProduct () {
+ }
+
+ /**
+ * Constructor will all required data
+ *
+ * @param id Id number of product
+ * @param title Name of product
+ * @param price Price
+ * @param categoryId Category id
+ * @param available Availability (selectable by customer)
+ */
+ public GenericProduct (final Long id, final String title, final Float price, final Long categoryId, final Boolean available) {
+ // Trace message
+ this.getLogger().logTrace(MessageFormat.format("id={0},title={1},price={2},categoryId={3},available={4} - CALLED!", id, title, price, categoryId, available)); //NOI18N
+
+ // Set all here
+ this.setItemId(id);
+ this.setTitle(title);
+ this.setPrice(price);
+ this.setCategoryId(categoryId);
+ this.setAvailable(available);
+ }
+}