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
  Version:
    1.3
  Author:
    TMate Software Ltd.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static ISVNExternalsHandler` | `DEFAULT` Default implementation.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `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 `SVNRevision`s in form of {revision, pegRevision} or null to skip processing of this external