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=f8278ed8de8647f45e3d23e97a80175736183b96;hb=0df5e91852f737d760c5a9f54c5667309fbadcc2;hpb=0830c827254de6cd862619f3ddf8c42bad145f19 diff --git a/src/main/java/net/pterodactylus/sone/core/CoreListener.java b/src/main/java/net/pterodactylus/sone/core/CoreListener.java index f8278ed..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 @@ -63,4 +65,138 @@ public interface CoreListener extends EventListener { */ public void markSoneKnown(Sone sone); + /** + * Notifies a listener that the given post is now marked as known. + * + * @param post + * The known post + */ + public void markPostKnown(Post post); + + /** + * Notifies a listener that the given reply is now marked as known. + * + * @param reply + * The known reply + */ + 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); + }