X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fnet%2Fpterodactylus%2Futil%2Fbeans%2FAbstractBean.java;h=b2da7324962fc4837db538da71205d703fdc0a44;hb=e1e349bae97feb779fc692eb03c2fea0e0e612c9;hp=53fe69091e41a2d1ebd79945a1f0acf6d253f9a0;hpb=fffb06b094d47ecb7d0282fade99e2d2f109fcbf;p=jSite2.git
diff --git a/src/net/pterodactylus/util/beans/AbstractBean.java b/src/net/pterodactylus/util/beans/AbstractBean.java
index 53fe690..b2da732 100644
--- a/src/net/pterodactylus/util/beans/AbstractBean.java
+++ b/src/net/pterodactylus/util/beans/AbstractBean.java
@@ -29,7 +29,6 @@ import java.util.List;
* Abstract bean super class that contains property change listener management.
*
* @author David âBombeâ Roden <bombe@freenetproject.org>
- * @version $Id$
*/
public abstract class AbstractBean {
@@ -75,6 +74,26 @@ public abstract class AbstractBean {
}
/**
+ * Fires a property change event if the two values are not equal.
+ *
+ * @param propertyName
+ * The name of the property
+ * @param oldValue
+ * The old value of the property
+ * @param newValue
+ * The new value of the property
+ */
+ protected void fireIfPropertyChanged(String propertyName, Object oldValue, Object newValue) {
+ if (!equal(oldValue, newValue)) {
+ firePropertyChange(propertyName, oldValue, newValue);
+ }
+ }
+
+ //
+ // PRIVATE METHODS
+ //
+
+ /**
* Compares the two objects and returns whether they are equal according to
* {@link Object#equals(Object)}. This method takes null
* into account as a valid value for an object.
@@ -86,7 +105,7 @@ public abstract class AbstractBean {
* @return true
if the two objects are equal,
* false
otherwise
*/
- protected boolean equal(Object first, Object second) {
+ private boolean equal(Object first, Object second) {
return ((first == null) && (second == null)) || ((first != null) && first.equals(second)) || ((second != null) && second.equals(first));
}