set type of request
[jSite2.git] / src / net / pterodactylus / jsite / core / CoreListener.java
index b4a2574..d5d8cdc 100644 (file)
@@ -21,7 +21,7 @@ package net.pterodactylus.jsite.core;
 
 /**
  * Interface definition for user interfaces.
- *
+ * 
  * @author David ‘Bombe’ Roden <bombe@freenetproject.org>
  * @version $Id$
  */
@@ -33,7 +33,7 @@ public interface CoreListener {
 
        /**
         * Notifies a listener that loading the projects finished successfully.
-        *
+        * 
         * @param directory
         *            The directory the nodes were loaded from
         */
@@ -41,7 +41,7 @@ public interface CoreListener {
 
        /**
         * Notifies all listeners that loading the projects has failed.
-        *
+        * 
         * @param directory
         *            The directory the projects were tried to load from
         * @param throwable
@@ -52,7 +52,7 @@ public interface CoreListener {
        /**
         * Notifies a listener that the projects were successfully saved to the
         * given directory.
-        *
+        * 
         * @param directory
         *            The directory the projects were saved to
         */
@@ -60,7 +60,7 @@ public interface CoreListener {
 
        /**
         * Notifies a listener that saving the projects has failed.
-        *
+        * 
         * @param directory
         *            The directory the projects were to be saved to
         * @param throwable
@@ -74,7 +74,7 @@ public interface CoreListener {
 
        /**
         * Notifies a listener that the nodes were successfully loaded.
-        *
+        * 
         * @param directory
         *            The directory the nodes were loaded from
         */
@@ -82,7 +82,7 @@ public interface CoreListener {
 
        /**
         * Notifies a listener that loading the nodes has failed.
-        *
+        * 
         * @param directory
         *            The directory the nodes were loaded from
         * @param throwable
@@ -92,7 +92,7 @@ public interface CoreListener {
 
        /**
         * Notifies a listener that the nodes were successfully saved.
-        *
+        * 
         * @param directory
         *            The directory the nodes were saved to
         */
@@ -100,7 +100,7 @@ public interface CoreListener {
 
        /**
         * Notifies a listener that saving the nodes has failed.
-        *
+        * 
         * @param directory
         *            The directory the nodes were saved to
         * @param throwable
@@ -127,9 +127,28 @@ public interface CoreListener {
        //
 
        /**
+        * Notifies a listener that a node was added to the core.
+        * 
+        * @param node
+        *            The node that was added.
+        */
+       public void nodeAdded(Node node);
+
+       /**
+        * Notifies a listener that a node was removed from the core. Before a node
+        * is removed, it will be disconnected (and
+        * {@link #nodeDisconnected(Node, Throwable)} will be called).
+        * 
+        * @param node
+        *            The node that was removed
+        */
+       public void nodeRemoved(Node node);
+
+       /**
         * Notifies all listeners that the core started connecting to the given
-        * node.
-        *
+        * node. Before a node is connected, it will be added (and
+        * {@link #nodeAdded(Node)} will be called).
+        * 
         * @param node
         *            The node that is being connected
         */
@@ -137,15 +156,25 @@ public interface CoreListener {
 
        /**
         * Notifies all listeners that the core connected to the given node.
-        *
+        * 
         * @param node
         *            The node that is connected
         */
        public void nodeConnected(Node node);
 
        /**
+        * Notifies a listener that a connection to a node has failed.
+        * 
+        * @param node
+        *            The node that could not be connected
+        * @param cause
+        *            The cause of the failure
+        */
+       public void nodeConnectionFailed(Node node, Throwable cause);
+
+       /**
         * Notifies all listeners that the core disconnected from the given node.
-        *
+        * 
         * @param node
         *            The node that was diconnected
         * @param throwable
@@ -154,4 +183,32 @@ public interface CoreListener {
         */
        public void nodeDisconnected(Node node, Throwable throwable);
 
+       //
+       // request stuff
+       //
+
+       /**
+        * Notifies a listener that a request was added to a node.
+        * 
+        * @param request
+        *            The request that was added
+        */
+       public void requestAdded(Request request);
+
+       /**
+        * Notifies a listener that a request made some progress.
+        * 
+        * @param request
+        *            The request that made the progress
+        */
+       public void requestProgressed(Request request);
+
+       /**
+        * Notifies a listener that a request was removed.
+        * 
+        * @param request
+        *            The request that was removed
+        */
+       public void requestRemoved(Request request);
+
 }