Package org.nuiton.topia.persistence
Class TopiaEntityAbstract
java.lang.Object
org.nuiton.topia.persistence.TopiaEntityAbstract
- All Implemented Interfaces:
java.io.Serializable,TopiaEntity
public abstract class TopiaEntityAbstract extends java.lang.Object implements TopiaEntity
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).
- Version:
- $Id$
- Author:
- poussin <poussin@codelutin.com>
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description protected java.beans.PropertyChangeSupportreadListenersprotected java.beans.VetoableChangeSupportreadVetoablesprotected TopiaContexttopiaContextprotected java.util.DatetopiaCreateDateprotected java.lang.StringtopiaIdprotected longtopiaVersionprotected java.beans.PropertyChangeSupportwriteListenersprotected java.beans.VetoableChangeSupportwriteVetoablesFields inherited from interface org.nuiton.topia.persistence.TopiaEntity
AGGREGATE, COMPOSITE, TOPIA_CREATE_DATE, TOPIA_ID, TOPIA_VERSION -
Constructor Summary
Constructors Constructor Description TopiaEntityAbstract() -
Method Summary
Modifier and Type Method Description voidaddPropertyChangeListener(java.beans.PropertyChangeListener listener)Add listener for property writing.voidaddPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)Add listener for property writing.voidaddPropertyListener(java.beans.PropertyChangeListener listener)Add listener for property reading.voidaddPropertyListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)Add listener for property reading.voidaddVetoableChangeListener(java.beans.VetoableChangeListener vetoable)voidaddVetoableChangeListener(java.lang.String propertyName, java.beans.VetoableChangeListener vetoable)voidaddVetoableListener(java.beans.VetoableChangeListener vetoable)voidaddVetoableListener(java.lang.String propertyName, java.beans.VetoableChangeListener vetoable)booleanequals(java.lang.Object obj)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 nouveau et different, ou bien qu'ils viennent de la meme session et dans ce cas l'egalite == fonctionne.protected voidfireOnPostRead(java.lang.String propertyName, int index, java.lang.Object value)protected voidfireOnPostRead(java.lang.String propertyName, java.lang.Object value)protected voidfireOnPostWrite(java.lang.String propertyName, int index, java.lang.Object oldValue, java.lang.Object newValue)protected voidfireOnPostWrite(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)protected voidfireOnPreRead(java.lang.String propertyName, java.lang.Object value)protected voidfireOnPreWrite(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)java.util.List<TopiaEntity>getAggregate()java.util.List<TopiaEntity>getComposite()protected java.beans.PropertyChangeSupportgetReadPropertyChangeSupport()InitializereadListenersat first use or after deserialisation.protected java.beans.VetoableChangeSupportgetReadVetoableChangeSupport()InitializereadVetoablesat first use or after deserialisation.TopiaContextgetTopiaContext()java.util.DategetTopiaCreateDate()Technical date creation of the entity.java.lang.StringgetTopiaId()Unique technical Id of the entity.longgetTopiaVersion()Technical property to keep versionning of the entity.protected java.beans.PropertyChangeSupportgetWritePropertyChangeSupport()InitializewriteListenersat first use or after deserialisation.protected java.beans.VetoableChangeSupportgetWriteVetoableChangeSupport()InitializewriteVetoablesat first use or after deserialisation.inthashCode()On utilise la date de creation comme hash code, cette date ne varie pas au cours du tempsvoidremovePropertyChangeListener(java.beans.PropertyChangeListener listener)voidremovePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)voidremovePropertyListener(java.beans.PropertyChangeListener listener)voidremovePropertyListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)voidremoveVetoableChangeListener(java.beans.VetoableChangeListener vetoable)voidremoveVetoableChangeListener(java.lang.String propertyName, java.beans.VetoableChangeListener vetoable)voidremoveVetoableListener(java.beans.VetoableChangeListener vetoable)voidremoveVetoableListener(java.lang.String propertyName, java.beans.VetoableChangeListener vetoable)voidsetTopiaContext(TopiaContext context)voidsetTopiaCreateDate(java.util.Date topiaCreateDate)Set the technical creationdateof the entity.voidsetTopiaId(java.lang.String v)Set the technicalidof the entity.voidsetTopiaVersion(long v)Set the technicalversionof the entity.
-
Field Details
-
topiaId
protected java.lang.String topiaId -
topiaVersion
protected long topiaVersion -
topiaCreateDate
protected java.util.Date topiaCreateDate -
topiaContext
-
readVetoables
protected transient java.beans.VetoableChangeSupport readVetoables -
readListeners
protected transient java.beans.PropertyChangeSupport readListeners -
writeVetoables
protected transient java.beans.VetoableChangeSupport writeVetoables -
writeListeners
protected transient java.beans.PropertyChangeSupport writeListeners
-
-
Constructor Details
-
TopiaEntityAbstract
public TopiaEntityAbstract()
-
-
Method Details
-
getReadVetoableChangeSupport
protected java.beans.VetoableChangeSupport getReadVetoableChangeSupport()InitializereadVetoablesat first use or after deserialisation.- Returns:
- readVetoables
-
getReadPropertyChangeSupport
protected java.beans.PropertyChangeSupport getReadPropertyChangeSupport()InitializereadListenersat first use or after deserialisation.- Returns:
- readListeners
-
getWriteVetoableChangeSupport
protected java.beans.VetoableChangeSupport getWriteVetoableChangeSupport()InitializewriteVetoablesat first use or after deserialisation.- Returns:
- writeVetoables
-
getWritePropertyChangeSupport
protected java.beans.PropertyChangeSupport getWritePropertyChangeSupport()InitializewriteListenersat first use or after deserialisation.- Returns:
- writeListeners
-
getTopiaId
public java.lang.String getTopiaId()Description copied from interface:TopiaEntityUnique technical Id of the entity. This id contains the full qualified name of the entity interface. This id has also an index and his used to identify uniquely the entity in the database.- Specified by:
getTopiaIdin interfaceTopiaEntity- Returns:
- the technical Id of the entity
-
setTopiaId
public void setTopiaId(java.lang.String v)Description copied from interface:TopiaEntitySet the technicalidof the entity. Careful, use this method only for copy. The technical id is generated by ToPIA when entity is created usingTopiaDAO.create(Object...).- Specified by:
setTopiaIdin interfaceTopiaEntity- Parameters:
v- technical id to set
-
getTopiaVersion
public long getTopiaVersion()Description copied from interface:TopiaEntityTechnical property to keep versionning of the entity. The version is incremented on each change of the entity.- Specified by:
getTopiaVersionin interfaceTopiaEntity- Returns:
- the current version of the entity
-
setTopiaVersion
public void setTopiaVersion(long v)Description copied from interface:TopiaEntitySet the technicalversionof the entity. Careful, use this method only for copy. The version is automatically incremented on entity changes.- Specified by:
setTopiaVersionin interfaceTopiaEntity- Parameters:
v- technical version to set
-
getTopiaCreateDate
public java.util.Date getTopiaCreateDate()Description copied from interface:TopiaEntityTechnical date creation of the entity. This date doesn't change through time and was initialized on entity creation when usingTopiaDAO.create(Object...).- Specified by:
getTopiaCreateDatein interfaceTopiaEntity- Returns:
- the creation date of the entity
-
setTopiaCreateDate
public void setTopiaCreateDate(java.util.Date topiaCreateDate)Description copied from interface:TopiaEntitySet the technical creationdateof the entity. Careful, use this method only for copy. This date is immutable and was created on entity creation.- Specified by:
setTopiaCreateDatein interfaceTopiaEntity- Parameters:
topiaCreateDate- technical create date to set
-
getTopiaContext
-
setTopiaContext
- Parameters:
context- The context to set.- Throws:
TopiaException- if any pb ?
-
getComposite
- Specified by:
getCompositein interfaceTopiaEntity- Returns:
- all object that must be deleted if this object is deleted
- Throws:
TopiaException- if any pb
-
getAggregate
- Specified by:
getAggregatein interfaceTopiaEntity- Returns:
- all object that are aggregate with this instance, aggreate object are not removed automaticaly
- Throws:
TopiaException- if any pb
-
hashCode
public int hashCode()On utilise la date de creation comme hash code, cette date ne varie pas au cours du temps- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)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 nouveau et different, ou bien qu'ils viennent de la meme session et dans ce cas l'egalite == fonctionne.- Overrides:
equalsin classjava.lang.Object
-
fireOnPreRead
protected void fireOnPreRead(java.lang.String propertyName, java.lang.Object value) -
fireOnPostRead
protected void fireOnPostRead(java.lang.String propertyName, java.lang.Object value) -
fireOnPostRead
protected void fireOnPostRead(java.lang.String propertyName, int index, java.lang.Object value) -
fireOnPreWrite
protected void fireOnPreWrite(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue) -
fireOnPostWrite
protected void fireOnPostWrite(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue) -
fireOnPostWrite
protected void fireOnPostWrite(java.lang.String propertyName, int index, java.lang.Object oldValue, java.lang.Object newValue) -
addPropertyChangeListener
public void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)Description copied from interface:TopiaEntityAdd listener for property writing.- Specified by:
addPropertyChangeListenerin interfaceTopiaEntity- Parameters:
propertyName- name of property to listenlistener- the listener to register
-
addPropertyChangeListener
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)Description copied from interface:TopiaEntityAdd listener for property writing.- Specified by:
addPropertyChangeListenerin interfaceTopiaEntity- Parameters:
listener- the listener to register
-
addVetoableChangeListener
public void addVetoableChangeListener(java.lang.String propertyName, java.beans.VetoableChangeListener vetoable)- Specified by:
addVetoableChangeListenerin interfaceTopiaEntity
-
addVetoableChangeListener
public void addVetoableChangeListener(java.beans.VetoableChangeListener vetoable)- Specified by:
addVetoableChangeListenerin interfaceTopiaEntity
-
removePropertyChangeListener
public void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)- Specified by:
removePropertyChangeListenerin interfaceTopiaEntity
-
removePropertyChangeListener
public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)- Specified by:
removePropertyChangeListenerin interfaceTopiaEntity
-
removeVetoableChangeListener
public void removeVetoableChangeListener(java.lang.String propertyName, java.beans.VetoableChangeListener vetoable)- Specified by:
removeVetoableChangeListenerin interfaceTopiaEntity
-
removeVetoableChangeListener
public void removeVetoableChangeListener(java.beans.VetoableChangeListener vetoable)- Specified by:
removeVetoableChangeListenerin interfaceTopiaEntity
-
addPropertyListener
public void addPropertyListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)Description copied from interface:TopiaEntityAdd listener for property reading.- Specified by:
addPropertyListenerin interfaceTopiaEntity- Parameters:
propertyName- the property name to listenlistener- the listener to register
-
addPropertyListener
public void addPropertyListener(java.beans.PropertyChangeListener listener)Description copied from interface:TopiaEntityAdd listener for property reading.- Specified by:
addPropertyListenerin interfaceTopiaEntity- Parameters:
listener- the listener to register
-
addVetoableListener
public void addVetoableListener(java.lang.String propertyName, java.beans.VetoableChangeListener vetoable)- Specified by:
addVetoableListenerin interfaceTopiaEntity
-
addVetoableListener
public void addVetoableListener(java.beans.VetoableChangeListener vetoable)- Specified by:
addVetoableListenerin interfaceTopiaEntity
-
removePropertyListener
public void removePropertyListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)- Specified by:
removePropertyListenerin interfaceTopiaEntity
-
removePropertyListener
public void removePropertyListener(java.beans.PropertyChangeListener listener)- Specified by:
removePropertyListenerin interfaceTopiaEntity
-
removeVetoableListener
public void removeVetoableListener(java.lang.String propertyName, java.beans.VetoableChangeListener vetoable)- Specified by:
removeVetoableListenerin interfaceTopiaEntity
-
removeVetoableListener
public void removeVetoableListener(java.beans.VetoableChangeListener vetoable)- Specified by:
removeVetoableListenerin interfaceTopiaEntity
-