org.tmatesoft.svn.core.wc
Interface ISVNExternalsHandler


public interface ISVNExternalsHandler

The ISVNExternalsHandler provides interface for user defined callbacks which are used to skip externals definitions processing in some operations.

Such handlers, if provided, are used in checkout/update, wc-to-url copying operations.

Since:
1.2

Field Summary
static ISVNExternalsHandler DEFAULT
          Default implementation.
 
Method Summary
 SVNRevision[] handleExternal(java.io.File externalPath, SVNURL externalURL, SVNRevision externalRevision, SVNRevision externalPegRevision, java.lang.String externalsDefinition, SVNRevision externalsWorkingRevision)
          Handles an external definition and says whether to skip it or not.
 

Field Detail

DEFAULT

static final ISVNExternalsHandler DEFAULT
Default implementation. This implementation is used whenever there is no implementation provided by the user. The handleExternal() method of this implementation always returns [externalRevision, externalPegRevision], i.e. those external revision and peg revision which are passed to it.

Method Detail

handleExternal

SVNRevision[] handleExternal(java.io.File externalPath,
                             SVNURL externalURL,
                             SVNRevision externalRevision,
                             SVNRevision externalPegRevision,
                             java.lang.String externalsDefinition,
                             SVNRevision externalsWorkingRevision)
Handles an external definition and says whether to skip it or not. This method receives external definition parameters and returns whether null to indicate that this external definition must be excluded from processing (for examle, not updated during an update), or a non- null array. This array should contain at least two SVNRevision objects [revision, pegRevision] which will be used by the operation instead of externalRevision and externalPegRevision respectively passed into this handle method.

externalWorkingRevision is always SVNRevision.UNDEFINED for update/checkout operations.

Parameters:
externalPath - path of the external to be processed
externalURL - URL of the external to be processed or null if external is about to be removed
externalRevision - default revision to checkout/copy external at or update to
externalPegRevision - default peg revision to use for checkout/update/copy of external
externalsDefinition - raw svn:externals property value
externalsWorkingRevision - current external working copy revision (relevant only for wc-to-url copying operations)
Returns:
array of SVNRevisions in form of {revision, pegRevision} or null to skip processing of this external