// Openbravo POS is a point of sales application designed for touch screens.
// Copyright (C) 2007-2009 Openbravo, S.L.
// http://www.openbravo.com/product/pos
//
// This file is part of Openbravo POS.
//
// Openbravo POS 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.
//
// Openbravo POS 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 Openbravo POS. If not, see <http://www.gnu.org/licenses/>.
package com.openbravo.pos.ticket;
import java.awt.image.BufferedImage;
import com.openbravo.data.loader.DataRead;
import com.openbravo.basic.BasicException;
import com.openbravo.data.loader.ImageUtils;
import com.openbravo.data.loader.SerializerRead;
import com.openbravo.format.Formats;
import java.util.Properties;
/**
*
* @author adrianromero
*
*/
public class ProductInfoExt {
private static final long serialVersionUID = 7587696873036L;
protected String m_ID;
protected String m_sRef;
protected String m_sCode;
protected String m_sName;
protected boolean m_bCom;
protected boolean m_bScale;
protected String categoryid;
protected String taxcategoryid;
protected String attributesetid;
protected double m_dPriceBuy;
protected double m_dPriceSell;
protected BufferedImage m_Image;
protected Properties attributes;
/** Creates new ProductInfo */
public ProductInfoExt() {
m_ID = null;
m_sRef = "0000";
m_sCode = "0000";
m_sName = null;
m_bCom = false;
m_bScale = false;
categoryid = null;
taxcategoryid = null;
attributesetid = null;
m_dPriceBuy = 0.0;
m_dPriceSell = 0.0;
m_Image = null;
attributes = new Properties();
}
public final String getID() {
return m_ID;
}
public final void setID(String id) {
m_ID = id;
}
public final String getReference() {
return m_sRef;
}
public final void setReference(String sRef) {
m_sRef = sRef;
}
public final String getCode() {
return m_sCode;
}
public final void setCode(String sCode) {
m_sCode = sCode;
}
public final String getName() {
return m_sName;
}
public final void setName(String sName) {
m_sName = sName;
}
public final boolean isCom() {
return m_bCom;
}
public final void setCom(boolean bValue) {
m_bCom = bValue;
}
public final boolean isScale() {
return m_bScale;
}
public final void setScale(boolean bValue) {
m_bScale = bValue;
}
public final String getCategoryID() {
return categoryid;
}
public final void setCategoryID(String sCategoryID) {
categoryid = sCategoryID;
}
public final String getTaxCategoryID() {
return taxcategoryid;
}
public final void setTaxCategoryID(String value) {
taxcategoryid = value;
}
public final String getAttributeSetID() {
return attributesetid;
}
public final void setAttributeSetID(String value) {
attributesetid = value;
}
public final double getPriceBuy() {
return m_dPriceBuy;
}
public final void setPriceBuy(double dPrice) {
m_dPriceBuy = dPrice;
}
public final double getPriceSell() {
return m_dPriceSell;
}
public final void setPriceSell(double dPrice) {
m_dPriceSell = dPrice;
}
public final double getPriceSellTax(TaxInfo tax) {
return m_dPriceSell * (1.0 + tax.getRate());
}
public String printPriceSell() {
return Formats.CURRENCY.formatValue(new Double(getPriceSell()));
}
public String printPriceSellTax(TaxInfo tax) {
return Formats.CURRENCY.formatValue(new Double(getPriceSellTax(tax)));
}
public BufferedImage getImage() {
return m_Image;
}
public void setImage(BufferedImage img) {
m_Image = img;
}
public String getProperty(String key) {
return attributes.getProperty(key);
}
public String getProperty(String key, String defaultvalue) {
return attributes.getProperty(key, defaultvalue);
}
public void setProperty(String key, String value) {
attributes.setProperty(key, value);
}
public Properties getProperties() {
return attributes;
}
public static SerializerRead getSerializerRead() {
return new SerializerRead() { public Object readValues(DataRead dr) throws BasicException {
ProductInfoExt product = new ProductInfoExt();
product.m_ID = dr.getString(1);
product.m_sRef = dr.getString(2);
product.m_sCode = dr.getString(3);
product.m_sName = dr.getString(4);
product.m_bCom = dr.getBoolean(5).booleanValue();
product.m_bScale = dr.getBoolean(6).booleanValue();
product.m_dPriceBuy = dr.getDouble(7).doubleValue();
product.m_dPriceSell = dr.getDouble(8).doubleValue();
product.taxcategoryid = dr.getString(9);
product.categoryid = dr.getString(10);
product.attributesetid = dr.getString(11);
product.m_Image = ImageUtils.readImage(dr.getBytes(12));
product.attributes = ImageUtils.readProperties(dr.getBytes(13));
return product;
}};
}
@Override
public final String toString() {
return m_sRef + " - " + m_sName;
}
}