+ /**
+ * Notifies all listeners that a node was added to the core.
+ *
+ * @param node
+ * The node that was added
+ */
+ private void fireNodeAdded(Node node) {
+ logger.log(Level.FINEST, "firing nodeAdded event with [node=" + node + "]");
+ for (CoreListener coreListener : coreListeners) {
+ coreListener.nodeAdded(node);
+ }
+ }
+
+ /**
+ * Notifies all listeners that a node was removed from the core.
+ *
+ * @param node
+ * The node that was removed
+ */
+ private void fireNodeRemoved(Node node) {
+ logger.log(Level.FINEST, "firing nodeRemoved event with [node=" + node + "]");
+ for (CoreListener coreListener : coreListeners) {
+ coreListener.nodeRemoved(node);
+ }
+ }
+
+ /**
+ * Notifies all listeners that a connection to the given node is now being
+ * established.
+ *
+ * @param node
+ * The node that is being connected to
+ */
+ private void fireNodeConnecting(Node node) {
+ logger.log(Level.FINEST, "firing nodeConnecting event with [node=" + node + "]");
+ for (CoreListener coreListener : coreListeners) {
+ coreListener.nodeConnecting(node);
+ }
+ }
+
+ /**
+ * Notifies all listeners that the given node is now connected.
+ *
+ * @param node
+ * The node that is now connected
+ */
+ private void fireNodeConnected(Node node) {
+ logger.log(Level.FINEST, "firing nodeConnected event with [node=" + node + "]");
+ for (CoreListener coreListener : coreListeners) {
+ coreListener.nodeConnected(node);
+ }
+ }
+
+ /**
+ * Notifies all listeners that a connection to a node has failed.
+ *
+ * @param node
+ * The node that could not be connected
+ * @param cause
+ * The cause of the failure
+ */
+ private void fireNodeConnectionFailed(Node node, Throwable cause) {
+ logger.log(Level.FINEST, "firing nodeConnectionFailed event with [node=" + node + ",cause=" + cause + "]");
+ for (CoreListener coreListener : coreListeners) {
+ coreListener.nodeConnectionFailed(node, cause);
+ }
+ }
+
+ /**
+ * Notifies all listeners that the given node was disconnected.
+ *
+ * @param node
+ * The node that is now disconnected
+ * @param throwable
+ * The exception that caused the disconnect, or <code>null</code>
+ * if there was no exception
+ */
+ private void fireNodeDisconnected(Node node, Throwable throwable) {
+ logger.log(Level.FINEST, "firing nodeDisconnected event with [node=" + node + ",throwable=" + throwable + "]");
+ for (CoreListener coreListener : coreListeners) {
+ coreListener.nodeDisconnected(node, throwable);
+ }
+ }
+