ch.systemsx.cisd.openbis.dss.client.api.v1.impl
Class DataSetDss

java.lang.Object
  extended by ch.systemsx.cisd.openbis.dss.client.api.v1.impl.DataSetDss
All Implemented Interfaces:
IDataSetDss

public class DataSetDss
extends java.lang.Object
implements IDataSetDss


Constructor Summary
DataSetDss(java.lang.String code, IDssServiceRpcGeneric service, ch.systemsx.cisd.openbis.dss.client.api.v1.impl.AuthenticatedState parent)
           
 
Method Summary
 java.lang.String getCode()
          The code of this data set.
 java.io.InputStream getFile(java.lang.String path)
          Get an InputStream with contents of a file contained in this data set.
 java.io.File getLinkOrCopyOfContent(java.lang.String overrideStoreRootPathOrNull, java.io.File downloadDir, java.lang.String pathInDataSet)
          Returns a File, if possible, that directly references some specified content of a data set in the data store server.
 java.io.File getLinkOrCopyOfContents(java.lang.String overrideStoreRootPathOrNull, java.io.File downloadDir)
          Returns a File, if possible, that directly references the contents of a data set in the data store server.
 ch.systemsx.cisd.openbis.dss.client.api.v1.impl.AuthenticatedState getParent()
           
 IDssServiceRpcGeneric getService()
           
 FileInfoDssDTO[] listFiles(java.lang.String startPath, boolean isRecursive)
          List files contained in this data set.
 java.lang.String toString()
           
 java.io.File tryLinkToContents(java.lang.String overrideStoreRootPathOrNull)
          Returns a File, if possible, that directly references the contents of a data set in the data store server.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DataSetDss

public DataSetDss(java.lang.String code,
                  IDssServiceRpcGeneric service,
                  ch.systemsx.cisd.openbis.dss.client.api.v1.impl.AuthenticatedState parent)
Method Detail

getCode

public java.lang.String getCode()
Description copied from interface: IDataSetDss
The code of this data set.

Specified by:
getCode in interface IDataSetDss

getFile

public java.io.InputStream getFile(java.lang.String path)
                            throws java.lang.IllegalArgumentException,
                                   InvalidSessionException
Description copied from interface: IDataSetDss
Get an InputStream with contents of a file contained in this data set.

Specified by:
getFile in interface IDataSetDss
Parameters:
path - The path of the file to retrieve. The path must be relative with respect to the data set, such as the path returned by FileInfoDssDTO.getPathInDataSet().
Throws:
java.lang.IllegalArgumentException
InvalidSessionException

listFiles

public FileInfoDssDTO[] listFiles(java.lang.String startPath,
                                  boolean isRecursive)
                           throws java.lang.IllegalArgumentException,
                                  InvalidSessionException
Description copied from interface: IDataSetDss
List files contained in this data set.

Specified by:
listFiles in interface IDataSetDss
Parameters:
startPath - The path for the listing. The path must be relative with respect to the data set, such as the path returned by FileInfoDssDTO.getPathInDataSet(). Use "/" or "" for the root of the hierarchy for this data set.
isRecursive - If true, the contents of any subdirectories will be listed as well.
Throws:
java.lang.IllegalArgumentException
InvalidSessionException

tryLinkToContents

public java.io.File tryLinkToContents(java.lang.String overrideStoreRootPathOrNull)
                               throws java.lang.IllegalArgumentException,
                                      InvalidSessionException
Description copied from interface: IDataSetDss
Returns a File, if possible, that directly references the contents of a data set in the data store server. This is only possible if the file system used by the DSS is also mounted locally.

Specified by:
tryLinkToContents in interface IDataSetDss
Parameters:
overrideStoreRootPathOrNull - A path, in the context of the local file system mounts, to the DSS' store root. If null, paths are returned in the context of the DSS' file system mounts.
Returns:
Returns null if the operation is not possible (e.g. when the data set is a container), a File that references the contents of the data set otherwise.
Throws:
java.lang.IllegalArgumentException
InvalidSessionException

getLinkOrCopyOfContents

public java.io.File getLinkOrCopyOfContents(java.lang.String overrideStoreRootPathOrNull,
                                            java.io.File downloadDir)
                                     throws java.lang.IllegalArgumentException,
                                            InvalidSessionException
Description copied from interface: IDataSetDss
Returns a File, if possible, that directly references the contents of a data set in the data store server. If not possible, downloads the data set contents and returns a File in the downloadDir containing the contents of the data set.

Specified by:
getLinkOrCopyOfContents in interface IDataSetDss
Parameters:
overrideStoreRootPathOrNull - A path, in the context of the local file system mounts, to the DSS' store root. If null, datasets are copied to the downloadDir folder.
downloadDir - The directory in which to place the contents of the data set if they must be downloaded.
Returns:
A File containing the contents of the data set.
Throws:
java.lang.IllegalArgumentException
InvalidSessionException

getLinkOrCopyOfContent

public java.io.File getLinkOrCopyOfContent(java.lang.String overrideStoreRootPathOrNull,
                                           java.io.File downloadDir,
                                           java.lang.String pathInDataSet)
                                    throws java.lang.IllegalArgumentException,
                                           InvalidSessionException
Description copied from interface: IDataSetDss
Returns a File, if possible, that directly references some specified content of a data set in the data store server. If not possible, downloads that content and returns a File in the downloadDir containing that content.

Specified by:
getLinkOrCopyOfContent in interface IDataSetDss
Parameters:
overrideStoreRootPathOrNull - A path, in the context of the local file system mounts, to the DSS' store root. If null, datasets are copied to the downloadDir folder.
downloadDir - The directory in which to place the contents of the data set if they must be downloaded.
pathInDataSet - Path of requested content inside the data set.
Returns:
A File containing the requested content.
Throws:
java.lang.IllegalArgumentException
InvalidSessionException

getParent

public ch.systemsx.cisd.openbis.dss.client.api.v1.impl.AuthenticatedState getParent()

getService

public IDssServiceRpcGeneric getService()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object