SVNKit Home

## org.tmatesoft.svn.core.wc
Class SVNBasicClient

    java.lang.Object
      org.tmatesoft.svn.core.wc.SVNBasicClient

All Implemented Interfaces:
  ISVNCanceller, ISVNEventHandler

Direct Known Subclasses:
  SVNAdminClient, SVNCommitClient, SVNCopyClient, SVNDiffClient, SVNLogClient, SVNLookClient, SVNMoveClient, SVNStatusClient, SVNUpdateClient, SVNWCClient

public class SVNBasicClient
extends Object
implements ISVNEventHandler

The SVNBasicClient is the base class of all SVN*Client classes that provides a common interface and realization.

All of SVN*Client classes use inherited methods of SVNBasicClient to access Working Copies metadata, to create a driver object to access a repository if it's necessary, etc. In addition SVNBasicClient provides some interface methods - such as those that allow you to set your `event handler`, obtain run-time configuration options, and others.

Version:
  1.1.1
Author:
  TMate Software Ltd.

Nested Class Summary
`protected static class` `SVNBasicClient.RepositoryReference`
`protected static class` `SVNBasicClient.SVNRepositoryLocation`

Field Summary

Fields inherited from interface org.tmatesoft.svn.core.wc.ISVNEventHandler
`UNKNOWN`

Fields inherited from interface org.tmatesoft.svn.core.ISVNCanceller
`NULL`

Constructor Summary
`protected` `SVNBasicClient(ISVNAuthenticationManager authManager, ISVNOptions options)`
`protected` `SVNBasicClient(ISVNRepositoryPool repositoryPool, ISVNOptions options)`

Method Summary
`void` `checkCancelled()` Redirects this call to the registered event handler (if any).
`protected SVNRepository` `createRepository(SVNURL url, boolean mayReuse)`
`protected SVNRepository` `createRepository(SVNURL url, File path, SVNRevision pegRevision, SVNRevision revision)`
`protected SVNRepository` `createRepository(SVNURL url, File path, SVNRevision pegRevision, SVNRevision revision, long[] pegRev)`
`protected org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess` `createWCAccess()`
`protected org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess` `createWCAccess(String pathPrefix)`
`protected void` `dispatchEvent(SVNEvent event)`
`protected void` `dispatchEvent(SVNEvent event, double progress)`
`org.tmatesoft.svn.util.ISVNDebugLog` `getDebugLog()` Returns the debug logger currently in use.
`protected ISVNEventHandler` `getEventDispatcher()`
`protected SVNBasicClient.SVNRepositoryLocation[]` `getLocations(SVNURL url, File path, SVNRepository repository, SVNRevision revision, SVNRevision start, SVNRevision end)`
`ISVNOptions` `getOptions()` Gets a run-time configuration area driver used by this object.
`protected ISVNRepositoryPool` `getRepositoryPool()`
`protected long` `getRevisionNumber(SVNRevision revision, SVNRepository repository, File path)`
`protected SVNURL` `getURL(File path)`
`void` `handleEvent(SVNEvent event, double progress)` Dispatches events to the registered event handler (if any).
`boolean` `isIgnoreExternals()` Determines if externals definitions are ignored.
`boolean` `isLeaveConflictsUnresolved()` Determines if conflicted files should be left unresolved preventing from merging their contents during update and merge operations.
`void` `setDebugLog(org.tmatesoft.svn.util.ISVNDebugLog log)` Sets a logger to write debug log information to.
`void` `setEventHandler(ISVNEventHandler dispatcher)` Sets an event handler for this object.
`void` `setEventPathPrefix(String prefix)` Removes or adds a path prefix.
`void` `setIgnoreExternals(boolean ignore)` Sets externals definitions to be ignored or not during operations.
`void` `setLeaveConflictsUnresolved(boolean leave)` Sets (or unsets) all conflicted working files to be untouched by update and merge operations.
`void` `setOptions(ISVNOptions options)`
`protected void` `sleepForTimeStamp()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SVNBasicClient

    protected SVNBasicClient(ISVNAuthenticationManager authManager,
                             ISVNOptions options)

### SVNBasicClient

    protected SVNBasicClient(ISVNRepositoryPool repositoryPool,
                             ISVNOptions options)

Method Detail

### getOptions

    public ISVNOptions getOptions()

  Gets a run-time configuration area driver used by this object.

  Returns:
    the run-time options driver being in use

### setOptions

    public void setOptions(ISVNOptions options)

### setIgnoreExternals

    public void setIgnoreExternals(boolean ignore)

  Sets externals definitions to be ignored or not during operations.

  For example, if external definitions are set to be ignored then a checkout operation won't fetch them into a Working Copy.

  Parameters:
    `ignore` - true to ignore externals definitions, false - not to
  See Also:
    `isIgnoreExternals()`

### isIgnoreExternals

    public boolean isIgnoreExternals()

  Determines if externals definitions are ignored.

  Returns:
    true if ignored, otherwise false
  See Also:
    `setIgnoreExternals(boolean)`

### setLeaveConflictsUnresolved

    public void setLeaveConflictsUnresolved(boolean leave)

  Sets (or unsets) all conflicted working files to be untouched by update and merge operations.

  By default when a file receives changes from the repository that are in conflict with local edits, an update operation places two sections for each conflicting snatch into the working file one of which is a user's local edit and the second is the one just received from the repository. Like this:

       <<<<<<< .mine
       user's text
       =======
       received text
       >>>>>>> .r2

  Also the operation creates three temporary files that appear in the same directory as the working file. Now if you call this method with `leave` set to true, an update will still create temporary files but won't place those two sections into your working file. And this behaviour also concerns merge operations: any merging to a conflicted file will be prevented. In addition if there is any registered event handler for an SVNDiffClient or SVNUpdateClient instance then the handler will be dispatched an event with the status type set to `SVNStatusType.CONFLICTED_UNRESOLVED`.

  The default value is false until a caller explicitly changes it calling this method.

  Parameters:
    `leave` - true to prevent conflicted files from merging (all merging operations will be skipped), otherwise false
  See Also:
    `isLeaveConflictsUnresolved()`, `SVNUpdateClient`, `SVNDiffClient`, `ISVNEventHandler`

### isLeaveConflictsUnresolved

    public boolean isLeaveConflictsUnresolved()

  Determines if conflicted files should be left unresolved preventing from merging their contents during update and merge operations.

  Returns:
    true if conflicted files are set to be prevented from merging, false if there's no such restriction
  See Also:
    `setLeaveConflictsUnresolved(boolean)`

### setEventHandler

    public void setEventHandler(ISVNEventHandler dispatcher)

  Sets an event handler for this object. This event handler will be dispatched `SVNEvent` objects to provide detailed information about actions and progress state of version control operations performed by do*() methods of SVN*Client classes.

  Parameters:
    `dispatcher` - an event handler

### setDebugLog

    public void setDebugLog(org.tmatesoft.svn.util.ISVNDebugLog log)

  Sets a logger to write debug log information to.

  Parameters:
    `log` - a debug logger

### getDebugLog

    public org.tmatesoft.svn.util.ISVNDebugLog getDebugLog()

  Returns the debug logger currently in use.

  If no debug logger has been specified by the time this call occurs, a default one (returned by `org.tmatesoft.svn.util.SVNDebugLog.getDefaultLog()`) will be created and used.

  Returns:
    a debug logger

### sleepForTimeStamp

    protected void sleepForTimeStamp()

### createRepository

    protected SVNRepository createRepository(SVNURL url,
                                             boolean mayReuse)
                                      throws SVNException

  Throws:
    `SVNException`

### getRepositoryPool

    protected ISVNRepositoryPool getRepositoryPool()

### dispatchEvent

    protected void dispatchEvent(SVNEvent event)
                          throws SVNException

  Throws:
    `SVNException`

### dispatchEvent

    protected void dispatchEvent(SVNEvent event,
                                 double progress)
                          throws SVNException

  Throws:
    `SVNException`

### setEventPathPrefix

    public void setEventPathPrefix(String prefix)

  Removes or adds a path prefix. This method is not intended for users (from an API point of view).

  Parameters:
    `prefix` - a path prefix

### getEventDispatcher

    protected ISVNEventHandler getEventDispatcher()

### createWCAccess

    protected org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess createWCAccess()

### createWCAccess

    protected org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess createWCAccess(String pathPrefix)

### handleEvent

    public void handleEvent(SVNEvent event,
                            double progress)
                     throws SVNException

  Dispatches events to the registered event handler (if any).

  Specified by:
    `handleEvent` in interface `ISVNEventHandler`
  Parameters:
    `event` - the current event
    `progress` - progress state (from 0 to 1)
  Throws:
    `SVNException`

### checkCancelled

    public void checkCancelled()
                        throws SVNCancelException

  Redirects this call to the registered event handler (if any).

  Specified by:
    `checkCancelled` in interface `ISVNCanceller`
  Throws:
    `SVNCancelException` - if the current operation was cancelled

### getRevisionNumber

    protected long getRevisionNumber(SVNRevision revision,
                                     SVNRepository repository,
                                     File path)
                              throws SVNException

  Throws:
    `SVNException`

### createRepository

    protected SVNRepository createRepository(SVNURL url,
                                             File path,
                                             SVNRevision pegRevision,
                                             SVNRevision revision)
                                      throws SVNException

  Throws:
    `SVNException`

### createRepository

    protected SVNRepository createRepository(SVNURL url,
                                             File path,
                                             SVNRevision pegRevision,
                                             SVNRevision revision,
                                             long[] pegRev)
                                      throws SVNException

  Throws:
    `SVNException`

### getLocations

    protected SVNBasicClient.SVNRepositoryLocation[] getLocations(SVNURL url,
                                                                  File path,
                                                                  SVNRepository repository,
                                                                  SVNRevision revision,
                                                                  SVNRevision start,
                                                                  SVNRevision end)
                                                           throws SVNException

  Throws:
    `SVNException`

### getURL

    protected SVNURL getURL(File path)
                     throws SVNException

  Throws:
    `SVNException`

SVNKit Home

Copyright © 2004-2008 TMate Software Ltd. All Rights Reserved.