Index: topia2/src/java/org/codelutin/topia/persistence/TopiaDAOAbstract.java diff -u topia2/src/java/org/codelutin/topia/persistence/TopiaDAOAbstract.java:1.2 topia2/src/java/org/codelutin/topia/persistence/TopiaDAOAbstract.java:1.3 --- topia2/src/java/org/codelutin/topia/persistence/TopiaDAOAbstract.java:1.2 Wed Jan 4 13:21:51 2006 +++ topia2/src/java/org/codelutin/topia/persistence/TopiaDAOAbstract.java Thu Jan 5 04:50:47 2006 @@ -23,9 +23,9 @@ * Created: 31 déc. 2005 13:10:34 * * @author poussin - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ * - * Last update: $Date: 2006/01/04 13:21:51 $ + * Last update: $Date: 2006/01/05 04:50:47 $ * by : $Author: bpoussin $ */ @@ -130,11 +130,11 @@ } public void addTopiaEntityListener(TopiaEntityListener l) { - getContext().getListeners().add(entityClass, l); + getContext().addTopiaEntityListener(entityClass, l); } public void removeTopiaEntityListener(TopiaEntityListener l) { - getContext().getListeners().remove(entityClass, l); + getContext().removeTopiaEntityListener(entityClass, l); } Index: topia2/src/java/org/codelutin/topia/persistence/TopiaEntity.java diff -u topia2/src/java/org/codelutin/topia/persistence/TopiaEntity.java:1.1.1.1 topia2/src/java/org/codelutin/topia/persistence/TopiaEntity.java:1.2 --- topia2/src/java/org/codelutin/topia/persistence/TopiaEntity.java:1.1.1.1 Mon Jan 2 13:54:35 2006 +++ topia2/src/java/org/codelutin/topia/persistence/TopiaEntity.java Thu Jan 5 04:50:47 2006 @@ -23,9 +23,9 @@ * Created: 28 déc. 2005 22:48:10 * * @author poussin - * @version $Revision: 1.1.1.1 $ + * @version $Revision: 1.2 $ * - * Last update: $Date: 2006/01/02 13:54:35 $ + * Last update: $Date: 2006/01/05 04:50:47 $ * by : $Author: bpoussin $ */ @@ -33,6 +33,9 @@ import java.util.Date; +import org.codelutin.topia.TopiaContext; +import org.codelutin.topia.TopiaException; + /** * Toutes les methodes set ne doivent être utilisé que par le framework. Elle * sont publique car on ne peut pas faire autrement sur une interface. @@ -40,11 +43,12 @@ * @author poussin */ public interface TopiaEntity { + public String getTopiaId(); public void setTopiaId(String v); public long getTopiaVersion(); public void setTopiaVersion(long v); - + /** * @return Returns the topiaCreateTime. */ @@ -55,7 +59,11 @@ */ public void setTopiaCreateDate(Date topiaCreatedate); + public TopiaContext getTopiaContext(); + + public void update() throws TopiaException; + public void delete() throws TopiaException; + } - Index: topia2/src/java/org/codelutin/topia/persistence/TopiaEntityAbstract.java diff -u topia2/src/java/org/codelutin/topia/persistence/TopiaEntityAbstract.java:1.1.1.1 topia2/src/java/org/codelutin/topia/persistence/TopiaEntityAbstract.java:1.2 --- topia2/src/java/org/codelutin/topia/persistence/TopiaEntityAbstract.java:1.1.1.1 Mon Jan 2 13:54:35 2006 +++ topia2/src/java/org/codelutin/topia/persistence/TopiaEntityAbstract.java Thu Jan 5 04:50:47 2006 @@ -23,32 +23,36 @@ * * @author poussin * - * @version $Revision: 1.1.1.1 $ + * @version $Revision: 1.2 $ * - * Last update: $Date: 2006/01/02 13:54:35 $ by : $Author: bpoussin $ + * Last update: $Date: 2006/01/05 04:50:47 $ by : $Author: bpoussin $ */ package org.codelutin.topia.persistence; import java.util.Date; +import org.codelutin.topia.TopiaContext; +import org.codelutin.topia.TopiaException; + /** - * Classe de base de toutes les entités, cela permet de concentrer le code - * technique dans cette classe. L'identifiant peut-etre n'importe quoi - * Aucune restriction n'est faite dessus, il peut meme changer entre - * deux types d'entité si cela ne pose pas d'autre probleme (heritage entre - * ces entités). + * Classe de base de toutes les entités, cela permet de concentrer le code + * technique dans cette classe. L'identifiant peut-etre n'importe quoi Aucune + * restriction n'est faite dessus, il peut meme changer entre deux types + * d'entité si cela ne pose pas d'autre probleme (heritage entre ces entités). * * @author poussin */ -public class TopiaEntityAbstract implements TopiaEntity { +public abstract class TopiaEntityAbstract implements TopiaEntity { protected String topiaId; protected long topiaVersion; - + protected Date topiaCreateDate = new Date(); + transient protected TopiaContext topiaContext = null; + /** * (non-Javadoc) * @@ -83,40 +87,75 @@ */ public void setTopiaVersion(long v) { this.topiaVersion = v; - } - - + } + /** - * (non-Javadoc) + * (non-Javadoc) + * * @see org.codelutin.topia.persistence.TopiaEntity#getTopiaCreateTime() */ public Date getTopiaCreateDate() { - return topiaCreateDate; + return topiaCreateDate; } /** - * (non-Javadoc) + * (non-Javadoc) + * * @see org.codelutin.topia.persistence.TopiaEntity#setTopiaCreateTime(java.util.Date) */ public void setTopiaCreateDate(Date topiaCreateDate) { - this.topiaCreateDate = topiaCreateDate; + this.topiaCreateDate = topiaCreateDate; + } + + /** + * (non-Javadoc) + * + * @see org.codelutin.topia.persistence.TopiaEntity#getTopiaContext() + */ + public TopiaContext getTopiaContext() { + return topiaContext; } - + /** - * On utilise la date de creation comme hash code, cette date ne varie - * pas au cours du temps + * @param context The context to set. + */ + public void setTopiaContext(TopiaContext context) { + this.topiaContext = context; + } + + /* + * (non-Javadoc) + * + * @see org.codelutin.topia.persistence.TopiaEntity#update() + */ + public void update() throws TopiaException { + throw new UnsupportedOperationException(); + } + + /* + * (non-Javadoc) + * + * @see org.codelutin.topia.persistence.TopiaEntity#delete() + */ + public void delete() throws TopiaException { + throw new UnsupportedOperationException(); + } + + /** + * On utilise la date de creation comme hash code, cette date ne varie pas + * au cours du temps */ @Override public int hashCode() { int result = getTopiaCreateDate().hashCode(); return result; } - + /** * On est sur que les objets sont bien les memes car s'il n'ont pas d'id - * cela veut dire qu'il ne vienne pas de la meme session donc qu'il sont + * cela veut dire qu'il ne vienne pas de la meme session donc qu'il sont * nouveau et different, ou bien qu'ils viennent de la meme session et dans - * ce cas l'egalite == fonctionne. + * ce cas l'egalite == fonctionne. */ @Override public boolean equals(Object obj) { @@ -126,7 +165,7 @@ if (obj instanceof TopiaEntity == false) { return false; } - TopiaEntity other = (TopiaEntity)obj; + TopiaEntity other = (TopiaEntity) obj; if (getTopiaId() == null || other.getTopiaId() == null) { return false; }