X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fcore%2FCoreListener.java;h=3dbc55eb005ad8a8d76833d9d07622c2602c098c;hb=e1e349bae97feb779fc692eb03c2fea0e0e612c9;hp=04b063e2bd6be6202fb2e3870631b6f79ea9e484;hpb=f58c676a286a7cd8d37c3f510e787144a9bff5ad;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/core/CoreListener.java b/src/net/pterodactylus/jsite/core/CoreListener.java index 04b063e..3dbc55e 100644 --- a/src/net/pterodactylus/jsite/core/CoreListener.java +++ b/src/net/pterodactylus/jsite/core/CoreListener.java @@ -19,11 +19,12 @@ package net.pterodactylus.jsite.core; +import net.pterodactylus.jsite.core.project.Project; + /** * Interface definition for user interfaces. * * @author David ‘Bombe’ Roden <bombe@freenetproject.org> - * @version $Id$ */ public interface CoreListener { @@ -68,6 +69,32 @@ public interface CoreListener { */ public void savingProjectsFailed(String directory, Throwable throwable); + /** + * Notifies a listener that the given project was added. + * + * @param project + * The project that was added. + */ + public void projectAdded(Project project); + + /** + * Notifies a listener that a project was cloned. + * + * @param clonedProject + * The clones project + * @param projectClone + * The clone of the project + */ + public void projectCloned(Project clonedProject, Project projectClone); + + /** + * Notifies a listener that the given project was removed. + * + * @param project + * The project that was removed. + */ + public void projectRemoved(Project project); + // // node configuration // @@ -184,38 +211,58 @@ public interface CoreListener { public void nodeDisconnected(Node node, Throwable throwable); // - // request stuff + // project insertion stuff // /** - * Notifies a listener that a request was added to a node. + * Notifies a listener that a project insert started. * - * @param node - * The node the request was added to - * @param request - * The request that was added + * @param project + * The project that is now inserting */ - public void requestAdded(Node node, Request request); + public void projectInsertStarted(Project project); /** - * Notifies a listener that a request made some progress. + * Notifies a listener that a project insert made progress. * - * @param request - * The request that made the progress + * @param project + * The project that made progress * @param totalBlocks - * The total number of blocks + * The number of total blocks * @param requiredBlocks * The number of required blocks * @param successfulBlocks - * The number of successful blocks + * The number of successfully inserted blocks * @param failedBlocks - * The number of failed blocks + * The number of blocks that could not be inserted * @param fatallyFailedBlocks - * The number of fatally failed blocks + * The number of blocks that can not be inserted even with + * retries * @param finalizedTotal - * true if the number of total blocks is - * finalized, false if it is not + * true if the number of total blocks is already + * finalized, false otherwise + */ + public void projectInsertProgressed(Project project, int totalBlocks, int requiredBlocks, int successfulBlocks, int failedBlocks, int fatallyFailedBlocks, boolean finalizedTotal); + + /** + * Notifies a listener that a project insert has generated a URI. + * + * @param project + * The project that generated a URI + * @param uri + * The URI that was generated + */ + public void projectInsertGeneratedURI(Project project, String uri); + + /** + * Notifies a listener that a project insert has finished. + * + * @param project + * The project that has finished + * @param success + * true if the project was inserted successfully, + * false otherwise */ - public void requestProgressed(Request request, int totalBlocks, int requiredBlocks, int successfulBlocks, int failedBlocks, int fatallyFailedBlocks, boolean finalizedTotal); + public void projectInsertFinished(Project project, boolean success); }