r1986 - trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence
Author: echatellier Date: 2010-06-01 17:16:53 +0200 (Tue, 01 Jun 2010) New Revision: 1986 Url: http://nuiton.org/repositories/revision/topia/1986 Log: Add initialisation getters for transient objects Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityAbstract.java Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityAbstract.java =================================================================== --- trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityAbstract.java 2010-05-31 15:54:09 UTC (rev 1985) +++ trunk/topia-persistence/src/main/java/org/nuiton/topia/persistence/TopiaEntityAbstract.java 2010-06-01 15:16:53 UTC (rev 1986) @@ -61,6 +61,9 @@ */ public abstract class TopiaEntityAbstract implements TopiaEntity { + /** serialVersionUID. */ + private static final long serialVersionUID = -7458577454878852241L; + /** to use log facility, just put in your code: log.info(\"...\"); */ static private Log log = LogFactory.getLog(TopiaEntityAbstract.class); @@ -72,18 +75,62 @@ transient protected TopiaContext topiaContext; - transient protected VetoableChangeSupport readVetoables = - new VetoableChangeSupport(this); + transient protected VetoableChangeSupport readVetoables; - transient protected PropertyChangeSupport readListeners = - new PropertyChangeSupport(this); + transient protected PropertyChangeSupport readListeners; - transient protected VetoableChangeSupport writeVetoables = - new VetoableChangeSupport(this); + transient protected VetoableChangeSupport writeVetoables; - transient protected PropertyChangeSupport writeListeners = - new PropertyChangeSupport(this); + transient protected PropertyChangeSupport writeListeners; + /** + * Initialize {@link #readVetoables} at first use or after deserialisation. + * + * @return readVetoables + */ + protected VetoableChangeSupport getReadVetoableChangeSupport() { + if (readVetoables == null) { + readVetoables = new VetoableChangeSupport(this); + } + return readVetoables; + } + + /** + * Initialize {@link #readListeners} at first use or after deserialisation. + * + * @return readListeners + */ + protected PropertyChangeSupport getReadPropertyChangeSupport() { + if (readListeners == null) { + readListeners = new PropertyChangeSupport(this); + } + return readListeners; + } + + /** + * Initialize {@link #writeVetoables} at first use or after deserialisation. + * + * @return writeVetoables + */ + protected VetoableChangeSupport getWriteVetoableChangeSupport() { + if (writeVetoables == null) { + writeVetoables = new VetoableChangeSupport(this); + } + return writeVetoables; + } + + /** + * Initialize {@link #writeListeners} at first use or after deserialisation. + * + * @return writeListeners + */ + protected PropertyChangeSupport getWritePropertyChangeSupport() { + if (writeListeners == null) { + writeListeners = new PropertyChangeSupport(this); + } + return writeListeners; + } + @Override public String getTopiaId() { return topiaId; @@ -196,7 +243,7 @@ TopiaContextImplementor contextImplementor = (TopiaContextImplementor) getTopiaContext(); if (contextImplementor != null) { - contextImplementor.getFiresSupport().fireOnPreRead(readVetoables, + contextImplementor.getFiresSupport().fireOnPreRead(getReadVetoableChangeSupport(), this, propertyName, value); } } @@ -205,7 +252,7 @@ TopiaContextImplementor contextImplementor = (TopiaContextImplementor) getTopiaContext(); if (contextImplementor != null) { - contextImplementor.getFiresSupport().fireOnPostRead(readListeners, + contextImplementor.getFiresSupport().fireOnPostRead(getReadPropertyChangeSupport(), this, propertyName, value); } } @@ -215,7 +262,7 @@ TopiaContextImplementor contextImplementor = (TopiaContextImplementor) getTopiaContext(); if (contextImplementor != null) { - contextImplementor.getFiresSupport().fireOnPostRead(readListeners, + contextImplementor.getFiresSupport().fireOnPostRead(getReadPropertyChangeSupport(), this, propertyName, index, value); } } @@ -225,7 +272,7 @@ TopiaContextImplementor contextImplementor = (TopiaContextImplementor) getTopiaContext(); if (contextImplementor != null) { - contextImplementor.getFiresSupport().fireOnPreWrite(writeVetoables, + contextImplementor.getFiresSupport().fireOnPreWrite(getWriteVetoableChangeSupport(), this, propertyName, oldValue, newValue); } } @@ -236,7 +283,7 @@ (TopiaContextImplementor) getTopiaContext(); if (contextImplementor != null) { contextImplementor.getFiresSupport().fireOnPostWrite( - writeListeners, this, propertyName, oldValue, newValue); + getWritePropertyChangeSupport(), this, propertyName, oldValue, newValue); } } @@ -246,7 +293,7 @@ (TopiaContextImplementor) getTopiaContext(); if (contextImplementor != null) { contextImplementor.getFiresSupport().fireOnPostWrite( - writeListeners, this, propertyName, index, oldValue, + getWritePropertyChangeSupport(), this, propertyName, index, oldValue, newValue); } } @@ -254,89 +301,89 @@ @Override public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) { - writeListeners.addPropertyChangeListener(propertyName, listener); + getWritePropertyChangeSupport().addPropertyChangeListener(propertyName, listener); } @Override public void addPropertyChangeListener(PropertyChangeListener listener) { - writeListeners.addPropertyChangeListener(listener); + getWritePropertyChangeSupport().addPropertyChangeListener(listener); } @Override public void addVetoableChangeListener(String propertyName, VetoableChangeListener vetoable) { - writeVetoables.addVetoableChangeListener(propertyName, vetoable); + getWriteVetoableChangeSupport().addVetoableChangeListener(propertyName, vetoable); } @Override public void addVetoableChangeListener(VetoableChangeListener vetoable) { - writeVetoables.addVetoableChangeListener(vetoable); + getWriteVetoableChangeSupport().addVetoableChangeListener(vetoable); } @Override public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) { - writeListeners.removePropertyChangeListener(propertyName, listener); + getWritePropertyChangeSupport().removePropertyChangeListener(propertyName, listener); } @Override public void removePropertyChangeListener(PropertyChangeListener listener) { - writeListeners.removePropertyChangeListener(listener); + getWritePropertyChangeSupport().removePropertyChangeListener(listener); } @Override public void removeVetoableChangeListener(String propertyName, VetoableChangeListener vetoable) { - writeVetoables.removeVetoableChangeListener(propertyName, vetoable); + getWriteVetoableChangeSupport().removeVetoableChangeListener(propertyName, vetoable); } @Override public void removeVetoableChangeListener(VetoableChangeListener vetoable) { - writeVetoables.removeVetoableChangeListener(vetoable); + getWriteVetoableChangeSupport().removeVetoableChangeListener(vetoable); } @Override public void addPropertyListener(String propertyName, PropertyChangeListener listener) { - readListeners.addPropertyChangeListener(propertyName, listener); + getReadPropertyChangeSupport().addPropertyChangeListener(propertyName, listener); } @Override public void addPropertyListener(PropertyChangeListener listener) { - readListeners.addPropertyChangeListener(listener); + getReadPropertyChangeSupport().addPropertyChangeListener(listener); } @Override public void addVetoableListener(String propertyName, VetoableChangeListener vetoable) { - readVetoables.addVetoableChangeListener(propertyName, vetoable); + getReadVetoableChangeSupport().addVetoableChangeListener(propertyName, vetoable); } @Override public void addVetoableListener(VetoableChangeListener vetoable) { - readVetoables.addVetoableChangeListener(vetoable); + getReadVetoableChangeSupport().addVetoableChangeListener(vetoable); } @Override public void removePropertyListener(String propertyName, PropertyChangeListener listener) { - readListeners.removePropertyChangeListener(propertyName, listener); + getReadPropertyChangeSupport().removePropertyChangeListener(propertyName, listener); } @Override public void removePropertyListener(PropertyChangeListener listener) { - readListeners.removePropertyChangeListener(listener); + getReadPropertyChangeSupport().removePropertyChangeListener(listener); } @Override public void removeVetoableListener(String propertyName, VetoableChangeListener vetoable) { - readVetoables.removeVetoableChangeListener(propertyName, vetoable); + getReadVetoableChangeSupport().removeVetoableChangeListener(propertyName, vetoable); } @Override public void removeVetoableListener(VetoableChangeListener vetoable) { - readVetoables.removeVetoableChangeListener(vetoable); + getReadVetoableChangeSupport().removeVetoableChangeListener(vetoable); } } //TopiaEntityAbstract
participants (1)
-
echatellier@users.nuiton.org