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 final 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

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 Details

### UNKNOWN

static final double UNKNOWN
Constant that is currently the value of the `progress` parameter (in `handleEvnt()`)

See Also:
  - Constant Field Values

## Method Details

### 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`