Package 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

Author:
  Emmanuel Venisse , Trygve Laugstøl

### Nested Class Summary

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

### Field Summary

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

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

`ROLE`

### Constructor Summary

Constructors
`AbstractCvsScmProvider()`

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`AddScmResult` `add​(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)`
`protected BlameScmResult` `blame​(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` `getBlameCommand()`
`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()`
`protected abstract Command` `getMkdirCommand()`
`static java.lang.String` `getRelativePath​(java.io.File basedir, java.io.File f)`
`protected abstract Command` `getRemoveCommand()`
`java.lang.String` `getScmSpecificFilename()` Returns the scm reserved file name where the SCM stores information like 'CVS', '.svn'.
`java.lang.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​(java.io.File path)`
`ScmProviderRepository` `makeProviderScmRepository​(java.lang.String scmSpecificUrl, char delimiter)`
`protected MkdirScmResult` `mkdir​(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)` Create directory/directories in the repository.
`protected AbstractCvsScmProvider.ScmUrlParserResult` `parseScmUrl​(java.lang.String scmSpecificUrl, char delimiter)`
`RemoveScmResult` `remove​(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)`
`java.lang.String` `sanitizeTagName​(java.lang.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)`
`java.util.List<java.lang.String>` `validateScmUrl​(java.lang.String scmSpecificUrl, char delimiter)` Validate the scm url.
`boolean` `validateTagName​(java.lang.String arg0)` Check if this tag is valid for this SCM provider.

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

`add, add, add, addListener, blame, blame, branch, branch, branch, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, checkIn, checkIn, checkIn, checkOut, checkOut, checkOut, checkOut, checkOut, checkOut, checkOut, diff, diff, edit, edit, export, export, export, export, export, getLogger, info, list, list, mkdir, remoteInfo, remove, requiresEditMode, status, tag, tag, tag, unedit, unedit, untag, 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 java.lang.String TRANSPORT_EXT

ext transport method

See Also:
  Constant Field Values

#### TRANSPORT_LOCAL

    public static final java.lang.String TRANSPORT_LOCAL

local transport method

See Also:
  Constant Field Values

#### TRANSPORT_LSERVER

    public static final java.lang.String TRANSPORT_LSERVER

lserver transport method

See Also:
  Constant Field Values

#### TRANSPORT_PSERVER

    public static final java.lang.String TRANSPORT_PSERVER

pserver transport method

See Also:
  Constant Field Values

#### TRANSPORT_SSPI

    public static final java.lang.String TRANSPORT_SSPI

sspi transport method

See Also:
  Constant Field Values

### Constructor Detail

#### AbstractCvsScmProvider

    public AbstractCvsScmProvider()

### Method Detail

#### getScmSpecificFilename

    public java.lang.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 java.lang.String sanitizeTagName​(java.lang.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​(java.lang.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​(java.lang.String scmSpecificUrl,
                                                           char delimiter)
                                                    throws ScmRepositoryException

Throws:
  `ScmRepositoryException`

#### makeProviderScmRepository

    public ScmProviderRepository makeProviderScmRepository​(java.io.File path)
                                                    throws ScmRepositoryException,
                                                           UnknownRepositoryStructure

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

#### validateScmUrl

    public java.util.List<java.lang.String> validateScmUrl​(java.lang.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 java.lang.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`

#### blame

    protected BlameScmResult blame​(ScmProviderRepository repository,
                                   ScmFileSet fileSet,
                                   CommandParameters parameters)
                            throws ScmException

Overrides:
  `blame` 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

#### mkdir

    protected MkdirScmResult mkdir​(ScmProviderRepository repository,
                                   ScmFileSet fileSet,
                                   CommandParameters parameters)
                            throws ScmException

Create directory/directories in the repository.

Overrides:
  `mkdir` in class `AbstractScmProvider`
Returns:
Throws:
  `ScmException`

#### getRelativePath

    public static java.lang.String getRelativePath​(java.io.File basedir,
                                                   java.io.File f)
                                            throws ScmException,
                                                   java.io.IOException

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

#### parseScmUrl

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

#### getAddCommand

    protected abstract Command getAddCommand()

#### getBranchCommand

    protected abstract Command getBranchCommand()

#### getBlameCommand

    protected abstract Command getBlameCommand()

#### 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()

#### getMkdirCommand

    protected abstract Command getMkdirCommand()