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;
/**
* MenuMenuItem generated by hbm2java
*/
public class MenuMenuItem extends DBEntity {
private static final long serialVersionUID = -7535107100736646843L;
private Integer menuMenuItemId;
private Menu menu;
private MenuItem menuItem;
private int isDeleted;
public MenuMenuItem() {
}
public MenuMenuItem(Menu menu, MenuItem menuItem, int isDeleted) {
this.menu = menu;
this.menuItem = menuItem;
this.isDeleted = isDeleted;
}
//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.writeInt(menuMenuItemId);
Menu m = new Menu();
User u = new User(menu.getUser().getFirstName(), menu.getUser().getLastName(), menu.getUser().getPersonalIdentificationNumber(), menu.getUser().getUsername(), menu.getUser().getPassword(), menu.getUser().getIsDeleted());
u.setUserId(menu.getUser().getUserId());
m.setUser(u);
m.setName(menu.getName());
m.setDate(menu.getDate());
m.setMenuId(menu.getMenuId());
m.setIsDeleted(menu.getIsDeleted());
stream.writeObject(m);
MenuItem mi = new MenuItem(menuItem.getName(), menuItem.getPrice(), menuItem.getQuantity(), menuItem.getIsAvailable(), menuItem.getIsDeleted());
mi.setMenuItemId(menuItem.getMenuItemId());
stream.writeObject(mi);
stream.writeInt(isDeleted);
}
//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 {
menuMenuItemId = stream.readInt();
menu = (Menu) stream.readObject();
menuItem = (MenuItem) stream.readObject();
isDeleted = stream.readInt();
} catch (Exception e) {
e.getMessage();
}
}
public Integer getMenuMenuItemId() {
return this.menuMenuItemId;
}
public void setMenuMenuItemId(Integer menuMenuItemId) {
this.menuMenuItemId = menuMenuItemId;
}
public Menu getMenu() {
return this.menu;
}
public void setMenu(Menu menu) {
this.menu = menu;
}
public MenuItem getMenuItem() {
return this.menuItem;
}
public void setMenuItem(MenuItem menuItem) {
this.menuItem = menuItem;
}
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 MenuMenuItem findById(Integer id) {
//return (MenuMenuItem) findById("MenuMenuItem", "menuMenuItemId", id);
return (MenuMenuItem) findByIdNotDeleted("MenuMenuItem", "menuMenuItemId", id, "isDeleted", 0);
}
//vrati vsechny MenuMenuItem zaznamy, ktere nejsou oznaceny jako smazane
public static List findAll(){
return findAllNotDeleted("MenuMenuItem", "isDeleted", 0);
}
public static List findByMenu(Integer menuId) {
String query = "from MenuMenuItem mmi where mmi.menu.menuId = :id1 and mmi.isDeleted = :id2";
String[] paramNames = new String[]{"id1", "id2"};
String[] paramTypes = new String[]{"Integer", "Integer"};
Integer[] paramValues = new Integer[]{menuId, 0};
List res = executeQuery(query, paramNames, paramTypes, paramValues);
if (res == null || res.isEmpty()) {
return null;
}
return res;
}
public static List findByMenuItem(Integer menuItemId) {
String query = "from MenuMenuItem mmi where mmi.menuItem.menuItemId = :id1 and mmi.isDeleted = :id2";
String[] paramNames = new String[]{"id1", "id2"};
String[] paramTypes = new String[]{"Integer", "Integer"};
Integer[] paramValues = new Integer[]{menuItemId, 0};
List res = executeQuery(query, paramNames, paramTypes, paramValues);
if (res == null || res.isEmpty()) {
return null;
}
return res;
}
public static MenuMenuItem findByMenuAndMenuItem(Integer menuId, Integer menuItemId) {
String query = "from MenuMenuItem mmi where mmi.menu.menuId = :id1 and mmi.menuItem.menuItemId = :id2 and mmi.isDeleted = :id3";
String[] paramNames = new String[]{"id1", "id2", "id3"};
String[] paramTypes = new String[]{"Integer", "Integer", "Integer"};
Integer[] paramValues = new Integer[]{menuId, menuItemId, 0};
List res = executeQuery(query, paramNames, paramTypes, paramValues);
if (res == null || res.isEmpty()) {
return null;
}
return (MenuMenuItem) res.get(0);
}
}