SVNKit Home

## org.tmatesoft.svn.core.wc
Class SVNEvent

    java.lang.Object
      org.tmatesoft.svn.core.wc.SVNEvent

public class SVNEvent
extends Object

The SVNEvent class is used to provide detailed information on an operation progress to the ISVNEventHandler (if any) registered for an SVN*Client object. Such events are generated by an operation invoked by do*() method of an SVN*Client object and passed to a developer's event handler for notification. Retrieving information out of an SVNEvent the developer can decide how it should be interpreted.

This is an example:
implementing ISVNEventHandler

     import org.tmatesoft.svn.core.wc.ISVNEventHandler;
     import org.tmatesoft.svn.core.SVNCancelException;
     import org.tmatesoft.svn.core.wc.SVNEvent;
     import org.tmatesoft.svn.core.wc.SVNEventAction;
     import org.tmatesoft.svn.core.wc.SVNStatusType;
     import org.tmatesoft.svn.core.SVNNodeKind;
     import java.io.File;
     ...

     public class MyCustomUpdateEventHandler implements ISVNEventHandler {
         public void handleEvent(SVNEvent event, double progress) {
             //get the action type
             if(event.getAction() == SVNEventAction.UPDATE_UPDATE){
                 //get the item's node kind
                 SVNNodeKind kind = even.getNodeKind();
                 //get the item's contents status
                 if(event.getContentsStatus() == SVNStatusType.CHANGED &&
                    kind == SVNNodeKind.FILE){
                     ...
                 }
                 ...
                 //get the item's properties status
                 if(event.getPropertiesStatus() == SVNStatusType.MERGED){
                     ...
                 }
                 //get the item's lock status
                 if(event.getLockStatus() == SVNStatusType.LOCK_UNLOCKED){
                     ...
                 }
                 //get the item's relative path
                 String path = event.getPath();
                 //or in a java.io.File representation
                 File fsEntry = event.getFile();

                 //get update revision
                 long revision = event.getRevision();
                 ...
             }
             ...
         }

         public void checkCancelled() throws SVNCancelException{
             throw new SVNCancelException("cancelled!");
         }
     }

then registering a handler:

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

     SVNUpdateClient updateClient;
     ...
     updateClient.setEventHandler(new MyCustomUpdateEventHandler());
     ...

now when invoking an update operation:

     updateClient.doUpdate(...);

the registered instance of the ISVNEventHandler implementation will be dispatched progress events.

Version:
  1.1.1
Author:
  TMate Software Ltd.
See Also:
  `ISVNEventHandler`, `SVNStatusType`, `SVNEventAction`, Examples

Constructor Summary
`SVNEvent(File rootFile, File file, SVNEventAction action, SVNEventAction expected, SVNNodeKind kind, long revision, String mimetype, SVNStatusType cstatus, SVNStatusType pstatus, SVNStatusType lstatus, SVNLock lock, SVNErrorMessage error)` Constructs an SVNEvent object filling it with informational details most of that would be retrieved and analized by an ISVNEventHandler implementation.
`SVNEvent(File rootFile, File file, SVNEventAction action, SVNNodeKind kind, long revision, String mimetype, SVNStatusType cstatus, SVNStatusType pstatus, SVNStatusType lstatus, SVNLock lock, SVNErrorMessage error)` Constructs an SVNEvent object filling it with informational details most of that would be retrieved and analized by an ISVNEventHandler implementation.
`SVNEvent(org.tmatesoft.svn.core.internal.wc.admin.SVNAdminAreaInfo info, org.tmatesoft.svn.core.internal.wc.admin.SVNAdminArea adminArea, String name, SVNEventAction action, SVNEventAction expectedAction, SVNNodeKind kind, long revision, String mimetype, SVNStatusType cstatus, SVNStatusType pstatus, SVNStatusType lstatus, SVNLock lock, SVNErrorMessage error)` Constructs an SVNEvent object.
`SVNEvent(org.tmatesoft.svn.core.internal.wc.admin.SVNAdminAreaInfo info, org.tmatesoft.svn.core.internal.wc.admin.SVNAdminArea adminArea, String name, SVNEventAction action, SVNNodeKind kind, long revision, String mimetype, SVNStatusType cstatus, SVNStatusType pstatus, SVNStatusType lstatus, SVNLock lock, SVNErrorMessage error)` Constructs an SVNEvent object.
`SVNEvent(SVNErrorMessage errorMessage)` Constructs an SVNEvent object given an error message for a filed operation.

Method Summary
`SVNEventAction` `getAction()` Gets the type of an action performed upon the item.
`SVNStatusType` `getContentsStatus()` Gets the status type of either file or directory contents.
`SVNErrorMessage` `getErrorMessage()` Gets the error message that (if it's an error situation and therefore the string is not null) points to some fault.
`SVNEventAction` `getExpectedAction()` Returns the expected action.
`File` `getFile()` Gets a java.io.File representation of the item's path.
`SVNLock` `getLock()` Gets the file item's lock information (if any) represented by an SVNLock object.
`SVNStatusType` `getLockStatus()` Gets the file item's lock status.
`String` `getMimeType()` Gets the MIME type of the item relying upon the special SVN's 'svn:mime-type' property.
`SVNNodeKind` `getNodeKind()` Gets the node kind of the item characterizing it as an entry - whether it's a directory, file, etc.
`String` `getPath()` Gets the item's path relative to the Working Copy root directory.
`SVNStatusType` `getPropertiesStatus()` Gets the status type of the item's properties.
`long` `getRevision()` Gets the revision number specific for the action context.
`void` `setErrorMessage(SVNErrorMessage errorMessage)`
`void` `setPath(String path)` Sets the item's path relative to the Working Copy root.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SVNEvent

    public SVNEvent(SVNErrorMessage errorMessage)

  Constructs an SVNEvent object given an error message for a filed operation.

  Used by SVNKit internals to construct and initialize an SVNEvent object. It's not intended for users (from an API point of view).

Parameters:
  `errorMessage` - the message describing the operation fault

### SVNEvent

    public SVNEvent(org.tmatesoft.svn.core.internal.wc.admin.SVNAdminAreaInfo info,
                    org.tmatesoft.svn.core.internal.wc.admin.SVNAdminArea adminArea,
                    String name,
                    SVNEventAction action,
                    SVNEventAction expectedAction,
                    SVNNodeKind kind,
                    long revision,
                    String mimetype,
                    SVNStatusType cstatus,
                    SVNStatusType pstatus,
                    SVNStatusType lstatus,
                    SVNLock lock,
                    SVNErrorMessage error)

  Constructs an SVNEvent object.

  Used by SVNKit internals to construct and initialize an SVNEvent object. It's not intended for users (from an API point of view).

Parameters:
  `info` - admin info
  `adminArea` - admin area the item belongs to
  `name` - the item's name
  `action` - the type of action the item is exposed to
  `expectedAction` - the action type that was expected
  `kind` - the item's node kind
  `revision` - a revision number
  `mimetype` - the item's MIME type
  `cstatus` - the item's contents status
  `pstatus` - the item's properties status
  `lstatus` - the item's lock status
  `lock` - the item's lock
  `error` - an error message

### SVNEvent

    public SVNEvent(org.tmatesoft.svn.core.internal.wc.admin.SVNAdminAreaInfo info,
                    org.tmatesoft.svn.core.internal.wc.admin.SVNAdminArea adminArea,
                    String name,
                    SVNEventAction action,
                    SVNNodeKind kind,
                    long revision,
                    String mimetype,
                    SVNStatusType cstatus,
                    SVNStatusType pstatus,
                    SVNStatusType lstatus,
                    SVNLock lock,
                    SVNErrorMessage error)

  Constructs an SVNEvent object.

  Used by SVNKit internals to construct and initialize an SVNEvent object. It's not intended for users (from an API point of view).

Parameters:
  `info` - admin info
  `adminArea` - admin area the item belongs to
  `name` - the item's name
  `action` - the type of action the item is exposed to
  `kind` - the item's node kind
  `revision` - a revision number
  `mimetype` - the item's MIME type
  `cstatus` - the item's contents status
  `pstatus` - the item's properties status
  `lstatus` - the item's lock status
  `lock` - the item's lock
  `error` - an error message

### SVNEvent

    public SVNEvent(File rootFile,
                    File file,
                    SVNEventAction action,
                    SVNEventAction expected,
                    SVNNodeKind kind,
                    long revision,
                    String mimetype,
                    SVNStatusType cstatus,
                    SVNStatusType pstatus,
                    SVNStatusType lstatus,
                    SVNLock lock,
                    SVNErrorMessage error)

  Constructs an SVNEvent object filling it with informational details most of that would be retrieved and analized by an ISVNEventHandler implementation.

  Used by SVNKit internals to construct and initialize an SVNEvent object. It's not intended for users (from an API point of view).

  If `action` is `SVNEventAction.SKIP` (i.e. operation is skipped) then the expected action (that would have occurred if the operation hadn't been skipped) is provided in `expected`.

Parameters:
  `rootFile` - the item's root directory
  `file` - the item's path itself
  `action` - the type of action the item is exposed to
  `expected` - the action that is expected to happen, but may be skipped in real for some reason
  `kind` - the item's node kind
  `revision` - a revision number
  `mimetype` - the item's MIME type
  `cstatus` - the item's contents status
  `pstatus` - the item's properties status
  `lstatus` - the item's lock status
  `lock` - the item's lock
  `error` - an error message

### SVNEvent

    public SVNEvent(File rootFile,
                    File file,
                    SVNEventAction action,
                    SVNNodeKind kind,
                    long revision,
                    String mimetype,
                    SVNStatusType cstatus,
                    SVNStatusType pstatus,
                    SVNStatusType lstatus,
                    SVNLock lock,
                    SVNErrorMessage error)

  Constructs an SVNEvent object filling it with informational details most of that would be retrieved and analized by an ISVNEventHandler implementation.

  Used by SVNKit internals to construct and initialize an SVNEvent object. It's not intended for users (from an API point of view).

Parameters:
  `rootFile` - the item's root directory
  `file` - the item's path itself
  `action` - the type of action the item is exposed to
  `kind` - the item's node kind
  `revision` - a revision number
  `mimetype` - the item's MIME type
  `cstatus` - the item's contents status
  `pstatus` - the item's properties status
  `lstatus` - the item's lock status
  `lock` - the item's lock
  `error` - an error message

Method Detail

### getPath

    public String getPath()

  Gets the item's path relative to the Working Copy root directory.

  Returns:
    a string representation of the item's path

### getFile

    public File getFile()

  Gets a java.io.File representation of the item's path.

  Returns:
    the item's path

### getAction

    public SVNEventAction getAction()

  Gets the type of an action performed upon the item. An action is one of predefined SVNEventAction constants that are specific for each kind of operation, such as update actions, commit actions, etc.

  Returns:
    the current action

### getExpectedAction

    public SVNEventAction getExpectedAction()

  Returns the expected action. It is always the same as the action returned by `getAction()` except those cases when `getAction()` returns `SVNEventAction.SKIP` (i.e. when the expected operation is skipped).

  Returns:
    the expected action

### getContentsStatus

    public SVNStatusType getContentsStatus()

  Gets the status type of either file or directory contents. Use predefined SVNStatusType constants to examine the item's status. For a directory contents are its entries.

  Returns:
    the item's status type

### getErrorMessage

    public SVNErrorMessage getErrorMessage()

  Gets the error message that (if it's an error situation and therefore the string is not null) points to some fault.

  Returns:
    an error message (in case of an error occured) or null if everything is OK

### setErrorMessage

    public void setErrorMessage(SVNErrorMessage errorMessage)

### getLock

    public SVNLock getLock()

  Gets the file item's lock information (if any) represented by an SVNLock object.

  Returns:
    the file item's lock info if the file is locked; otherwise null

### getLockStatus

    public SVNStatusType getLockStatus()

  Gets the file item's lock status. The value of SVNStatusType.LOCK_INAPPLICABLE means the lock status is irrelevant during the current event action.

  Returns:
    the lock status of the file item

### getMimeType

    public String getMimeType()

  Gets the MIME type of the item relying upon the special SVN's 'svn:mime-type' property.

  You can use `SVNProperty`'s metods to find out whether it's a text MIME type or a binary:

       import org.tmatesoft.svn.core.SVNProperty;
       ...

       String mimeType = event.getMimeType();
       if(SVNProperty.isBinaryMimeType(mimeType)){
           //your processing
       }

  Returns:
    the item's MIME type as a string or null if the item has no 'svn:mime-type' property set

### getNodeKind

    public SVNNodeKind getNodeKind()

  Gets the node kind of the item characterizing it as an entry - whether it's a directory, file, etc. The value of SVNNodeKind.NONE may mean the node kind is inapplicable diring the current event action. The value of SVNNodeKind.UNKNOWN may mean deleted entries.

  Returns:
    the item's node kind

### getPropertiesStatus

    public SVNStatusType getPropertiesStatus()

  Gets the status type of the item's properties. The value of SVNStatusType.INAPPLICABLE may mean the item has no versioned properties or that properties status is irrelevant during the current event action.

  Returns:
    the status type of the item's properties

### getRevision

    public long getRevision()

  Gets the revision number specific for the action context. It may be whether an update revision or a committed one or an inapplicable value when a revision number is irrelevant during the event action.

  Returns:
    a revision number

### setPath

    public void setPath(String path)

  Sets the item's path relative to the Working Copy root.

  Parameters:
    `path` - the item's relative path

SVNKit Home

Copyright © 2004-2008 TMate Software Ltd. All Rights Reserved.