/*
* $Id:$
*
* Copyright (C) 2002 Idega hf. All Rights Reserved.
*
* This software is the proprietary information of Idega hf.
* Use is subject to license terms.
*
*/
package com.idega.builder.data;
import com.idega.core.builder.data.*;
import com.idega.core.localisation.data.ICLocale;
import com.idega.data.GenericEntity;
import java.sql.SQLException;
import java.util.Collection;
import javax.ejb.FinderException;
/**
* This class does something very clever.....
*
* @author <a href="palli@idega.is">Pall Helgason</a>
* @version 1.0
*/
public class IBPageNameBMPBean extends GenericEntity implements IBPageName {
private static final String TABLE_NAME = "IB_PAGE_NAME";
private static final String PAGE_ID = "IB_PAGE_ID";
private static final String LOCALE_ID = "IC_LOCALE_ID";
private static final String PAGE_NAME = "PAGE_NAME";
public IBPageNameBMPBean() {
super();
}
public IBPageNameBMPBean(int id) throws SQLException {
super(id);
}
/**
* @see com.idega.data.IDOLegacyEntity#getEntityName()
*/
public String getEntityName() {
return TABLE_NAME;
}
/**
* @see com.idega.data.IDOLegacyEntity#initializeAttributes()
*/
public void initializeAttributes() {
addAttribute(getIDColumnName());
addManyToOneRelationship(PAGE_ID, "page id", ICPage.class);
addManyToOneRelationship(LOCALE_ID, "Locale id", ICLocale.class);
addAttribute(PAGE_NAME, "Localized page name", true, true, String.class);
}
public void setPageName(String name) {
setColumn(PAGE_NAME, name);
}
public String getPageName() {
return getStringColumnValue(PAGE_NAME);
}
public int getLocaleId() {
return getIntColumnValue(LOCALE_ID);
}
public void setLocaleId(int id) {
setColumn(LOCALE_ID, id);
}
public void setLocaleId(Integer id) {
setColumn(LOCALE_ID, id);
}
public ICLocale getLocale() {
return (ICLocale) getColumnValue(LOCALE_ID);
}
public void setLocale(ICLocale locale) {
setColumn(LOCALE_ID, locale);
}
public int getPageId() {
return getIntColumnValue(PAGE_ID);
}
public void setPageId(int id) {
setColumn(PAGE_ID, id);
}
public void setPageId(Integer id) {
setColumn(PAGE_ID, id);
}
public ICPage getPage() {
return (ICPage) getColumnValue(PAGE_ID);
}
public void setPage(ICPage page) {
setColumn(PAGE_ID, page);
}
public Collection ejbFindAllByPageIdAndLocaleId(int pageId, int localeId) throws FinderException {
StringBuffer sql = new StringBuffer("select * from ");
sql.append(getTableName());
sql.append(" where ");
sql.append(PAGE_ID);
sql.append(" = ");
sql.append(pageId);
sql.append(" and ");
sql.append(LOCALE_ID);
sql.append(" = ");
sql.append(localeId);
return super.idoFindIDsBySQL(sql.toString());
}
public Integer ejbFindByPageIdAndLocaleId(int pageId, int localeId) throws FinderException {
StringBuffer sql = new StringBuffer("select * from ");
sql.append(getTableName());
sql.append(" where ");
sql.append(PAGE_ID);
sql.append(" = ");
sql.append(pageId);
sql.append(" and ");
sql.append(LOCALE_ID);
sql.append(" = ");
sql.append(localeId);
return (Integer) super.idoFindOnePKBySQL(sql.toString());
}
public Collection ejbFindAll() throws FinderException {
return super.idoFindAllIDsBySQL();
}
}