org.apache.maven.scm.provider

## Class ScmProviderRepository

- java.lang.Object
- - org.apache.maven.scm.provider.ScmProviderRepository

Direct Known Subclasses:
  AccuRevScmProviderRepository, ClearCaseScmProviderRepository, LocalScmProviderRepository, ScmProviderRepositoryStub, ScmProviderRepositoryWithHost, SynergyScmProviderRepository, TfsScmProviderRepository

    public abstract class ScmProviderRepository
    extends Object

Version:
  $Id: ScmProviderRepository.java 483105 2006-12-06 15:07:54Z evenisse $
Author:
  Trygve Laugstøl, Emmanuel Venisse

### Constructor Summary

Constructors
Constructor and Description
`ScmProviderRepository()`

### Method Summary

Methods
`ScmProviderRepository` `getParent()` Get a `ScmProviderRepository` that represents the parent folder in the repository.
`String` `getPassword()`
`String` `getRelativePath(ScmProviderRepository ancestor)` Get the relative path between the repository provided as argument and the current repository.
`String` `getUser()`
`boolean` `isPersistCheckout()` Will checkouts using this repository be persisted so they can be refreshed in the future? This property is of concern to SCMs like Perforce and Clearcase where the server must track where a user checks out to.
`void` `setPassword(String password)` Set the password.
`void` `setPersistCheckout(boolean persistCheckout)`
`void` `setUser(String user)` Set the user.

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

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

### Constructor Detail

#### ScmProviderRepository

    public ScmProviderRepository()

### Method Detail

#### getUser

    public String getUser()

Returns:
  The user.

#### setUser

    public void setUser(String user)

Set the user.

Parameters:
  `user` - The user

#### getPassword

    public String getPassword()

Returns:
  The password.

#### setPassword

    public void setPassword(String password)

Set the password.

Parameters:
  `password` - The user password

#### isPersistCheckout

    public boolean isPersistCheckout()

Will checkouts using this repository be persisted so they can be refreshed in the future? This property is of concern to SCMs like Perforce and Clearcase where the server must track where a user checks out to. If false, the server entry (clientspec in Perforce terminology) will be deleted after the checkout is complete so the files will not be able to be updated.

This setting can be overriden by using the system property "maven.scm.persistcheckout" to true.

The default is false. See SCM-113 for more detail.

#### setPersistCheckout

    public void setPersistCheckout(boolean persistCheckout)

#### getParent

    public ScmProviderRepository getParent()

Get a `ScmProviderRepository` that represents the parent folder in the repository. Useful when the repository does not exist yet and we need to create it from the parent.

Returns:
  the parent repository
Throws:
  `UnsupportedOperationException` - unless overridden by subclass

#### getRelativePath

    public String getRelativePath(ScmProviderRepository ancestor)

Get the relative path between the repository provided as argument and the current repository.

Parameters:
  `ancestor` - another repository that should be ancestor of this one
Returns:
  the relative path or `null` if it can't be resolved
Throws:
  `UnsupportedOperationException` - unless overridden by subclass