/* * ==================================================================== * Copyright (c) 2004-2012 TMate Software Ltd. All rights reserved. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://svnkit.com/license.html. * If newer versions of this license are posted there, you may use a * newer version instead, at your option. * ==================================================================== */ package org.tmatesoft.svn.core; /** * The <b>ISVNCanceller</b> interface is used in <code>SVNKit</code> for cancelling operations. * To cancel a running operation an implementor should throw an {@link SVNCancelException} from his * <code>checkCancelled()</code> implementation. This method is called in plenty of <code>SVNKit</code> * methods to give a user a chance to cancel a current running operation. For example, it could be a GUI * application where a 'cancel' button would make the implementor's <code>checkCancelled()</code> method * throw such an exception. * * @version 1.3 * @author TMate Software Ltd. * @since 1.2 */ public interface ISVNCanceller { /** * Default implementation which never throws an {@link SVNCancelException} (never cancels). */ public ISVNCanceller NULL = new ISVNCanceller() { public void checkCancelled() throws SVNCancelException { } }; /** * Checks if the current operation is cancelled (somehow interrupted) * and should throw an <b>SVNCancelException</b> or notify the handler if exists. * * <p/> * This method is often called during iterations when processing trees of versioned items. * This way the entire operation may be interrupted without waiting till the iteration run out. * * @throws SVNCancelException */ public void checkCancelled() throws SVNCancelException; }