X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fcore%2FNode.java;h=183a9165584d4e70f46d698c06df35ed66fa56a5;hb=cf127faffabd3f07b0acc6de9ea746059d571b56;hp=2058d99850b5d80966188c410fcae1165c3520a1;hpb=d25f54965e42ad0ab1aedd1fdc3243c41731f718;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/core/Node.java b/src/net/pterodactylus/jsite/core/Node.java index 2058d99..183a916 100644 --- a/src/net/pterodactylus/jsite/core/Node.java +++ b/src/net/pterodactylus/jsite/core/Node.java @@ -19,25 +19,17 @@ package net.pterodactylus.jsite.core; -import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import net.pterodactylus.util.beans.Comparer; +import net.pterodactylus.util.beans.AbstractBean; /** * Container for a Freenet node. A Node is capable of notifying * {@link PropertyChangeListener}s if any of the contained properties change. * * @author David ‘Bombe’ Roden <bombe@freenetproject.org> - * @version $Id$ */ -public class Node { - - /** Property change listeners. */ - private final List propertyChangeListeners = Collections.synchronizedList(new ArrayList()); +public class Node extends AbstractBean { /** Name of the “name” property. */ public static final String PROPERTY_NAME = "name"; @@ -62,48 +54,6 @@ public class Node { // /** - * Adds a property change listener. - * - * @param propertyChangeListener - * The property change listener to add - */ - public void addPropertyChangeListener(PropertyChangeListener propertyChangeListener) { - propertyChangeListeners.add(propertyChangeListener); - } - - /** - * Removes a property change listener. - * - * @param propertyChangeListener - * The property change listener to remove - */ - public void removePropertyChangeListener(PropertyChangeListener propertyChangeListener) { - propertyChangeListeners.remove(propertyChangeListener); - } - - /** - * Notifies all listeners that a property has changed. - * - * @param property - * The name of the property - * @param oldValue - * The old value of the property - * @param newValue - * The new value of the property - */ - private void firePropertyChange(String property, Object oldValue, Object newValue) { - PropertyChangeEvent propertyChangeEvent = new PropertyChangeEvent(this, property, oldValue, newValue); - for (PropertyChangeListener propertyChangeListener: propertyChangeListeners) { - propertyChangeListener.propertyChange(propertyChangeEvent); - } - - } - - // - // ACCESSORS - // - - /** * Returns the user-given name of the node. * * @return The name of the node @@ -121,9 +71,7 @@ public class Node { public void setName(String name) { String oldName = this.name; this.name = name; - if (!Comparer.equal(oldName, name)) { - firePropertyChange(PROPERTY_NAME, oldName, name); - } + fireIfPropertyChanged(PROPERTY_NAME, oldName, name); } /** @@ -144,9 +92,7 @@ public class Node { public void setHostname(String hostname) { String oldHostname = this.hostname; this.hostname = hostname; - if (!Comparer.equal(oldHostname, hostname)) { - firePropertyChange(PROPERTY_HOSTNAME, oldHostname, hostname); - } + fireIfPropertyChanged(PROPERTY_HOSTNAME, oldHostname, hostname); } /** @@ -167,9 +113,7 @@ public class Node { public void setPort(int port) { int oldPort = this.port; this.port = port; - if (oldPort != port) { - firePropertyChange(PROPERTY_PORT, oldPort, port); - } + fireIfPropertyChanged(PROPERTY_PORT, oldPort, port); } /**