Class SvnOperation<V>

java.lang.Object
org.tmatesoft.svn.core.wc2.SvnOperation<V>
Type Parameters:
V - type of returning value in run() method
All Implemented Interfaces:
ISvnOperationOptionsProvider
Direct Known Subclasses:
AbstractSvnUpdate, SvnCanonicalizeUrls, SvnCat, SvnCleanup, SvnCopy, SvnDiff, SvnGetMergeInfo, SvnGetStatusSummary, SvnMarkReplaced, SvnMerge, SvnPatch, SvnReceivingOperation, SvnRelocate, SvnRepositoryOperation, SvnRepositorySyncInfo, SvnResolve, SvnRevert, SvnScheduleForAddition, SvnScheduleForRemoval, SvnSetChangelist, SvnSetWCDbVersion, SvnSuggestMergeSources, SvnUpgrade

public class SvnOperation<V> extends Object implements ISvnOperationOptionsProvider
Base class for all Svn* operations. Encapsulates mostly used parameters, operation state, different methods used by implementations.

Those parameters includes:

  • operation's target(s)
  • operation's revision
  • operation's depth
  • operation's changelists
  • whether to sleep after operation fails

Those methods are:

  • base implementation of run method, starts the operation execution
  • methods for access to the factory that created the object and its options, event handler, canceler
  • variety of methods for getting, setting, recognition operation's targets
  • cancel the operation
  • access to the authentication manager
Version:
1.7
Author:
TMate Software Ltd.
  • Constructor Details

  • Method Details

    • getEventHandler

      public ISVNEventHandler getEventHandler()
      Gets the event handler for the operation, provided by SvnOperationFactory.getEventHandler(). This event handler will be dispatched SVNEvent objects to provide detailed information about actions and progress state of version control operations performed by run() method of SVN* operation classes.
      Specified by:
      getEventHandler in interface ISvnOperationOptionsProvider
      Returns:
      handler for events
      See Also:
    • getOptions

      public ISVNOptions getOptions()
      Gets operation's options, provided by SvnOperationFactory.getOptions().
      Specified by:
      getOptions in interface ISvnOperationOptionsProvider
      Returns:
      options of the operation
    • initDefaults

      protected void initDefaults()
    • setSingleTarget

      public void setSingleTarget(SvnTarget target)
      Sets one target of the operation.
      Parameters:
      target - target of the operation
      See Also:
    • addTarget

      public void addTarget(SvnTarget target)
      Adds one target to the operation's targets.
      Parameters:
      target - target of the operation
      See Also:
    • getTargets

      public Collection<SvnTarget> getTargets()
      Returns all targets of the operation.
      Returns:
      targets of the operation
      See Also:
    • getFirstTarget

      public SvnTarget getFirstTarget()
      Returns first target of the operation.
      Returns:
      first target of the operation
      See Also:
    • setDepth

      public void setDepth(SVNDepth depth)
      Sets the limit of the operation by depth.
      Parameters:
      depth - depth of the operation
    • getDepth

      public SVNDepth getDepth()
      Gets the limit of the operation by depth.
      Returns:
      depth of the operation
    • setRevision

      public void setRevision(SVNRevision revision)
      Sets revision of the operation. In most cases if revision equals SVNRevision.UNDEFINED, the operation's revision will be SVNRevision.WORKING if target(s) are local; it will be will be SVNRevision.HEAD it targets are remote.
      Parameters:
      revision - revision of the operation
    • getRevision

      public SVNRevision getRevision()
      Gets revision to operate on.
      Returns:
      revision of the operation
      See Also:
    • setApplicalbeChangelists

      public void setApplicalbeChangelists(Collection<String> changelists)
      Sets changelists to operate only on members of.
      Parameters:
      changelists - changelists of the operation
    • getApplicableChangelists

      public Collection<String> getApplicableChangelists()
      Gets changelists to operate only on members of.
      Returns:
      changelists of the operation
    • getOperationFactory

      public SvnOperationFactory getOperationFactory()
      Gets the factory that created the operation.
      Returns:
      creation factory of the operations
    • hasLocalTargets

      public boolean hasLocalTargets()
      Gets whether or not the operation has local targets.
      Returns:
      true if the operation has local targets, otherwise false
    • hasRemoteTargets

      public boolean hasRemoteTargets()
      Gets whether or not the operation has remote targets.
      Returns:
      true if the operation has remote targets, otherwise false
    • ensureEnoughTargets

      protected void ensureEnoughTargets() throws SVNException
      Throws:
      SVNException
    • getMinimumTargetsCount

      protected int getMinimumTargetsCount()
    • getMaximumTargetsCount

      protected int getMaximumTargetsCount()
    • cancel

      public void cancel()
      Cancels the operation. Execution of operation will be stopped at the next point of checking isCancelled state. If canceler is set, ISVNCanceller.checkCancelled() is called, otherwise SVNCancelException is raised at the point of checking isCancelled state.
    • isCancelled

      public boolean isCancelled()
      Gets whether or not the operation is cancelled.
      Returns:
      true if the operation is cancelled, otherwise false
    • run

      public V run() throws SVNException
      Executes the operation.
      Returns:
      result depending on operation type
      Throws:
      SVNException
    • ensureArgumentsAreValid

      protected void ensureArgumentsAreValid() throws SVNException
      Throws:
      SVNException
    • needsHomohenousTargets

      protected boolean needsHomohenousTargets()
    • ensureHomohenousTargets

      protected void ensureHomohenousTargets() throws SVNException
      Throws:
      SVNException
    • getRepositoryPool

      public ISVNRepositoryPool getRepositoryPool()
      Gets the operation's pool of repositories, provided by SvnOperationFactory.getRepositoryPool().
      Specified by:
      getRepositoryPool in interface ISvnOperationOptionsProvider
      Returns:
      pool of repositories
    • getAuthenticationManager

      public ISVNAuthenticationManager getAuthenticationManager()
      Gets operation's authentication manager, provided by SvnOperationFactory.getAuthenticationManager().
      Specified by:
      getAuthenticationManager in interface ISvnOperationOptionsProvider
      Returns:
      authentication manager
    • getCanceller

      public ISVNCanceller getCanceller()
      Gets the cancel handler of the operation, provided by SvnOperationFactory.getCanceller().
      Specified by:
      getCanceller in interface ISvnOperationOptionsProvider
      Returns:
      cancel handler
      See Also:
    • isSleepForTimestamp

      public boolean isSleepForTimestamp()
      Gets whether or not the operation should sleep after if fails.
      Returns:
      true if the operation should sleep, otherwise false
      Since:
      1.7
      See Also:
    • setSleepForTimestamp

      public void setSleepForTimestamp(boolean isSleepForTimestamp)
      Sets whether or not the operation should sleep after if fails.
      Parameters:
      isSleepForTimestamp - true if the operation should sleep, otherwise false
      Since:
      1.7
      See Also:
    • hasFileTargets

      public boolean hasFileTargets()
      Analyzes the targets and returns whether or not operation has at least one file in targets.
      Returns:
      true if operation has at least one file in targets, otherwise false
    • isUseParentWcFormat

      public boolean isUseParentWcFormat()
      Gets whether or not to use parent working copy format.
      Returns:
      true if parent working copy format should be used, otherwise false
    • isChangesWorkingCopy

      public boolean isChangesWorkingCopy()
      Gets whether the operation changes working copy
      Returns:
      true if the operation changes the working copy, otherwise false
    • getSqliteJournalMode

      public SqlJetPagerJournalMode getSqliteJournalMode()
    • setSqliteJournalMode

      public void setSqliteJournalMode(SqlJetPagerJournalMode journalMode)
    • getOperationalWorkingCopy

      protected File getOperationalWorkingCopy()