Package com.sas.services.information

# Interface DAVRepositoryInterface

All Superinterfaces:
  `Remote`, `RepositoryInterface`

All Known Implementing Classes:
  `DAVChildRepository`, `DAVRepository`

@SASScope("ALL") public interface DAVRepositoryInterface extends RepositoryInterface
This interface extends RepositoryInterface. It's necessary because DAVRepository is a remote interface, and for the stub to be created correctly, it needs to implement an interface that's complete, and some of the methods are specific to DAV.

- ## Field Summary

  ### Fields inherited from interface com.sas.services.information.RepositoryInterface

  `PROFILE_BEST, PROFILE_NO, PROFILE_POSSIBLE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addToCache(MetadataInterface mi)`
  `void`
  `checkin(MetadataInterface entity)`
  Check in the entity
  `void`
  `checkin(MetadataInterface entity, String comment)`
  Check in the entity
  `void`
  `checkout(MetadataInterface entity)`
  Check out the entity
  `MetadataInterface`
  `copyTo(DAVEntityInterface m, DAVFolderInterface f)`
  Deprecated.
  `MetadataInterface`
  `copyTo(DAVEntityInterface m, DAVFolderInterface f, String name)`
  Copy a smart object.
  `InputStream`
  `fetchContents(String repositoryId)`
  Fetch an object's content from the repository.
  `void`
  `fetchContents(String repositoryId, File fout)`
  Fetch an object's content from the repository.
  `RepositoryData`
  `fetchRepositoryData(String repositoryKey)`
  `boolean`
  `getHttps()`
  Return whether this repository is using SSL (https://) or not
  `String`
  `getHttpUrl()`
  Get the HTTP URL that represents the specific instance for a repository.
  `List`
  `getItems(DAVFolderInterface d)`
  `PersonalRepositoryInterface`
  `getPersonalRepository()`
  Get the personal repository.
  `List`
  `getPreviousVersionNames(MetadataInterface entity)`
  Returns a list of version names for the object
  `String`
  `getReposIdwoTypeFromUrl(String fullUrl)`
  Extract the reposId without the type appended from the url provided.
  `String`
  `getServerString()`
  Returns the identifier string from the connected WebDAV server
  `SharedResourceInterface`
  `getSharedResource()`
  Get an object that represents the shared resource
  `MetadataInterface`
  `getVersion(MetadataInterface entity, String versionName)`
  Retrieves a particular version of the specified object
  `PersonInterface`
  `makePersonalAnchor()`
  `MetadataInterface`
  `moveTo(DAVEntityInterface m, DAVFolderInterface f)`
  Deprecated.
  `MetadataInterface`
  `moveTo(DAVEntityInterface m, DAVFolderInterface f, String name)`
  Move a smart object.
  `void`
  `setACLFromStore(DAVEntityInterface entity)`
  `boolean`
  `supportsACL()`
  Return whether this repository supports ACL or not
  `boolean`
  `supportsSEARCH()`
  Return whether this repository supports SEARCH or not
  `int`
  `trackEntity(MetadataInterface entity)`
  Add a new object to the tracking cache.
  `void`
  `uncheckout(MetadataInterface entity)`
  Uncheck out/Cancel update
  `void`
  `updateEntity(DAVEntityInterface input)`
  Update an existing entity in the repository.
  `void`
  `version(MetadataInterface entity)`
  Put the entity under version control

  ### Methods inherited from interface com.sas.services.information.RepositoryInterface

  `addEntity, addListener, addRootFolder, browseFetch, browseFolder, browseFolderRecursive, browseObjectByPath, browseSearch, close, connect, connect, connectWithProxy, deleteEntity, factoryProcess, factoryTest, fetch, fetch, fetchByUrl, fromByteArry, getBase, getCacheStatistics, getDomain, getEvaluator, getFactoryKey, getHost, getIdentity, getISName, getObjectByPath, getObjectByPath, getObjectByPath, getObjectByPathString, getPort, getPrincipal, getRootFolder, getRootFolders, getServer, getTrackedObject, getUniqueId, getUrl, getUser, getUserContext, isDestroyed, isEqual, isProfileRepository, makeRootFolder, narrow, newChild, newMetadata, newMetadata, newMetadataByModel, produceDefaultMetadata, refreshAllData, refreshEntity, removeListener, removeRootFolder, search, searchTree, searchTree, searchTreeFromBase, searchTreeFromBaseWithScope, setDomain, setISName, setUser, setUserContext, toByteArray`

- ## Method Details

  - ### fetchContents

    InputStream fetchContents(String repositoryId) throws ServiceException, RemoteException
    Fetch an object's content from the repository. This is separate from the fetch method, which only loads the properties of the object. Try to delay the fetching of the content until it is called for (to improve performance). The content is provided as a stream to minimize the impact of memory.

    Parameters:
      `repositoryId` - The identifier for the object from the repository.
    Returns:
      InputStream The content for the object
    Throws:
      `ServiceException` - in the event of repository failures
      `RemoteException` - in the event of network failures

  - ### fetchContents

    void fetchContents(String repositoryId, File fout) throws ServiceException, RemoteException
    Fetch an object's content from the repository. This is separate from the fetch method, which only loads the properties of the object. Try to delay the fetching of the content until it is called for (to improve performance). The content is written to the provided file.

    Parameters:
      `fout` - The file to which the content should be written
    Throws:
      `ServiceException` - in the event of repository failures
      `RemoteException` - in the event of network failures

  - ### getHttpUrl

    String getHttpUrl() throws RemoteException
    Get the HTTP URL that represents the specific instance for a repository. This is of the form "http(s)://sever:port/base".
    Returns:
      String The url value
    Throws:
      `RemoteException` - in case of network failures

  - ### updateEntity

    void updateEntity(DAVEntityInterface input) throws ServiceException, RemoteException
    Update an existing entity in the repository.
    Parameters:
      `input` - The entity to be updated on the backing store
    Throws:
      `ServiceException` - in the case of repository failures
      `RemoteException` - in the case of network failures

  - ### getReposIdwoTypeFromUrl

    String getReposIdwoTypeFromUrl(String fullUrl) throws RemoteException
    Extract the reposId without the type appended from the url provided. If this url can be serviced by this repository, then the url parameter must begin with the repository url. The reposId (without type modifier) is the remainder of the url.
    Parameters:
      `fullUrl` - The url that needs to be broken up into the repository url and the reposId without a type qualifier
    Returns:
      The reposId without a type qualifier for the fullUrl provided. If this entity cannot be processed by this repository then null is returned
    Throws:
      `RemoteException`

  - ### makePersonalAnchor

    PersonInterface makePersonalAnchor() throws ServiceException, RemoteException
    Throws:
      `ServiceException`
      `RemoteException`

  - ### getPersonalRepository

    PersonalRepositoryInterface getPersonalRepository() throws ServiceException, RemoteException
    Get the personal repository. If one doesn't exist then create one for this user. The personal repository is anchored under a collection that represents the person connected to the repository - if this collection doesn't exist at this time then it is created here. This is to avoid creating this collection for every connected repository, only ones that are required (e.g. personal repository or personal profiles).
    Returns:
      PersonalRepository The personal repository for this user
    Throws:
      `ServiceException` - in the case of repository failures
      `RemoteException` - in the case of network failures

  - ### getHttps

    boolean getHttps() throws RemoteException
    Return whether this repository is using SSL (https://) or not
    Returns:
      boolean true using https, false using http
    Throws:
      `RemoteException`

  - ### supportsACL

    boolean supportsACL() throws RemoteException
    Return whether this repository supports ACL or not
    Returns:
      boolean true supports ACL, false does not support ACL
    Throws:
      `RemoteException`

  - ### supportsSEARCH

    boolean supportsSEARCH() throws RemoteException
    Return whether this repository supports SEARCH or not
    Returns:
      boolean true supports SEARCH, false does not support SEARCH
    Throws:
      `RemoteException`

  - ### getItems

    List getItems(DAVFolderInterface d) throws RemoteException
    Throws:
      `RemoteException`

  - ### fetchRepositoryData

    RepositoryData fetchRepositoryData(String repositoryKey) throws ServiceException, RemoteException
    Throws:
      `ServiceException`
      `RemoteException`

  - ### copyTo

    @Deprecated MetadataInterface copyTo(DAVEntityInterface m, DAVFolderInterface f) throws ServiceException, RemoteException
    Deprecated.
    Throws:
      `ServiceException`
      `RemoteException`

  - ### moveTo

    @Deprecated MetadataInterface moveTo(DAVEntityInterface m, DAVFolderInterface f) throws ServiceException, RemoteException
    Deprecated.
    Throws:
      `ServiceException`
      `RemoteException`

  - ### copyTo

    MetadataInterface copyTo(DAVEntityInterface m, DAVFolderInterface f, String name) throws ServiceException, RemoteException
    Copy a smart object.
    Parameters:
      `m` - The repository entity to be copied
      `f` - The folder to contain the new object
      `name` - The object's new name - null or blank takes name of existing object
    Throws:
      `ServiceException` - in the case of repository failures
      `RemoteException` - in the case of network failures

  - ### moveTo

    MetadataInterface moveTo(DAVEntityInterface m, DAVFolderInterface f, String name) throws ServiceException, RemoteException
    Move a smart object.
    Parameters:
      `m` - The repository entity to be moved
      `f` - The folder to contain the new object
      `name` - The object's new name - null or blank takes name of existing object
    Throws:
      `ServiceException` - in the case of repository failures
      `RemoteException` - in the case of network failures

  - ### setACLFromStore

    void setACLFromStore(DAVEntityInterface entity) throws RemoteException
    Throws:
      `RemoteException`

  - ### version

    void version(MetadataInterface entity) throws ServiceException, RemoteException
    Put the entity under version control
    Parameters:
      `entity` - The entity that represents the item to be put under version control
    Throws:
      `ServiceException` - in the case of repository failures
      `RemoteException` - in the case of network failures

  - ### checkout

    void checkout(MetadataInterface entity) throws ServiceException, RemoteException
    Check out the entity
    Parameters:
      `entity` - The entity to be checked out of the repository
    Throws:
      `ServiceException` - in the case of repository failures
      `RemoteException` - in the case of network failures

  - ### checkin

    void checkin(MetadataInterface entity) throws ServiceException, RemoteException
    Check in the entity
    Parameters:
      `entity` - The entity to be checked in to the repository
    Throws:
      `ServiceException` - in the case of repository failures
      `RemoteException` - in the case of network failures

  - ### checkin

    void checkin(MetadataInterface entity, String comment) throws ServiceException, RemoteException
    Check in the entity
    Parameters:
      `entity` - The entity to be checked in to the repository
      `comment` - A comment for the new version that will be created
    Throws:
      `ServiceException` - in the case of repository failures
      `RemoteException` - in the case of network failures

  - ### uncheckout

    void uncheckout(MetadataInterface entity) throws ServiceException, RemoteException
    Uncheck out/Cancel update
    Parameters:
      `entity` - The entity to be unchecked out
    Throws:
      `ServiceException` - in the case of repository failures
      `RemoteException` - in the case of network failures

  - ### trackEntity

    int trackEntity(MetadataInterface entity) throws RemoteException
    Add a new object to the tracking cache. This is called from the Metadata.setRepository() method. Other client code shouldn't need to call this method.
    Throws:
      `RemoteException`

  - ### addToCache

    void addToCache(MetadataInterface mi) throws RemoteException
    Throws:
      `RemoteException`

  - ### getSharedResource

    SharedResourceInterface getSharedResource() throws RemoteException
    Get an object that represents the shared resource
    Returns:
      SharedResourceInterface The object that represents the shared resource
    Throws:
      `RemoteException`

  - ### getPreviousVersionNames

    List getPreviousVersionNames(MetadataInterface entity) throws ServiceException, RemoteException
    Returns a list of version names for the object
    Parameters:
      `entity` - The object for which a list of versions is required
    Returns:
      List A list of version names (String)
    Throws:
      `ServiceException` - in the case of repository failures
      `RemoteException` - in the case of network failures

  - ### getVersion

    MetadataInterface getVersion(MetadataInterface entity, String versionName) throws ServiceException, RemoteException
    Retrieves a particular version of the specified object
    Parameters:
      `entity` - The object for which the specified version is being requested
      `versionName` - The name of the version (one obtained from getPreviousVersionNames)
    Returns:
      MetadataInterface The specified version of the object
    Throws:
      `ServiceException` - in the case of repository failures
      `RemoteException` - in the case of network failures

  - ### getServerString

    String getServerString() throws RemoteException
    Returns the identifier string from the connected WebDAV server
    Returns:
      String The server identifier
    Throws:
      `RemoteException` - in the case of network failures