Package org.tmatesoft.svn.core.wc2

## Class SvnOperationFactory

- java.lang.Object
- - org.tmatesoft.svn.core.wc2.SvnOperationFactory

- All Implemented Interfaces:
    `ISvnOperationOptionsProvider`

      public class SvnOperationFactory
      extends java.lang.Object
      implements ISvnOperationOptionsProvider

  Represents factory for the Svn* operations. Contains corresponding create*() methods for all supported operations. Provides operation options by implementing `ISvnOperationOptionsProvider` interface. Handles working copy access and provides access to it `getWcContext()`, `isAutoCloseContext()`. Has set of working copy utility methods: `getWorkingCopyRoot(File, boolean)`, `isWorkingCopyRoot(File)`, `isVersionedDirectory(File)`, `detectWcGeneration(File, boolean)`, `setPrimaryWcGeneration(SvnWcGeneration)`, `isPrimaryWcGenerationOnly()`
  Version:
    1.7
  Author:
    TMate Software Ltd.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SvnOperationFactory()` | Creates operation factory and initializes it with empty `context`.
    `SvnOperationFactory​(org.tmatesoft.svn.core.internal.wc17.SVNWCContext context)` | Creates operation factory and initializes it with `context`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `SvnAnnotate` | `createAnnotate()` | Creates annotate operation.
    `SvnCanonicalizeUrls` | `createCanonicalizeUrls()` | Creates canonicalize URLs operation.
    `SvnCat` | `createCat()` | Creates cat operation.
    `SvnCheckout` | `createCheckout()` | Creates checkout operation.
    `SvnCleanup` | `createCleanup()` | Creates cleanup operation.
    `SvnCommit` | `createCommit()` | Creates commit operation.
    `SvnCopy` | `createCopy()` | Creates copy operation.
    `SvnDiff` | `createDiff()` | Creates diff operation.
    `SvnDiffSummarize` | `createDiffSummarize()` | Creates diff summarize operation.
    `SvnExport` | `createExport()` | Creates export operation.
    `SvnGetChangelistPaths` | `createGetChangelistPaths()` | Creates get changelist paths operation.
    `SvnGetInfo` | `createGetInfo()` | Creates get info operation.
    `SvnGetMergeInfo` | `createGetMergeInfo()` | Creates get merge info operation.
    `SvnGetProperties` | `createGetProperties()` | Creates get properties operation.
    `SvnRepositoryGetFileSize` | `createGetRepositoryFileSize()` | Creates operation for retrieving file size from the repository
    `SvnGetStatus` | `createGetStatus()` | Creates get status operation.
    `SvnGetStatusSummary` | `createGetStatusSummary()` | Creates get status summary operation.
    `SvnImport` | `createImport()` | Creates import operation.
    `SvnList` | `createList()` | Creates list operation.
    `SvnLog` | `createLog()` | Creates log operation.
    `SvnLogMergeInfo` | `createLogMergeInfo()` | Creates log merge info operation.
    `SvnMarkReplaced` | `createMarkReplaced()` | Creates mark replaced operation.
    `SvnMerge` | `createMerge()` | Creates merge operation.
    `SvnRemoteMkDir` | `createMkDir()` | Creates remote make directory operation.
    `SvnPatch` | `createPatch()` | Creates patch operation.
    `SvnRelocate` | `createRelocate()` | Creates relocate operation.
    `SvnRemoteCopy` | `createRemoteCopy()` | Creates remote copy operation.
    `SvnRemoteDelete` | `createRemoteDelete()` | Creates remote delete operation.
    `SvnRemoteMkDir` | `createRemoteMkDir()` | Creates remote make directory operation.
    `SvnRemoteSetProperty` | `createRemoteSetProperty()` | Creates remote set property operation.
    `SvnRepositoryCopyRevisionProperties` | `createRepositoryCopyRevisionProperties()` | Creates copy revision properties synchronization operation.
    `SvnRepositoryCreate` | `createRepositoryCreate()` | Creates repository create administrative operation.
    `SvnRepositoryDump` | `createRepositoryDump()` | Creates repository dump administrative operation.
    `SvnRepositoryFilter` | `createRepositoryFilter()` | Creates dumpfilter operation.
    `SvnRepositoryGetAuthor` | `createRepositoryGetAuthor()` | Creates operation for retrieving author from the repository.
    `SvnRepositoryCat` | `createRepositoryGetCat()` | Creates operation for retrieving file contents from the repository.
    `SvnRepositoryGetChanged` | `createRepositoryGetChanged()` | Creates operation for retrieving changed paths from the repository.
    `SvnRepositoryGetChangedDirectories` | `createRepositoryGetChangedDirectories()` | Creates operation for retrieving changed directories from the repository.
    `SvnRepositoryGetDate` | `createRepositoryGetDate()` | Creates operation for retrieving date from the repository.
    `SvnRepositoryGetDiff` | `createRepositoryGetDiff()` | Creates repository diff operation.
    `SvnRepositoryGetHistory` | `createRepositoryGetHistory()` | Creates operation for retrieving the history from the repository.
    `SvnRepositoryGetInfo` | `createRepositoryGetInfo()` | Creates operation for retrieving info from the repository.
    `SvnRepositoryGetLock` | `createRepositoryGetLock()` | Creates operation for retrieving the lock from the repository.
    `SvnRepositoryGetLog` | `createRepositoryGetLog()` | Creates operation for retrieving repository log.
    `SvnRepositoryGetProperties` | `createRepositoryGetProperties()` | Creates operation for retrieving properties from the repository.
    `SvnRepositoryGetProperty` | `createRepositoryGetProperty()` | Creates operation for retrieving property from the repository.
    `SvnRepositoryGetRevisionProperties` | `createRepositoryGetRevisionProperties()` | Creates operation for retrieving revision properties from the repository.
    `SvnRepositoryGetRevisionProperty` | `createRepositoryGetRevisionProperty()` | Creates operation for retrieving revision property from the repository.
    `SvnRepositoryGetTree` | `createRepositoryGetTree()` | Creates operation for retrieving items tree from the repository.
    `SvnRepositoryGetUUID` | `createRepositoryGetUUID()` | Creates operation for retrieving repository UUID.
    `SvnRepositoryGetYoungest` | `createRepositoryGetYoungest()` | Creates operation for retrieving the latest revision from the repository.
    `SvnRepositoryHotCopy` | `createRepositoryHotCopy()` | Creates repository hot copy administrative operation.
    `SvnRepositoryInitialize` | `createRepositoryInitialize()` | Creates initialize synchronization operation.
    `SvnRepositoryListLocks` | `createRepositoryListLocks()` | Creates administrative operation for retrieving list of locks from the repository.
    `SvnRepositoryListTransactions` | `createRepositoryListTransactions()` | Creates administrative operation for retrieving list of transactions from the repository.
    `SvnRepositoryLoad` | `createRepositoryLoad()` | Creates repository load administrative operation.
    `SvnRepositoryPack` | `createRepositoryPack()` | Creates repository pack administrative operation.
    `SvnRepositoryRecover` | `createRepositoryRecover()` | Creates repository recover administrative operation.
    `SvnRepositoryRemoveLocks` | `createRepositoryRemoveLocks()` | Creates repository remove locks administrative operation.
    `SvnRepositoryRemoveTransactions` | `createRepositoryRemoveTransactions()` | Creates repository remove transactions administrative operation.
    `SvnRepositorySetUUID` | `createRepositorySetUUID()` | Creates repository set UUID administrative operation.
    `SvnRepositorySynchronize` | `createRepositorySynchronize()` | Creates repository synchronize operation.
    `SvnRepositorySyncInfo` | `createRepositorySyncInfo()` | Creates operation for retrieving repository synchronization info.
    `SvnRepositoryUpgrade` | `createRepositoryUpgrade()` | Creates repository upgrade administrative operation.
    `SvnRepositoryVerify` | `createRepositoryVerify()` | Creates repository verify administrative operation.
    `SvnResolve` | `createResolve()` | Creates resolve operation.
    `SvnRevert` | `createRevert()` | Creates revert operation.
    `SvnScheduleForAddition` | `createScheduleForAddition()` | Creates add operation.
    `SvnScheduleForRemoval` | `createScheduleForRemoval()` | Creates delete operation.
    `SvnSetChangelist` | `createSetChangelist()` | Creates set changelist operation.
    `SvnSetLock` | `createSetLock()` | Creates set lock operation.
    `SvnSetProperty` | `createSetProperty()` | Creates set property operation.
    `SvnSetWCDbVersion` | `createSetWCDbVersion()` |
    `SvnSuggestMergeSources` | `createSuggestMergeSources()` | Creates suggest merge sources operation.
    `SvnSwitch` | `createSwitch()` | Creates switch operation.
    `SvnUnlock` | `createUnlock()` | Creates unlock operation.
    `SvnUpdate` | `createUpdate()` | Creates update operation.
    `SvnUpgrade` | `createUpgrade()` | Creates upgrade operation.
    `static org.tmatesoft.svn.core.internal.wc2.SvnWcGeneration` | `detectWcGeneration​(java.io.File path, boolean climbUp)` | Detects working copy generation (1.6 or 1.7 format) by the working copy path.
    `static org.tmatesoft.svn.core.internal.wc2.SvnWcGeneration` | `detectWcGeneration​(java.io.File path, boolean climbUp, boolean isAdditionMode)` | Detects working copy generation (1.6 or 1.7 format) by the working copy path in (not in) the addition mode.
    `void` | `dispose()` | Disposes context and repository pool if needed.
    `ISVNAuthenticationManager` | `getAuthenticationManager()` | Gets operation's authentication manager.
    `ISVNCanceller` | `getCanceller()` | Gets the cancel handler of the operation.
    `ISVNEventHandler` | `getEventHandler()` | Gets the event handler for the operation.
    `protected ISvnOperationRunner<?,​SvnOperation<?>>` | `getImplementation​(SvnOperation<?> operation)` |
    `ISvnOperationHandler` | `getOperationHandler()` | Get a callback that is called before and after each operation
    `ISVNOptions` | `getOptions()` | Gets operation's options.
    `org.tmatesoft.svn.core.internal.wc2.SvnWcGeneration` | `getPrimaryWcGeneration()` | Returns primary (default) working copy generation.
    `ISVNRepositoryPool` | `getRepositoryPool()` | Gets the pool of repositories.
    `org.tmatesoft.svn.core.internal.wc2.SvnWcGeneration` | `getSecondaryWcGeneration()` | Returns secondary working copy generation.
    `org.tmatesoft.svn.core.internal.wc17.SVNWCContext` | `getWcContext()` | Returns working copy context.
    `static java.io.File` | `getWorkingCopyRoot​(java.io.File versionedDir, boolean stopOnExternals)` | Searches working copy root path by the versioned directory.
    `boolean` | `isAssertRefCount()` |
    `boolean` | `isAutoCloseContext()` | Returns whether to dispose context when operation finishes.
    `boolean` | `isPrimaryWcGenerationOnly()` | Returns whether the operations should work only on primary working copy generation (for example only on SVN 1.7 working copy) or on both primary and secondary generations.
    `static boolean` | `isVersionedDirectory​(java.io.File directory)` | Detects whether the directory is versioned directory.
    `static boolean` | `isVersionedDirectory​(java.io.File directory, boolean isAdditionMode)` | Detects whether the directory is versioned directory in or (not in) the addition mode.
    `boolean` | `isWcGenerationSticky()` |
    `static boolean` | `isWorkingCopyRoot​(java.io.File versionedDir)` | Detects whether the versioned directory is working copy root.
    `protected void` | `registerOperationRunner​(java.lang.Class<?> operationClass, ISvnOperationRunner<?,​? extends SvnOperation<?>> runner)` |
    `protected java.lang.Object` | `run​(SvnOperation<?> operation)` |
    `void` | `setAuthenticationManager​(ISVNAuthenticationManager authenticationManager)` | Sets operation's authentication manager.
    `void` | `setAutoCloseContext​(boolean autoCloseContext)` | Sets whether to dispose context when operation finishes.
    `void` | `setAutoDisposeRepositoryPool​(boolean dispose)` | Sets whether to dispose repository pool on `dispose()` call.
    `void` | `setCanceller​(ISVNCanceller canceller)` | Sets the cancel handler of the operation.
    `void` | `setEventHandler​(ISVNEventHandler eventHandler)` | Sets the event handler for the operation.
    `void` | `setOperationHandler​(ISvnOperationHandler operationHandler)` | Sets a callback that is called before and after each operation
    `void` | `setOptions​(ISVNOptions options)` | Sets operation's options and disposes working copy context.
    `void` | `setPrimaryWcGeneration​(org.tmatesoft.svn.core.internal.wc2.SvnWcGeneration primaryWcGeneration)` | (Re)sets primary (default) working copy generation.
    `void` | `setRepositoryPool​(ISVNRepositoryPool repositoryPool)` | Sets pool of repositories.
    `void` | `setWcGenerationSticky​(boolean isWcGenerationSticky)` | When set to true, first encountered working copy generation becomes 'sticky' for this instance of `SvnOperationFactory` and no working copy format detection will be performed for subsequent operation.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SvnOperationFactory

          public SvnOperationFactory()

      Creates operation factory and initializes it with empty `context`.

    - #### SvnOperationFactory

          public SvnOperationFactory​(org.tmatesoft.svn.core.internal.wc17.SVNWCContext context)

      Creates operation factory and initializes it with `context`. If `context` is set, retrieves its `options` and `eventHandler` and sets `autoCloseContext` to `false`, otherwise sets `autoCloseContext` to `true`.
      Parameters:
        `context` - operation's context

  - ### Method Detail

    - #### isAutoCloseContext

          public boolean isAutoCloseContext()

      Returns whether to dispose context when operation finishes.
      Returns:
        `true` if the context should be disposed, otherwise `false`

    - #### setAutoCloseContext

          public void setAutoCloseContext​(boolean autoCloseContext)

      Sets whether to dispose context when operation finishes.
      Parameters:
        `autoCloseContext` - `true` if the context should be disposed, otherwise `false`

    - #### getAuthenticationManager

          public ISVNAuthenticationManager getAuthenticationManager()

      Gets operation's authentication manager. If not set, creates default authentication manager.
      Specified by:
        `getAuthenticationManager` in interface `ISvnOperationOptionsProvider`
      Returns:
        authentication manager

    - #### getCanceller

          public ISVNCanceller getCanceller()

      Gets the cancel handler of the operation. If client's `canceler` is not set, returns `eventHandler` as a canceler.
      Specified by:
        `getCanceller` in interface `ISvnOperationOptionsProvider`
      Returns:
        cancel handler

    - #### getEventHandler

          public ISVNEventHandler getEventHandler()

      Gets the event handler for the operation. This event handler will be dispatched `SVNEvent` objects to provide detailed information about actions and progress state of version control operations. If `wcContext` is set, returns `SVNWCContext.getEventHandler()`
      Specified by:
        `getEventHandler` in interface `ISvnOperationOptionsProvider`
      Returns:
        handler for events
      See Also:
        `ISVNEventHandler`

    - #### getOperationHandler

          public ISvnOperationHandler getOperationHandler()

      Get a callback that is called before and after each operation
      Returns:
        a callback that is called before and after each operation

    - #### getRepositoryPool

          public ISVNRepositoryPool getRepositoryPool()

      Gets the pool of repositories. If pool is not created, creates `DefaultSVNRepositoryPool` with the authentication manager, options, and `autoDisposeRepositoryPool` = `true`.
      Specified by:
        `getRepositoryPool` in interface `ISvnOperationOptionsProvider`
      Returns:
        pool of repositories

    - #### getOptions

          public ISVNOptions getOptions()

      Gets operation's options. If options are not set, creates default readonly options.
      Specified by:
        `getOptions` in interface `ISvnOperationOptionsProvider`
      Returns:
        options of the operation

    - #### setAuthenticationManager

          public void setAuthenticationManager​(ISVNAuthenticationManager authenticationManager)

      Sets operation's authentication manager. If `repositoryPool` is set, set its authentication manager to this value.
      Parameters:
        `authenticationManager` - authentication manager

    - #### setCanceller

          public void setCanceller​(ISVNCanceller canceller)

      Sets the cancel handler of the operation.
      Parameters:
        `canceller` - cancel handler

    - #### setEventHandler

          public void setEventHandler​(ISVNEventHandler eventHandler)

      Sets the event handler for the operation. This event handler will be dispatched `SVNEvent` objects to provide detailed information about actions and progress state of version control operations. If `wcContext` is set, sets its event handler to this one. If `wcContext` is not set, disposes it.
      Parameters:
        `eventHandler` - handler for events
      See Also:
        `ISVNEventHandler`

    - #### setOptions

          public void setOptions​(ISVNOptions options)

      Sets operation's options and disposes working copy context.
      Parameters:
        `options` - options of the operation

    - #### setRepositoryPool

          public void setRepositoryPool​(ISVNRepositoryPool repositoryPool)

      Sets pool of repositories. If `repositoryPool` is not `null`sets `autoDisposeRepositoryPool` to `false`, otherwise to `true`
      Parameters:
        `repositoryPool` - pool of repositories

    - #### setOperationHandler

          public void setOperationHandler​(ISvnOperationHandler operationHandler)

      Sets a callback that is called before and after each operation
      Parameters:
        `operationHandler` - callback to call before and after operation

    - #### dispose

          public void dispose()

      Disposes context and repository pool if needed.

    - #### createAnnotate

          public SvnAnnotate createAnnotate()

      Creates annotate operation.
      Returns:
        new `SvnAnnotate` object

    - #### createCat

          public SvnCat createCat()

      Creates cat operation.
      Returns:
        new `SvnCat` object

    - #### createImport

          public SvnImport createImport()

      Creates import operation.
      Returns:
        new `SvnImport` object

    - #### createCopy

          public SvnCopy createCopy()

      Creates copy operation.
      Returns:
        new `SvnCat` object

    - #### createRemoteCopy

          public SvnRemoteCopy createRemoteCopy()

      Creates remote copy operation.
      Returns:
        new `SvnRemoteCopy` object

    - #### createRemoteMkDir

          public SvnRemoteMkDir createRemoteMkDir()

      Creates remote make directory operation.
      Returns:
        new `SvnRemoteMkDir` object

    - #### createRemoteSetProperty

          public SvnRemoteSetProperty createRemoteSetProperty()

      Creates remote set property operation.
      Returns:
        new `SvnRemoteSetProperty` object

    - #### createSetChangelist

          public SvnSetChangelist createSetChangelist()

      Creates set changelist operation.
      Returns:
        new `SvnSetChangelist` object

    - #### createGetChangelistPaths

          public SvnGetChangelistPaths createGetChangelistPaths()

      Creates get changelist paths operation.
      Returns:
        new `SvnGetChangelistPaths` object

    - #### createSetLock

          public SvnSetLock createSetLock()

      Creates set lock operation.
      Returns:
        new `SvnSetLock` object

    - #### createUnlock

          public SvnUnlock createUnlock()

      Creates unlock operation.
      Returns:
        new `SvnUnlock` object

    - #### createUpgrade

          public SvnUpgrade createUpgrade()

      Creates upgrade operation.
      Returns:
        new `SvnUpgrade` object

    - #### createGetInfo

          public SvnGetInfo createGetInfo()

      Creates get info operation.
      Returns:
        new `SvnGetInfo` object

    - #### createGetProperties

          public SvnGetProperties createGetProperties()

      Creates get properties operation.
      Returns:
        new `SvnGetProperties` object

    - #### createGetStatus

          public SvnGetStatus createGetStatus()

      Creates get status operation.
      Returns:
        new `SvnGetStatus` object

    - #### createUpdate

          public SvnUpdate createUpdate()

      Creates update operation.
      Returns:
        new `SvnUpdate` object

    - #### createSwitch

          public SvnSwitch createSwitch()

      Creates switch operation.
      Returns:
        new `SvnSwitch` object

    - #### createCheckout

          public SvnCheckout createCheckout()

      Creates checkout operation.
      Returns:
        new `SvnCheckout` object

    - #### createRelocate

          public SvnRelocate createRelocate()

      Creates relocate operation.
      Returns:
        new `SvnRelocate` object

    - #### createExport

          public SvnExport createExport()

      Creates export operation.
      Returns:
        new `SvnExport` object

    - #### createScheduleForAddition

          public SvnScheduleForAddition createScheduleForAddition()

      Creates add operation.
      Returns:
        new `SvnScheduleForAddition` object

    - #### createCommit

          public SvnCommit createCommit()

      Creates commit operation.
      Returns:
        new `SvnCommit` object

    - #### createScheduleForRemoval

          public SvnScheduleForRemoval createScheduleForRemoval()

      Creates delete operation.
      Returns:
        new `SvnScheduleForRemoval` object

    - #### createMarkReplaced

          public SvnMarkReplaced createMarkReplaced()

      Creates mark replaced operation.
      Returns:
        new `SvnMarkReplaced` object

    - #### createRevert

          public SvnRevert createRevert()

      Creates revert operation.
      Returns:
        new `SvnRevert` object

    - #### createSetProperty

          public SvnSetProperty createSetProperty()

      Creates set property operation.
      Returns:
        new `SvnSetProperty` object

    - #### createLog

          public SvnLog createLog()

      Creates log operation.
      Returns:
        new `SvnLog` object

    - #### createMkDir

          public SvnRemoteMkDir createMkDir()

      Creates remote make directory operation.
      Returns:
        new `SvnRemoteMkDir` object

    - #### createRemoteDelete

          public SvnRemoteDelete createRemoteDelete()

      Creates remote delete operation.
      Returns:
        new `SvnRemoteDelete` object

    - #### createMerge

          public SvnMerge createMerge()

      Creates merge operation.
      Returns:
        new `SvnMerge` object

    - #### createDiff

          public SvnDiff createDiff()

      Creates diff operation.
      Returns:
        new `SvnDiff` object

    - #### createPatch

          public SvnPatch createPatch()

      Creates patch operation.
      Returns:
        new `SvnPatch` object

    - #### createDiffSummarize

          public SvnDiffSummarize createDiffSummarize()

      Creates diff summarize operation.
      Returns:
        new `SvnDiffSummarize` object

    - #### createSuggestMergeSources

          public SvnSuggestMergeSources createSuggestMergeSources()

      Creates suggest merge sources operation.
      Returns:
        new `SvnSuggestMergeSources` object

    - #### createGetMergeInfo

          public SvnGetMergeInfo createGetMergeInfo()

      Creates get merge info operation.
      Returns:
        new `SvnGetMergeInfo` object

    - #### createLogMergeInfo

          public SvnLogMergeInfo createLogMergeInfo()

      Creates log merge info operation.
      Returns:
        new `SvnLogMergeInfo` object

    - #### createResolve

          public SvnResolve createResolve()

      Creates resolve operation.
      Returns:
        new `SvnResolve` object

    - #### createCleanup

          public SvnCleanup createCleanup()

      Creates cleanup operation.
      Returns:
        new `SvnCleanup` object

    - #### createList

          public SvnList createList()

      Creates list operation.
      Returns:
        new `SvnList` object

    - #### createCanonicalizeUrls

          public SvnCanonicalizeUrls createCanonicalizeUrls()

      Creates canonicalize URLs operation.
      Returns:
        new `SvnCanonicalizeUrls` object

    - #### createRepositoryDump

          public SvnRepositoryDump createRepositoryDump()

      Creates repository dump administrative operation.
      Returns:
        new `SvnRepositoryDump` object

    - #### createRepositoryCreate

          public SvnRepositoryCreate createRepositoryCreate()

      Creates repository create administrative operation.
      Returns:
        new `SvnRepositoryCreate` object

    - #### createRepositoryHotCopy

          public SvnRepositoryHotCopy createRepositoryHotCopy()

      Creates repository hot copy administrative operation.
      Returns:
        new `SvnRepositoryHotCopy` object

    - #### createRepositoryLoad

          public SvnRepositoryLoad createRepositoryLoad()

      Creates repository load administrative operation.
      Returns:
        new `SvnRepositoryLoad` object

    - #### createRepositoryListLocks

          public SvnRepositoryListLocks createRepositoryListLocks()

      Creates administrative operation for retrieving list of locks from the repository.
      Returns:
        new `SvnRepositoryListLocks` object

    - #### createRepositoryListTransactions

          public SvnRepositoryListTransactions createRepositoryListTransactions()

      Creates administrative operation for retrieving list of transactions from the repository.
      Returns:
        new `SvnRepositoryListTransactions` object

    - #### createRepositoryPack

          public SvnRepositoryPack createRepositoryPack()

      Creates repository pack administrative operation.
      Returns:
        new `SvnRepositoryPack` object

    - #### createRepositoryRecover

          public SvnRepositoryRecover createRepositoryRecover()

      Creates repository recover administrative operation.
      Returns:
        new `SvnRepositoryRecover` object

    - #### createRepositoryRemoveLocks

          public SvnRepositoryRemoveLocks createRepositoryRemoveLocks()

      Creates repository remove locks administrative operation.
      Returns:
        new `SvnRepositoryRemoveLocks` object

    - #### createRepositoryRemoveTransactions

          public SvnRepositoryRemoveTransactions createRepositoryRemoveTransactions()

      Creates repository remove transactions administrative operation.
      Returns:
        new `SvnRepositoryRemoveTransactions` object

    - #### createRepositorySetUUID

          public SvnRepositorySetUUID createRepositorySetUUID()

      Creates repository set UUID administrative operation.
      Returns:
        new `SvnRepositorySetUUID` object

    - #### createRepositoryUpgrade

          public SvnRepositoryUpgrade createRepositoryUpgrade()

      Creates repository upgrade administrative operation.
      Returns:
        new `SvnRepositoryUpgrade` object

    - #### createRepositoryVerify

          public SvnRepositoryVerify createRepositoryVerify()

      Creates repository verify administrative operation.
      Returns:
        new `SvnRepositoryVerify` object

    - #### createRepositoryInitialize

          public SvnRepositoryInitialize createRepositoryInitialize()

      Creates initialize synchronization operation.
      Returns:
        new `SvnRepositoryInitialize` object

    - #### createRepositorySyncInfo

          public SvnRepositorySyncInfo createRepositorySyncInfo()

      Creates operation for retrieving repository synchronization info.
      Returns:
        new `SvnRepositorySyncInfo` object

    - #### createRepositoryCopyRevisionProperties

          public SvnRepositoryCopyRevisionProperties createRepositoryCopyRevisionProperties()

      Creates copy revision properties synchronization operation.
      Returns:
        new `SvnRepositoryCopyRevisionProperties` object

    - #### createRepositorySynchronize

          public SvnRepositorySynchronize createRepositorySynchronize()

      Creates repository synchronize operation.
      Returns:
        new `SvnRepositorySynchronize` object

    - #### createRepositoryFilter

          public SvnRepositoryFilter createRepositoryFilter()

      Creates dumpfilter operation.
      Returns:
        new `SvnRepositoryFilter` object

    - #### createRepositoryGetAuthor

          public SvnRepositoryGetAuthor createRepositoryGetAuthor()

      Creates operation for retrieving author from the repository.
      Returns:
        new `SvnRepositoryGetAuthor` object

    - #### createRepositoryGetDate

          public SvnRepositoryGetDate createRepositoryGetDate()

      Creates operation for retrieving date from the repository.
      Returns:
        new `SvnRepositoryGetDate` object

    - #### createRepositoryGetInfo

          public SvnRepositoryGetInfo createRepositoryGetInfo()

      Creates operation for retrieving info from the repository.
      Returns:
        new `SvnRepositoryGetInfo` object

    - #### createRepositoryGetLock

          public SvnRepositoryGetLock createRepositoryGetLock()

      Creates operation for retrieving the lock from the repository.
      Returns:
        new `SvnRepositoryGetLock` object

    - #### createRepositoryGetLog

          public SvnRepositoryGetLog createRepositoryGetLog()

      Creates operation for retrieving repository log.
      Returns:
        new `SvnRepositoryGetLog` object

    - #### createRepositoryGetUUID

          public SvnRepositoryGetUUID createRepositoryGetUUID()

      Creates operation for retrieving repository UUID.
      Returns:
        new `SvnRepositoryGetUUID` object

    - #### createRepositoryGetYoungest

          public SvnRepositoryGetYoungest createRepositoryGetYoungest()

      Creates operation for retrieving the latest revision from the repository.
      Returns:
        new `SvnRepositoryGetYoungest` object

    - #### createRepositoryGetProperty

          public SvnRepositoryGetProperty createRepositoryGetProperty()

      Creates operation for retrieving property from the repository.
      Returns:
        new `SvnRepositoryGetProperty` object

    - #### createRepositoryGetRevisionProperty

          public SvnRepositoryGetRevisionProperty createRepositoryGetRevisionProperty()

      Creates operation for retrieving revision property from the repository.
      Returns:
        new `SvnRepositoryGetRevisionProperty` object

    - #### createRepositoryGetProperties

          public SvnRepositoryGetProperties createRepositoryGetProperties()

      Creates operation for retrieving properties from the repository.
      Returns:
        new `SvnRepositoryGetProperties` object

    - #### createRepositoryGetCat

          public SvnRepositoryCat createRepositoryGetCat()

      Creates operation for retrieving file contents from the repository.
      Returns:
        new `SvnRepositoryCat` object

    - #### createRepositoryGetChanged

          public SvnRepositoryGetChanged createRepositoryGetChanged()

      Creates operation for retrieving changed paths from the repository.
      Returns:
        new `SvnRepositoryGetChanged` object

    - #### createRepositoryGetChangedDirectories

          public SvnRepositoryGetChangedDirectories createRepositoryGetChangedDirectories()

      Creates operation for retrieving changed directories from the repository.
      Returns:
        new `SvnRepositoryGetChangedDirectories` object

    - #### createRepositoryGetDiff

          public SvnRepositoryGetDiff createRepositoryGetDiff()

      Creates repository diff operation.
      Returns:
        new `SvnRepositoryGetDiff` object

    - #### createRepositoryGetHistory

          public SvnRepositoryGetHistory createRepositoryGetHistory()

      Creates operation for retrieving the history from the repository.
      Returns:
        new `SvnRepositoryGetHistory` object

    - #### createRepositoryGetTree

          public SvnRepositoryGetTree createRepositoryGetTree()

      Creates operation for retrieving items tree from the repository.
      Returns:
        new `SvnRepositoryGetTree` object

    - #### createRepositoryGetRevisionProperties

          public SvnRepositoryGetRevisionProperties createRepositoryGetRevisionProperties()

      Creates operation for retrieving revision properties from the repository.
      Returns:
        new `SvnRepositoryGetRevisionProperties` object

    - #### createGetRepositoryFileSize

          public SvnRepositoryGetFileSize createGetRepositoryFileSize()

      Creates operation for retrieving file size from the repository
      Returns:
        new `SvnRepositoryGetFileSize` object

    - #### createGetStatusSummary

          public SvnGetStatusSummary createGetStatusSummary()

      Creates get status summary operation.
      Returns:
        new `SvnStatusSummary` object

    - #### createSetWCDbVersion

          public SvnSetWCDbVersion createSetWCDbVersion()

    - #### setAutoDisposeRepositoryPool

          public void setAutoDisposeRepositoryPool​(boolean dispose)

      Sets whether to dispose repository pool on `dispose()` call. This flag has sense only if `repositoryPool` field is not `null`. Otherwise the flag value can be overwritten by `setRepositoryPool(ISVNRepositoryPool)` or `getRepositoryPool()` calls.
      Parameters:
        `dispose` - whether to dispose repository pool on `dispose()` call

    - #### run

          protected java.lang.Object run​(SvnOperation<?> operation)
                                  throws SVNException

      Throws:
        `SVNException`

    - #### getImplementation

          protected ISvnOperationRunner<?,​SvnOperation<?>> getImplementation​(SvnOperation<?> operation)
                                                                            throws SVNException

      Throws:
        `SVNException`

    - #### isPrimaryWcGenerationOnly

          public boolean isPrimaryWcGenerationOnly()

      Returns whether the operations should work only on primary working copy generation (for example only on SVN 1.7 working copy) or on both primary and secondary generations.
      Returns:
        `true` operations should work only on primary working copy generation, if `false` both primary and secondary generations are supported

    - #### isAssertRefCount

          public boolean isAssertRefCount()

    - #### registerOperationRunner

          protected void registerOperationRunner​(java.lang.Class<?> operationClass,
                                                 ISvnOperationRunner<?,​? extends SvnOperation<?>> runner)

    - #### isWorkingCopyRoot

          public static boolean isWorkingCopyRoot​(java.io.File versionedDir)

      Detects whether the versioned directory is working copy root.
      Parameters:
        `versionedDir` - directory to check
      Returns:
        `true` if the directory is working copy root, otherwise `false`

    - #### isVersionedDirectory

          public static boolean isVersionedDirectory​(java.io.File directory)

      Detects whether the directory is versioned directory.
      Parameters:
        `directory` - directory to check
      Returns:
        `true` if the directory is versioned directory, otherwise `false`

    - #### isVersionedDirectory

          public static boolean isVersionedDirectory​(java.io.File directory,
                                                     boolean isAdditionMode)

      Detects whether the directory is versioned directory in or (not in) the addition mode.
      Parameters:
        `directory` - directory to check
        `isAdditionMode` - `true` if it is addition mode, otherwise `false`
      Returns:
        `true` if the directory is versioned directory, otherwise `false`

    - #### getWorkingCopyRoot

          public static java.io.File getWorkingCopyRoot​(java.io.File versionedDir,
                                                        boolean stopOnExternals)
                                                 throws SVNException

      Searches working copy root path by the versioned directory.
      Parameters:
        `versionedDir` - versioned directory
        `stopOnExternals` - `true` if externals should not be searched, otherwise `false`
      Returns:
        working copy root
      Throws:
        `SVNException`

    - #### detectWcGeneration

          public static org.tmatesoft.svn.core.internal.wc2.SvnWcGeneration detectWcGeneration​(java.io.File path,
                                                                                               boolean climbUp)
                                                                                        throws SVNException

      Detects working copy generation (1.6 or 1.7 format) by the working copy path. Recursively searches the by path's parents up to the root if `climbUp` is `true`.
      Parameters:
        `path` - working copy path
        `climbUp` - `true` if search recursively in path's parents, otherwise `false`
      Returns:
        working copy generation
      Throws:
        `SVNException`

    - #### detectWcGeneration

          public static org.tmatesoft.svn.core.internal.wc2.SvnWcGeneration detectWcGeneration​(java.io.File path,
                                                                                               boolean climbUp,
                                                                                               boolean isAdditionMode)
                                                                                        throws SVNException

      Detects working copy generation (1.6 or 1.7 format) by the working copy path in (not in) the addition mode. Recursively searches the by path's parents up to the root if `climbUp` is `true`.
      Parameters:
        `path` - working copy path
        `climbUp` - `true` if search recursively in path's parents, otherwise `false`
        `isAdditionMode` - `true` if it is addition mode, otherwise `false`
      Returns:
        working copy generation
      Throws:
        `SVNException`

    - #### getWcContext

          public org.tmatesoft.svn.core.internal.wc17.SVNWCContext getWcContext()

      Returns working copy context.
      Returns:
        working copy context

    - #### getPrimaryWcGeneration

          public org.tmatesoft.svn.core.internal.wc2.SvnWcGeneration getPrimaryWcGeneration()

      Returns primary (default) working copy generation.
      Returns:
        working copy generation

    - #### getSecondaryWcGeneration

          public org.tmatesoft.svn.core.internal.wc2.SvnWcGeneration getSecondaryWcGeneration()

      Returns secondary working copy generation.
      Returns:
        working copy generation

    - #### setPrimaryWcGeneration

          public void setPrimaryWcGeneration​(org.tmatesoft.svn.core.internal.wc2.SvnWcGeneration primaryWcGeneration)

      (Re)sets primary (default) working copy generation. If `primaryWcGeneration` is not `null`, registers operations' runners.
      Parameters:
        `primaryWcGeneration` -

    - #### setWcGenerationSticky

          public void setWcGenerationSticky​(boolean isWcGenerationSticky)

      When set to true, first encountered working copy generation becomes 'sticky' for this instance of `SvnOperationFactory` and no working copy format detection will be performed for subsequent operation.
      Parameters:
        `isWcGenerationSticky` -

    - #### isWcGenerationSticky

          public boolean isWcGenerationSticky()

      Returns:
        true when this instance of `SvnOperationFactory`
      See Also:
        `setWcGenerationSticky(boolean)`