This package provides a low-level API for direct interacting with a Subversion repository on the SVN protocol level.


Interface Summary
ISVNConnectionListener The ISVNConnectionListener is an interface for listeners which are invoked by SVNRepository when its connection is opened or closed.
ISVNDeltaConsumer The ISVNDeltaConsumer interface is implemented by receivers of diff windows.
ISVNEditor The ISVNEditor interface is used by SVNRepository to update versioned files/dirs, check out files/dirs from a repository, commit changes to a repository, take status of files/dirs, get differences between files.
ISVNFileCheckoutTarget The ISVNFileCheckoutTarget interface is used in the SVNRepository.checkoutFiles(long, String[], ISVNFileCheckoutTarget) method to receive versioned file data from the repository.
ISVNFileRevisionHandler The ISVNFileRevisionHandler interface should be implemented for handling information about file revisions - that is file path, properties, revision properties against a particular revision.
ISVNLocationEntryHandler This public interface should be implemented for using within SVNRepository.getLocations(String, long, long[], ISVNLocationEntryHandler).
ISVNLocationSegmentHandler The ISVNLocationSegmentHandler is an interface for location segment handlers which is used in the SVNRepository.getLocationSegments(String, long, long, long, ISVNLocationSegmentHandler) method.
ISVNLockHandler The ISVNLockHandler interface is used to provide some extra processing of locked/unlocked paths.
ISVNReplayHandler The ISVNReplayHandler is used in SVNRepository.replayRange(long, long, long, boolean, ISVNReplayHandler) to provide and editor for replaying a revision.
ISVNReporter The ISVNReporter interface provides methods to describe the state of local paths in order to get the differences in revisions between those local paths and what is actually in the repository.
ISVNReporterBaton The ISVNReporterBaton interface should be implemented by callers of update, checkout, etc. operations of SVNRepository drivers in order to describe the state of local items.
ISVNSession The ISVNSession interface provides some extra handling operations over SVNRepository objects.
ISVNTunnelProvider The ISVNTunnelProvider is the interface for providers of tunnel command lines matching a specific "svn+xxx" tunnel scheme.
ISVNWorkspaceMediator The ISVNWorkspaceMediator interface is used for temporary data storage (mainly instructions and new text data for deltas) as well as for caching and getting some kind of wcprops.

Class Summary
SVNCapability This class contains enumeration that describes the repository capabilities or, in other words, features that the repository may be capable of.
SVNFileRevision The SVNFileRevision class represents information on what path a file is located at (in a repository) in a particular revision, contains file properties and revision properties for that revision.
SVNLocationEntry The SVNLocationEntry represents a mapping of a path to its revision.
SVNLocationSegment The SVNLocationSegment is a representation of a segment of an object's version history with an emphasis on the object's location in the repository as of various revisions.
SVNRepository The abstract class SVNRepository provides an interface for protocol specific drivers used for direct working with a Subversion repository.
SVNRepositoryFactory SVNRepositoryFactory is an abstract factory that is responsible for creating an appropriate SVNRepository driver specific for the protocol to use.

Package Description

This package provides a low-level API for direct interacting with a Subversion repository on the SVN protocol level. The main class which manages all the repository access related work is SVNRepository. This class provides a developer a flexible interface which allows the developer not only to perform all basic SVN commands (such as checkout, commit, update, etc.) but to control those commands as well relying upon developer's implementations of ISVNReporter,ISVNEditor and other interfaces which are accepted by most of major methods of SVNRepository.

In the first place SVNRepository as well as the entire low-level API is intended for customizing developer's work with an SVN repository. So it has not the concept of Working Copy in its functionality.