X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCoreListener.java;h=16587457f7870f1cf7688ee58d168cc6fb6c0e00;hp=ca99e879f9aeb9dc724e97cba05fbbd6855d5a2b;hb=0df5e91852f737d760c5a9f54c5667309fbadcc2;hpb=5b6767cdd9eece7d2a08f52016b3e35340d1f22f diff --git a/src/main/java/net/pterodactylus/sone/core/CoreListener.java b/src/main/java/net/pterodactylus/sone/core/CoreListener.java index ca99e87..1658745 100644 --- a/src/main/java/net/pterodactylus/sone/core/CoreListener.java +++ b/src/main/java/net/pterodactylus/sone/core/CoreListener.java @@ -19,9 +19,11 @@ package net.pterodactylus.sone.core; import java.util.EventListener; +import net.pterodactylus.sone.data.Image; import net.pterodactylus.sone.data.Post; import net.pterodactylus.sone.data.Reply; import net.pterodactylus.sone.data.Sone; +import net.pterodactylus.util.version.Version; /** * Listener interface for objects that want to be notified on certain @@ -79,4 +81,122 @@ public interface CoreListener extends EventListener { */ public void markReplyKnown(Reply reply); + /** + * Notifies a listener that the given Sone was removed. + * + * @param sone + * The removed Sone + */ + public void soneRemoved(Sone sone); + + /** + * Notifies a listener that the given post was removed. + * + * @param post + * The removed post + */ + public void postRemoved(Post post); + + /** + * Notifies a listener that the given reply was removed. + * + * @param reply + * The removed reply + */ + public void replyRemoved(Reply reply); + + /** + * Notifies a listener when a Sone was locked. + * + * @param sone + * The Sone that was locked + */ + public void soneLocked(Sone sone); + + /** + * Notifies a listener that a Sone was unlocked. + * + * @param sone + * The Sone that was unlocked + */ + public void soneUnlocked(Sone sone); + + /** + * Notifies a listener that the insert of the given Sone has started. + * + * @see SoneInsertListener#insertStarted(Sone) + * @param sone + * The Sone that is being inserted + */ + public void soneInserting(Sone sone); + + /** + * Notifies a listener that the insert of the given Sone has finished + * successfully. + * + * @see SoneInsertListener#insertFinished(Sone, long) + * @param sone + * The Sone that has been inserted + * @param insertDuration + * The insert duration (in milliseconds) + */ + public void soneInserted(Sone sone, long insertDuration); + + /** + * Notifies a listener that the insert of the given Sone was aborted. + * + * @see SoneInsertListener#insertAborted(Sone, Throwable) + * @param sone + * The Sone that was inserted + * @param cause + * The cause for the abortion (may be {@code null}) + */ + public void soneInsertAborted(Sone sone, Throwable cause); + + /** + * Notifies a listener that a new version has been found. + * + * @param version + * The version that was found + * @param releaseTime + * The release time of the new version + * @param latestEdition + * The latest edition of the Sone homepage + */ + public void updateFound(Version version, long releaseTime, long latestEdition); + + /** + * Notifies a listener that an image has started being inserted. + * + * @param image + * The image that is now inserted + */ + public void imageInsertStarted(Image image); + + /** + * Notifies a listener that an image insert was aborted by the user. + * + * @param image + * The image that is not inserted anymore + */ + public void imageInsertAborted(Image image); + + /** + * Notifies a listener that an image was successfully inserted. + * + * @param image + * The image that was inserted + */ + public void imageInsertFinished(Image image); + + /** + * Notifies a listener that an image failed to be inserted. + * + * @param image + * The image that could not be inserted + * @param cause + * The reason for the failed insert + */ + public void imageInsertFailed(Image image, Throwable cause); + }