whitespace fixups
[jSite2.git] / src / net / pterodactylus / jsite / core / Node.java
index 5a8ec89..3d35b47 100644 (file)
@@ -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 {
@@ -53,8 +55,15 @@ public class Node extends AbstractBean {
        private int port;
 
        /**
+        * 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() {
@@ -63,17 +72,21 @@ public class Node extends AbstractBean {
 
        /**
         * Sets the internal ID of the node.
-        * 
+        *
         * @param id
         *            The internal ID of the node
         */
        void setId(String id) {
-               this.id = 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() {
@@ -82,7 +95,7 @@ public class Node extends AbstractBean {
 
        /**
         * Sets the user-given name of the node.
-        * 
+        *
         * @param name
         *            The name of the node
         */
@@ -94,7 +107,7 @@ public class Node extends AbstractBean {
 
        /**
         * Returns the hostname of the node.
-        * 
+        *
         * @return The hostname of the node
         */
        public String getHostname() {
@@ -103,7 +116,7 @@ public class Node extends AbstractBean {
 
        /**
         * Sets the hostname of the node.
-        * 
+        *
         * @param hostname
         *            The hostname of the node
         */
@@ -115,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() {
@@ -124,7 +137,7 @@ public class Node extends AbstractBean {
 
        /**
         * Sets the port number of the node.
-        * 
+        *
         * @param port
         *            The port number of the node
         */
@@ -139,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 + "]";
        }
 
 }