X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fcore%2FNode.java;h=b632eea859ef3e6ceaee76f1d75ccde567dfbe28;hb=164c7174571672ca255b918a56c8db9336e31d19;hp=943599540f43a481bf25b52496d4176c68ab7bcc;hpb=fffb06b094d47ecb7d0282fade99e2d2f109fcbf;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/core/Node.java b/src/net/pterodactylus/jsite/core/Node.java index 9435995..b632eea 100644 --- a/src/net/pterodactylus/jsite/core/Node.java +++ b/src/net/pterodactylus/jsite/core/Node.java @@ -21,14 +21,15 @@ package net.pterodactylus.jsite.core; import java.beans.PropertyChangeListener; +import net.pterodactylus.jsite.util.IdGenerator; import net.pterodactylus.util.beans.AbstractBean; +import net.pterodactylus.util.number.Hex; /** * 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 extends AbstractBean { @@ -41,6 +42,9 @@ public class Node extends AbstractBean { /** Name of the “port” property. */ public static final String PROPERTY_PORT = "port"; + /** Internal ID. */ + private String id; + /** The name of the node. */ private String name; @@ -50,9 +54,31 @@ public class Node extends AbstractBean { /** The port number of the node. */ private int port; - // - // EVENT MANAGEMENT - // + /** + * Creates a new node. + */ + public Node() { + id = Hex.toHex(IdGenerator.generateId()); + } + + /** + * Returns the internal ID of the node. + * + * @return The internal ID of the node + */ + String getId() { + return id; + } + + /** + * Sets the internal ID of the node. + * + * @param id + * The internal ID of the node + */ + void setId(String id) { + this.id = id; + } /** * Returns the user-given name of the node. @@ -72,9 +98,7 @@ public class Node extends AbstractBean { public void setName(String name) { String oldName = this.name; this.name = name; - if (!equal(oldName, name)) { - firePropertyChange(PROPERTY_NAME, oldName, name); - } + fireIfPropertyChanged(PROPERTY_NAME, oldName, name); } /** @@ -95,9 +119,7 @@ public class Node extends AbstractBean { public void setHostname(String hostname) { String oldHostname = this.hostname; this.hostname = hostname; - if (!equal(oldHostname, hostname)) { - firePropertyChange(PROPERTY_HOSTNAME, oldHostname, hostname); - } + fireIfPropertyChanged(PROPERTY_HOSTNAME, oldHostname, hostname); } /** @@ -118,9 +140,7 @@ public class Node extends AbstractBean { 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); } /** @@ -128,7 +148,7 @@ public class Node extends AbstractBean { */ @Override public String toString() { - return name + " (" + hostname + ((port == 9481) ? ("") : (":" + port)) + ")"; + return getClass().getName() + "[name=" + name + ",hostname=" + hostname + ",port=" + port + "]"; } }