X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fcore%2FNode.java;h=3d35b4727189f31fd7ed94e06423880ea5725fba;hb=c63257e8cc0ba1a5aca9364b22171abe7279d479;hp=183a9165584d4e70f46d698c06df35ed66fa56a5;hpb=cf127faffabd3f07b0acc6de9ea746059d571b56;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/core/Node.java b/src/net/pterodactylus/jsite/core/Node.java index 183a916..3d35b47 100644 --- a/src/net/pterodactylus/jsite/core/Node.java +++ b/src/net/pterodactylus/jsite/core/Node.java @@ -21,12 +21,14 @@ 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> */ public class Node extends AbstractBean { @@ -40,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; @@ -49,13 +54,39 @@ 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) { + if (id == null) { + this.id = Hex.toHex(IdGenerator.generateId()); + } else { + this.id = id; + } + } /** * Returns the user-given name of the node. - * + * * @return The name of the node */ public String getName() { @@ -64,7 +95,7 @@ public class Node extends AbstractBean { /** * Sets the user-given name of the node. - * + * * @param name * The name of the node */ @@ -76,7 +107,7 @@ public class Node extends AbstractBean { /** * Returns the hostname of the node. - * + * * @return The hostname of the node */ public String getHostname() { @@ -85,7 +116,7 @@ public class Node extends AbstractBean { /** * Sets the hostname of the node. - * + * * @param hostname * The hostname of the node */ @@ -97,7 +128,7 @@ public class Node extends AbstractBean { /** * Returns the port number of the node. - * + * * @return The port number of the node */ public int getPort() { @@ -106,7 +137,7 @@ public class Node extends AbstractBean { /** * Sets the port number of the node. - * + * * @param port * The port number of the node */ @@ -121,7 +152,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 + "]"; } }