package cz.cvut.fel.restauracefel.hibernate;
// Generated 16.3.2009 21:36:54 by Hibernate Tools 3.2.1.GA
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.List;
/**
* Material generated by hbm2java
*/
public class Material extends DBEntity {
private static final long serialVersionUID = -7126164302660275981L;
private Integer materialId;
private UnitType unitType;
private MaterialType materialType;
private String name;
private double currentQuantity;
private String barcode;
private double minimal;
private int isDeleted;
private double density;
private double emptyPackageWeight;
private double packageCapacity;
public double getDensity() {
return density;
}
public void setDensity(double density) {
this.density = density;
}
public double getEmptyPackageWeight() {
return emptyPackageWeight;
}
public void setEmptyPackageWeight(double emptyPackageWeight) {
this.emptyPackageWeight = emptyPackageWeight;
}
public double getPackageCapacity() {
return packageCapacity;
}
public void setPackageCapacity(double packageCapacity) {
this.packageCapacity = packageCapacity;
}
public Material() {
}
public Material(UnitType unitType, MaterialType materialType, String name, double currentQuantity, String barcode, double minimal, int isDeleted) {
this.unitType = unitType;
this.materialType = materialType;
this.name = name;
this.currentQuantity = currentQuantity;
this.barcode = barcode;
this.minimal = minimal;
this.isDeleted = isDeleted;
}
public Material(Integer materialId, UnitType unitType, MaterialType materialType, String name, double currentQuantity, String barcode, double minimal, int isDeleted, double density, double emptyPackageWeight, double packageCapacity) {
this.materialId = materialId;
this.unitType = unitType;
this.materialType = materialType;
this.name = name;
this.currentQuantity = currentQuantity;
this.barcode = barcode;
this.minimal = minimal;
this.isDeleted = isDeleted;
this.density = density;
this.emptyPackageWeight = emptyPackageWeight;
this.packageCapacity = packageCapacity;
}
//tato metoda zde musi byt, a to z duvodu, aby mohla probehnout spravne serializace
//zapis objektu do proudu bajtu
private void writeObject(ObjectOutputStream stream) throws IOException {
//stream.defaultWriteObject();
stream.writeInt(materialId);
//Proc nejde "stream.writeObject(unitType)" ?
UnitType ut = new UnitType(unitType.getName(), unitType.getAbbreviation(), unitType.getTypeId(), unitType.getIsDeleted());
ut.setUnitTypeId(unitType.getUnitTypeId());
stream.writeObject(ut);
MaterialType mt = new MaterialType(materialType.getName(), materialType.getNote(), materialType.getIsDeleted());
mt.setMaterialTypeId(materialType.getMaterialTypeId());
stream.writeObject(mt);
stream.writeObject(name);
stream.writeDouble(currentQuantity);
stream.writeObject(barcode);
stream.writeDouble(minimal);
stream.writeInt(isDeleted);
stream.writeDouble(density);
stream.writeDouble(emptyPackageWeight);
stream.writeDouble(packageCapacity);
}
//tato metoda zde musi byt, a to z duvodu, aby mohla probehnout spravne serializace
//cteni a rekonstrukce objektu z proudu bajtu
private void readObject(ObjectInputStream stream) throws IOException {
try {
//stream.defaultReadObject();
materialId = stream.readInt();
unitType = (UnitType) (stream.readObject());
materialType = (MaterialType) (stream.readObject());
name = (String) (stream.readObject());
currentQuantity = stream.readDouble();
barcode = (String) (stream.readObject());
minimal = stream.readDouble();
isDeleted = stream.readInt();
density=stream.readDouble();
emptyPackageWeight=stream.readDouble();
packageCapacity=stream.readDouble();
} catch (Exception e) {
}
}
public Integer getMaterialId() {
return this.materialId;
}
public void setMaterialId(Integer materialId) {
this.materialId = materialId;
}
public UnitType getUnitType() {
return this.unitType;
}
public void setUnitType(UnitType unitType) {
this.unitType = unitType;
}
public MaterialType getMaterialType() {
return this.materialType;
}
public void setMaterialType(MaterialType materialType) {
this.materialType = materialType;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public double getCurrentQuantity() {
return this.currentQuantity;
}
public void setCurrentQuantity(double currentQuantity) {
this.currentQuantity = currentQuantity;
}
public String getBarcode() {
return this.barcode;
}
public void setBarcode(String barcode) {
this.barcode = barcode;
}
public double getMinimal() {
return minimal;
}
public void setMinimal(double minimal) {
this.minimal = minimal;
}
public int getIsDeleted() {
return isDeleted;
}
public void setIsDeleted(int isDeleted) {
this.isDeleted = isDeleted;
}
public void create() {
create(this);
}
public void delete() {
delete(this);
}
public void update() {
update(this);
}
public static Material findById(int id) {
//return (Material) findById("Material", "materialId", id);
return (Material) findByIdNotDeleted("Material", "materialId", id, "isDeleted", 0);
}
public static Material findByBarcode(String barcode) {
//return (Material) findByStringName("Material", "barcode", barcode);
return (Material) findByStringNameNotDeleted("Material", "barcode", barcode, "isDeleted", 0);
}
public static Material findByName(String name) {
//return (Material) findByStringName("Material", "name", name);
return (Material) findByStringNameNotDeleted("Material", "name", name, "isDeleted", 0);
}
public static List findByMaterialType(Integer materialTypeId) {
String query = "from Material mt where mt.materialType.materialTypeId = :id1 and mt.isDeleted = :id2";
String[] paramNames = new String[]{"id1", "id2"};
String[] paramTypes = new String[]{"Integer", "Integer"};
Integer[] paramValues = new Integer[]{materialTypeId, 0};
List res = executeQuery(query, paramNames, paramTypes, paramValues);
if (res == null || res.isEmpty()) {
return null;
}
return res;
}
//vrati vsechny suroviny, ktere nejsou oznaceny jako smazane
public static List findAll() {
return findAllNotDeleted("Material", "isDeleted", 0);
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Material other = (Material) obj;
if (this.materialId != other.materialId && (this.materialId == null || !this.materialId.equals(other.materialId))) {
return false;
}
return true;
}
@Override
public int hashCode() {
int hash = 5;
hash = 89 * hash + (this.materialId != null ? this.materialId.hashCode() : 0);
return hash;
}
}