Fix ALL the logging!
[Sone.git] / src / main / java / net / pterodactylus / sone / core / CoreListenerManager.java
index f226723..9951ccd 100644 (file)
 
 package net.pterodactylus.sone.core;
 
+import net.pterodactylus.sone.data.Image;
 import net.pterodactylus.sone.data.Post;
-import net.pterodactylus.sone.data.Reply;
+import net.pterodactylus.sone.data.PostReply;
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.util.event.AbstractListenerManager;
+import net.pterodactylus.util.version.Version;
 
 /**
  * Manager for {@link CoreListener}s.
@@ -72,11 +74,11 @@ public class CoreListenerManager extends AbstractListenerManager<Core, CoreListe
        /**
         * Notifies all listeners that a new reply has been found.
         *
-        * @see CoreListener#newReplyFound(Reply)
+        * @see CoreListener#newReplyFound(PostReply)
         * @param reply
         *            The new reply
         */
-       void fireNewReplyFound(Reply reply) {
+       void fireNewReplyFound(PostReply reply) {
                for (CoreListener coreListener : getListeners()) {
                        coreListener.newReplyFound(reply);
                }
@@ -95,4 +97,208 @@ public class CoreListenerManager extends AbstractListenerManager<Core, CoreListe
                }
        }
 
+       /**
+        * Notifies all listeners that the given post is now marked as known.
+        *
+        * @param post
+        *            The known post
+        */
+       void fireMarkPostKnown(Post post) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.markPostKnown(post);
+               }
+       }
+
+       /**
+        * Notifies all listeners that the given reply is now marked as known.
+        *
+        * @param reply
+        *            The known reply
+        */
+       void fireMarkReplyKnown(PostReply reply) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.markReplyKnown(reply);
+               }
+       }
+
+       /**
+        * Notifies all listener that the given Sone was removed.
+        *
+        * @see CoreListener#soneRemoved(Sone)
+        * @param sone
+        *            The removed Sone
+        */
+       void fireSoneRemoved(Sone sone) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.soneRemoved(sone);
+               }
+       }
+
+       /**
+        * Notifies all listener that the given post was removed.
+        *
+        * @see CoreListener#postRemoved(Post)
+        * @param post
+        *            The removed post
+        */
+       void firePostRemoved(Post post) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.postRemoved(post);
+               }
+       }
+
+       /**
+        * Notifies all listener that the given reply was removed.
+        *
+        * @see CoreListener#replyRemoved(PostReply)
+        * @param reply
+        *            The removed reply
+        */
+       void fireReplyRemoved(PostReply reply) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.replyRemoved(reply);
+               }
+       }
+
+       /**
+        * Notifies all listeners that the given Sone was locked.
+        *
+        * @see CoreListener#soneLocked(Sone)
+        * @param sone
+        *            The Sone that was locked
+        */
+       void fireSoneLocked(Sone sone) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.soneLocked(sone);
+               }
+       }
+
+       /**
+        * Notifies all listeners that the given Sone was unlocked.
+        *
+        * @see CoreListener#soneUnlocked(Sone)
+        * @param sone
+        *            The Sone that was unlocked
+        */
+       void fireSoneUnlocked(Sone sone) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.soneUnlocked(sone);
+               }
+       }
+
+       /**
+        * Notifies all listeners that the insert of the given Sone has started.
+        *
+        * @see SoneInsertListener#insertStarted(Sone)
+        * @param sone
+        *            The Sone being inserted
+        */
+       void fireSoneInserting(Sone sone) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.soneInserting(sone);
+               }
+       }
+
+       /**
+        * Notifies all listeners that the insert of the given Sone has finished
+        * successfully.
+        *
+        * @see SoneInsertListener#insertFinished(Sone, long)
+        * @param sone
+        *            The Sone that was inserted
+        * @param insertDuration
+        *            The insert duration (in milliseconds)
+        */
+       void fireSoneInserted(Sone sone, long insertDuration) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.soneInserted(sone, insertDuration);
+               }
+       }
+
+       /**
+        * Notifies all listeners that the insert of the given Sone was aborted.
+        *
+        * @see SoneInsertListener#insertStarted(Sone)
+        * @param sone
+        *            The Sone being inserted
+        * @param cause
+        *            The cause for the abortion (may be {@code null}
+        */
+       void fireSoneInsertAborted(Sone sone, Throwable cause) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.soneInsertAborted(sone, cause);
+               }
+       }
+
+       /**
+        * Notifies all listeners that a new version was found.
+        *
+        * @see CoreListener#updateFound(Version, long, long)
+        * @param version
+        *            The new version
+        * @param releaseTime
+        *            The release time of the new version
+        * @param latestEdition
+        *            The latest edition of the Sone homepage
+        */
+       void fireUpdateFound(Version version, long releaseTime, long latestEdition) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.updateFound(version, releaseTime, latestEdition);
+               }
+       }
+
+       /**
+        * Notifies all listeners that an image has started being inserted.
+        *
+        * @see CoreListener#imageInsertStarted(Image)
+        * @param image
+        *            The image that is now inserted
+        */
+       void fireImageInsertStarted(Image image) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.imageInsertStarted(image);
+               }
+       }
+
+       /**
+        * Notifies all listeners that an image insert was aborted by the user.
+        *
+        * @see CoreListener#imageInsertAborted(Image)
+        * @param image
+        *            The image that is not inserted anymore
+        */
+       void fireImageInsertAborted(Image image) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.imageInsertAborted(image);
+               }
+       }
+
+       /**
+        * Notifies all listeners that an image was successfully inserted.
+        *
+        * @see CoreListener#imageInsertFinished(Image)
+        * @param image
+        *            The image that was inserted
+        */
+       void fireImageInsertFinished(Image image) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.imageInsertFinished(image);
+               }
+       }
+
+       /**
+        * Notifies all listeners that an image failed to be inserted.
+        *
+        * @see CoreListener#imageInsertFailed(Image, Throwable)
+        * @param image
+        *            The image that could not be inserted
+        * @param cause
+        *            The cause of the failure
+        */
+       void fireImageInsertFailed(Image image, Throwable cause) {
+               for (CoreListener coreListener : getListeners()) {
+                       coreListener.imageInsertFailed(image, cause);
+               }
+       }
+
 }