SVNKit Home

org.tmatesoft.svn.core.wc
Class SVNBasicClient

java.lang.Object
  extended byorg.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-2007 TMate Software Ltd. All Rights Reserved.