/* * Created on 13.6.2003 * * To change the template for this generated file go to * Window>Preferences>Java>Code Generation>Code and Comments */ package com.idega.data; import java.io.InputStream; import java.sql.Timestamp; import javax.ejb.FinderException; import com.idega.core.localisation.data.ICLocale; /** * Title: IDOTranslationEntity * Description: * Copyright: Copyright (c) 2003 * Company: idega Software * @author 2003 - idega team - <br><a href="mailto:gummi@idega.is">Gudmundur Agust Saemundsson</a><br> * @version 1.0 */ public abstract class IDOTranslationEntityBMPBean extends GenericEntity implements IDOTranslationEntity { public final static String COLUMNNAME_TRANSLATED_ENTITY_ID = IDOTranslationEntity.UFN_TRANSLATED_ENTITY_ID; public final static String COLUMNNAME_LOCALE = IDOTranslationEntity.UFN_LOCALE; /** * */ public IDOTranslationEntityBMPBean() { super(); } protected void beforeInitializeAttributes(){ //TMP - COLUMNNAME_TRANSLATED_ENTITY_ID and COLUMNNAME_LOCALE should be the primarykey addAttribute(getIDColumnName()); addManyToOneRelationship(COLUMNNAME_TRANSLATED_ENTITY_ID, "Translated entity id", getTranslatedEntityClass()); setNullable(COLUMNNAME_TRANSLATED_ENTITY_ID,false); addManyToOneRelationship(COLUMNNAME_LOCALE, "Locale id", ICLocale.class); } protected abstract Class getTranslatedEntityClass(); public String getEntityName(){ try { return IDOLookup.getEntityDefinitionForClass(getTranslatedEntityClass()).getSQLTableName()+"_TR"; } catch (IDOLookupException e) { System.err.println(this.getClass().getName()+"[Error in IDOTranslationEntityBMPBean#getEntityName()]: could not find the entity name because of an IDOLookupException!!!!!"); return null; } } protected Object idoFindTranslation(Object entityToTranslate, ICLocale locale) throws FinderException{ IDOQuery query = idoQueryGetSelect(); query.appendWhereEquals(COLUMNNAME_TRANSLATED_ENTITY_ID,entityToTranslate); query.appendAndEquals(COLUMNNAME_LOCALE,locale); return idoFindOnePKByQuery(query); } public void setPrimaryKey(IDOEntity translatedEntity, ICLocale locale){ setColumn(COLUMNNAME_TRANSLATED_ENTITY_ID,translatedEntity); setColumn(COLUMNNAME_LOCALE,locale); } public void setTransletedEntity(IDOEntity translatedEntity){ setColumn(COLUMNNAME_TRANSLATED_ENTITY_ID,translatedEntity); } public void setLocale(ICLocale locale){ setColumn(COLUMNNAME_LOCALE,locale); } public Object ejbFindTranslation(IDOEntity translatedEntity, ICLocale locale) throws FinderException{ return idoFindTranslation(translatedEntity,locale); } //Setter public void setColumn(IDOEntityField field, Object value){ this.setColumn(field.getSQLFieldName(), value); } public void setColumn(IDOEntityField field, Boolean value){ this.setColumn(field.getSQLFieldName(), value); } public void setColumn(IDOEntityField field, boolean value){ this.setColumn(field.getSQLFieldName(), value); } public void setColumn(IDOEntityField field, char value){ this.setColumn(field.getSQLFieldName(), value); } public void setColumn(IDOEntityField field, Double value){ this.setColumn(field.getSQLFieldName(), value); } public void setColumn(IDOEntityField field, double value){ this.setColumn(field.getSQLFieldName(), value); } public void setColumn(IDOEntityField field, Float value){ this.setColumn(field.getSQLFieldName(), value); } public void setColumn(IDOEntityField field, float value){ this.setColumn(field.getSQLFieldName(), value); } public void setColumn(IDOEntityField field, InputStream value){ this.setColumn(field.getSQLFieldName(), value); } public void setColumn(IDOEntityField field, Integer value){ this.setColumn(field.getSQLFieldName(), value); } public void setColumn(IDOEntityField field, int value){ this.setColumn(field.getSQLFieldName(), value); } //Getters begin public Object getColumnValue(IDOEntityField field){ return getColumnValue(field.getSQLFieldName()); } public String getStringColumnValue(IDOEntityField field){ return getStringColumnValue(field.getSQLFieldName()); } public int getIntColumnValue(IDOEntityField field){ return getIntColumnValue(field.getSQLFieldName()); } public boolean getBooleanColumnValue(IDOEntityField field){ return getBooleanColumnValue(field.getSQLFieldName()); } public Timestamp getTimestampColumnValue(IDOEntityField field){ return getTimestampColumnValue(field.getSQLFieldName()); } //Getters end }