Package org.tmatesoft.svn.core.wc

## Interface ISVNEventHandler

- All Superinterfaces:
    `ISVNCanceller`
  All Known Subinterfaces:
    `ISVNAdminEventHandler`
  All Known Implementing Classes:
    `SVNAdminBasicClient`, `SVNAdminClient`, `SVNAdminEventAdapter`, `SVNEventAdapter`, `SVNLookClient`, `SVNRepositoryReplicator`

      public interface ISVNEventHandler
      extends ISVNCanceller

  The ISVNEventHandler interface should be implemented in order to be further provided to an SVN*Client object as a handler of a sequence of events generated by SVN*Client's do*() methods.

  This is a way how a custom event handler can be registered:

       import org.tmatesoft.svn.core.wc.ISVNOptions;
       import org.tmatesoft.svn.core.wc.SVNWCUtil;
       import org.tmatesoft.svn.core.wc.SVNClientManager;
       import org.tmatesoft.svn.core.wc.ISVNEventHandler;
       ...

       ISVNOptions options = SVNWCUtil.createDefaultOptions(true);
       String authName = "myName";
       String authPassword = "myPassword";
       SVNClientManager clientManager = SVNClientManager.newInstance(options, authName, authPassword);
       clientManager.getCommitClient().setEventHandler(new ISVNEventHandler(){
           public void handleEvent(SVNEvent event, double progress){
               //handle event here
           }

           public void checkCancelled() throws SVNCancelException {
               //handle cancel of the operation - throw SVNCancelException
           }
       });

  or like this:

       ...
       import org.tmatesoft.svn.core.wc.SVNCommitClient;
       ...

       ISVNOptions options = SVNWCUtil.createDefaultOptions(true);
       SVNCommitClient commitClient = new SVNCommitClient(null, options);
       commitClient.setEventHandler(new ISVNEventHandler(){
       ...
       });

  All calls to handleEvent() and checkCancelled() methods are synchronous - that is the caller is blocked till a method finishes.

  Since:
    1.2
  Version:
    1.3
  Author:
    TMate Software Ltd.
  See Also:
    `SVNEvent`, Examples

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static double` | `UNKNOWN` | Constant that is currently the value of the `progress` parameter (in `handleEvnt()`)

    - ### Fields inherited from interface org.tmatesoft.svn.core.ISVNCanceller

      `NULL`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `handleEvent​(SVNEvent event, double progress)` | Handles the current event.

    - ### Methods inherited from interface org.tmatesoft.svn.core.ISVNCanceller

      `checkCancelled`

- - ### Field Detail

    - #### UNKNOWN

          static final double UNKNOWN

      Constant that is currently the value of the `progress` parameter (in `handleEvnt()`)
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### handleEvent

          void handleEvent​(SVNEvent event,
                           double progress)
                    throws SVNException

      Handles the current event.

      Generally all operations represented by do*() methods of SVN*Client objects are followed by generating a sequence of events that are passed to the registered ISVNEventHandler object for custom processing. For example, during an update operation each local item being modified is signaled about by dispatching a specific for this item SVNEvent object to this method where this event can be scrutinized and handled in a desired way.

      Parameters:
        `event` - the current event that keeps detailed information on the type of action occured and other attributes like path, status, etc.
        `progress` - currently reserved for future use; now it's value is always set to `UNKNOWN`
      Throws:
        `SVNException`