org.tmatesoft.svn.core.wc2.hooks

## Interface ISvnExternalsHandler

-     public interface ISvnExternalsHandler

  Implementing this interface allows handle an external definition and control whether to skip externals definitions processing in some operations.

  Such handlers, if provided, are used in update, wc-to-url copying operations.
  Version:
    1.7
  Author:
    TMate Software Ltd.
  See Also:
    `AbstractSvnUpdate`, `SvnRemoteCopy`

- - ### Method Summary

    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.

- - ### 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 example, 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