org.apache.maven.scm.provider.cvslib

## Class AbstractCvsScmProvider

- java.lang.Object
- - org.apache.maven.scm.provider.AbstractScmProvider
  - - org.apache.maven.scm.provider.cvslib.AbstractCvsScmProvider

All Implemented Interfaces:
  ScmProvider

Direct Known Subclasses:
  CvsExeScmProvider, CvsJavaScmProvider

    public abstract class AbstractCvsScmProvider
    extends AbstractScmProvider

Version:
  $Id: AbstractCvsScmProvider.java 755730 2009-03-18 20:56:21Z olamy $
Author:
  Emmanuel Venisse , Trygve Laugstøl

### Nested Class Summary

Nested Classes
`static class` `AbstractCvsScmProvider.ScmUrlParserResult` The current ScmUrlParserResult

### Field Summary

Fields
`static String` `TRANSPORT_EXT` ext transport method
`static String` `TRANSPORT_LOCAL` local transport method
`static String` `TRANSPORT_LSERVER` lserver transport method
`static String` `TRANSPORT_PSERVER` pserver transport method
`static String` `TRANSPORT_SSPI` sspi transport method

### Fields inherited from interface org.apache.maven.scm.provider.ScmProvider

`ROLE`

### Constructor Summary

Constructors
Constructor and Description
`AbstractCvsScmProvider()`

### Method Summary

Methods
`AddScmResult` `add(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)`
`BranchScmResult` `branch(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)`
`ChangeLogScmResult` `changelog(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)`
`CheckInScmResult` `checkin(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)`
`CheckOutScmResult` `checkout(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)`
`DiffScmResult` `diff(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)`
`protected ExportScmResult` `export(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)`
`protected abstract Command` `getAddCommand()`
`protected abstract Command` `getBranchCommand()`
`protected abstract Command` `getChangeLogCommand()`
`protected abstract Command` `getCheckInCommand()`
`protected abstract Command` `getCheckOutCommand()`
`protected abstract Command` `getDiffCommand()`
`protected abstract Command` `getExportCommand()`
`protected abstract Command` `getListCommand()`
`protected abstract Command` `getLoginCommand()`
`static String` `getRelativePath(File basedir, File f)`
`protected abstract Command` `getRemoveCommand()`
`String` `getScmSpecificFilename()` Returns the scm reserved file name where the SCM stores information like 'CVS', '.svn'.
`String` `getScmType()`
`protected abstract Command` `getStatusCommand()`
`protected abstract Command` `getTagCommand()`
`protected abstract Command` `getUpdateCommand()`
`protected ListScmResult` `list(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)` List each element (files and directories) of fileSet as they exist in the repository.
`LoginScmResult` `login(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)`
`ScmProviderRepository` `makeProviderScmRepository(File path)`
`ScmProviderRepository` `makeProviderScmRepository(String scmSpecificUrl, char delimiter)`
`protected AbstractCvsScmProvider.ScmUrlParserResult` `parseScmUrl(String scmSpecificUrl, char delimiter)`
`RemoveScmResult` `remove(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)`
`String` `sanitizeTagName(String arg0)` Given a tag name, make it suitable for this SCM provider.
`StatusScmResult` `status(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)`
`TagScmResult` `tag(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)`
`protected TagScmResult` `tag(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters, ScmTagParameters scmParameters)`
`UpdateScmResult` `update(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)`
`List` `validateScmUrl(String scmSpecificUrl, char delimiter)` Validate the scm url.
`boolean` `validateTagName(String arg0)` Check if this tag is valid for this SCM provider.

### Methods inherited from class org.apache.maven.scm.provider.AbstractScmProvider

`add, add, addListener, branch, branch, branch, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, checkIn, checkIn, checkIn, checkOut, checkOut, checkOut, checkOut, checkOut, checkOut, diff, diff, edit, edit, export, export, export, export, export, getLogger, list, list, remove, requiresEditMode, status, tag, tag, tag, unedit, unedit, update, update, update, update, update, update, update, update, update, update, update, update`

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

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

### Field Detail

#### TRANSPORT_EXT

    public static final String TRANSPORT_EXT

ext transport method

See Also:
  Constant Field Values

#### TRANSPORT_LOCAL

    public static final String TRANSPORT_LOCAL

local transport method

See Also:
  Constant Field Values

#### TRANSPORT_LSERVER

    public static final String TRANSPORT_LSERVER

lserver transport method

See Also:
  Constant Field Values

#### TRANSPORT_PSERVER

    public static final String TRANSPORT_PSERVER

pserver transport method

See Also:
  Constant Field Values

#### TRANSPORT_SSPI

    public static final String TRANSPORT_SSPI

sspi transport method

See Also:
  Constant Field Values

### Constructor Detail

#### AbstractCvsScmProvider

    public AbstractCvsScmProvider()

### Method Detail

#### getScmSpecificFilename

    public String getScmSpecificFilename()

Returns the scm reserved file name where the SCM stores information like 'CVS', '.svn'.

Specified by:
  `getScmSpecificFilename` in interface `ScmProvider`
Overrides:
  `getScmSpecificFilename` in class `AbstractScmProvider`
Returns:
  the scm reserved file name

#### sanitizeTagName

    public String sanitizeTagName(String arg0)

Given a tag name, make it suitable for this SCM provider. For example, CVS converts "." into "_"

Specified by:
  `sanitizeTagName` in interface `ScmProvider`
Overrides:
  `sanitizeTagName` in class `AbstractScmProvider`
Parameters:
  `arg0` - input tag name
Returns:
  sanitized tag name

#### validateTagName

    public boolean validateTagName(String arg0)

Check if this tag is valid for this SCM provider.

Specified by:
  `validateTagName` in interface `ScmProvider`
Overrides:
  `validateTagName` in class `AbstractScmProvider`
Parameters:
  `arg0` - tag name to check
Returns:
  true if tag is valid

#### makeProviderScmRepository

    public ScmProviderRepository makeProviderScmRepository(String scmSpecificUrl,
                                                  char delimiter)
                                                    throws ScmRepositoryException

Throws:
  `ScmRepositoryException`

#### makeProviderScmRepository

    public ScmProviderRepository makeProviderScmRepository(File path)
                                                    throws ScmRepositoryException,
                                                           UnknownRepositoryStructure

Specified by:
  `makeProviderScmRepository` in interface `ScmProvider`
Overrides:
  `makeProviderScmRepository` in class `AbstractScmProvider`
Throws:
  `ScmRepositoryException`
  `UnknownRepositoryStructure`

#### validateScmUrl

    public List validateScmUrl(String scmSpecificUrl,
                      char delimiter)

Validate the scm url.

Specified by:
  `validateScmUrl` in interface `ScmProvider`
Overrides:
  `validateScmUrl` in class `AbstractScmProvider`
Parameters:
  `scmSpecificUrl` - The SCM url
  `delimiter` - The delimiter used in the SCM url
Returns:
  Returns a list of messages if the validation failed

#### getScmType

    public String getScmType()

#### add

    public AddScmResult add(ScmProviderRepository repository,
                   ScmFileSet fileSet,
                   CommandParameters parameters)
                     throws ScmException

Overrides:
  `add` in class `AbstractScmProvider`
Throws:
  `ScmException`

#### branch

    public BranchScmResult branch(ScmProviderRepository repository,
                         ScmFileSet fileSet,
                         CommandParameters parameters)
                           throws ScmException

Overrides:
  `branch` in class `AbstractScmProvider`
Throws:
  `ScmException`

#### changelog

    public ChangeLogScmResult changelog(ScmProviderRepository repository,
                               ScmFileSet fileSet,
                               CommandParameters parameters)
                                 throws ScmException

Overrides:
  `changelog` in class `AbstractScmProvider`
Throws:
  `ScmException`

#### checkin

    public CheckInScmResult checkin(ScmProviderRepository repository,
                           ScmFileSet fileSet,
                           CommandParameters parameters)
                             throws ScmException

Overrides:
  `checkin` in class `AbstractScmProvider`
Throws:
  `ScmException`

#### checkout

    public CheckOutScmResult checkout(ScmProviderRepository repository,
                             ScmFileSet fileSet,
                             CommandParameters parameters)
                               throws ScmException

Overrides:
  `checkout` in class `AbstractScmProvider`
Throws:
  `ScmException`

#### diff

    public DiffScmResult diff(ScmProviderRepository repository,
                     ScmFileSet fileSet,
                     CommandParameters parameters)
                       throws ScmException

Overrides:
  `diff` in class `AbstractScmProvider`
Throws:
  `ScmException`

#### export

    protected ExportScmResult export(ScmProviderRepository repository,
                         ScmFileSet fileSet,
                         CommandParameters parameters)
                              throws ScmException

Overrides:
  `export` in class `AbstractScmProvider`
Throws:
  `ScmException`

#### login

    public LoginScmResult login(ScmProviderRepository repository,
                       ScmFileSet fileSet,
                       CommandParameters parameters)
                         throws ScmException

Overrides:
  `login` in class `AbstractScmProvider`
Throws:
  `ScmException`

#### remove

    public RemoveScmResult remove(ScmProviderRepository repository,
                         ScmFileSet fileSet,
                         CommandParameters parameters)
                           throws ScmException

Overrides:
  `remove` in class `AbstractScmProvider`
Throws:
  `ScmException`

#### status

    public StatusScmResult status(ScmProviderRepository repository,
                         ScmFileSet fileSet,
                         CommandParameters parameters)
                           throws ScmException

Overrides:
  `status` in class `AbstractScmProvider`
Throws:
  `ScmException`

#### tag

    public TagScmResult tag(ScmProviderRepository repository,
                   ScmFileSet fileSet,
                   CommandParameters parameters)
                     throws ScmException

Overrides:
  `tag` in class `AbstractScmProvider`
Throws:
  `ScmException`

#### tag

    protected TagScmResult tag(ScmProviderRepository repository,
                   ScmFileSet fileSet,
                   CommandParameters parameters,
                   ScmTagParameters scmParameters)
                        throws ScmException

Throws:
  `ScmException`

#### update

    public UpdateScmResult update(ScmProviderRepository repository,
                         ScmFileSet fileSet,
                         CommandParameters parameters)
                           throws ScmException

Overrides:
  `update` in class `AbstractScmProvider`
Throws:
  `ScmException`

#### list

    protected ListScmResult list(ScmProviderRepository repository,
                     ScmFileSet fileSet,
                     CommandParameters parameters)
                          throws ScmException

List each element (files and directories) of fileSet as they exist in the repository.

Overrides:
  `list` in class `AbstractScmProvider`
Parameters:
  `repository` - the source control system
  `fileSet` - the files to list
Returns:
  The list of files in the repository
Throws:
  `NoSuchCommandScmException` - unless overriden by subclass
  `ScmException` - if any

#### getRelativePath

    public static String getRelativePath(File basedir,
                         File f)
                                  throws ScmException,
                                         IOException

Parameters:
  `basedir` - not null
  `f` - not null
Returns:
  the relative path
Throws:
  `ScmException` - if any
  `IOException` - if any

#### parseScmUrl

    protected AbstractCvsScmProvider.ScmUrlParserResult parseScmUrl(String scmSpecificUrl,
                                                        char delimiter)

#### getAddCommand

    protected abstract Command getAddCommand()

#### getBranchCommand

    protected abstract Command getBranchCommand()

#### getChangeLogCommand

    protected abstract Command getChangeLogCommand()

#### getCheckInCommand

    protected abstract Command getCheckInCommand()

#### getCheckOutCommand

    protected abstract Command getCheckOutCommand()

#### getDiffCommand

    protected abstract Command getDiffCommand()

#### getExportCommand

    protected abstract Command getExportCommand()

#### getListCommand

    protected abstract Command getListCommand()

#### getLoginCommand

    protected abstract Command getLoginCommand()

#### getRemoveCommand

    protected abstract Command getRemoveCommand()

#### getStatusCommand

    protected abstract Command getStatusCommand()

#### getTagCommand

    protected abstract Command getTagCommand()

#### getUpdateCommand

    protected abstract Command getUpdateCommand()