public class DataSetDss extends java.lang.Object implements IDataSetDss
| Constructor and Description |
|---|
DataSetDss(java.lang.String code,
IDssServiceRpcGeneric service,
ch.systemsx.cisd.openbis.dss.client.api.v1.impl.AuthenticatedState parent) |
| Modifier and Type | Method and Description |
|---|---|
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() |
java.lang.String |
getSessionURLForFile(java.lang.String path)
Get a URL that will return the contents of a file contained in this data set.
|
java.lang.String |
getURLForFileWithTimeout(java.lang.String path,
long validityDurationInSeconds)
Get a URL that will return the contents of a file contained in this data set.
|
FileInfoDssDTO[] |
listFiles(java.lang.String startPath,
boolean isRecursive)
List files contained in this data set.
|
java.lang.String |
toString() |
java.lang.String |
tryGetInternalPathInDataStore()
Returns the internal storage path of this data set in the datastore.
|
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. |
public DataSetDss(java.lang.String code,
IDssServiceRpcGeneric service,
ch.systemsx.cisd.openbis.dss.client.api.v1.impl.AuthenticatedState parent)
public java.lang.String getCode()
IDataSetDssgetCode in interface IDataSetDsspublic java.io.InputStream getFile(java.lang.String path)
throws java.lang.IllegalArgumentException,
InvalidSessionException
IDataSetDssInputStream with contents of a file contained in this data set.getFile in interface IDataSetDsspath - 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().java.lang.IllegalArgumentExceptionInvalidSessionExceptionpublic FileInfoDssDTO[] listFiles(java.lang.String startPath, boolean isRecursive) throws java.lang.IllegalArgumentException, InvalidSessionException
IDataSetDsslistFiles in interface IDataSetDssstartPath - 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.java.lang.IllegalArgumentExceptionInvalidSessionExceptionpublic java.io.File tryLinkToContents(java.lang.String overrideStoreRootPathOrNull)
throws java.lang.IllegalArgumentException,
InvalidSessionException
IDataSetDssFile, 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.tryLinkToContents in interface IDataSetDssoverrideStoreRootPathOrNull - 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.java.lang.IllegalArgumentExceptionInvalidSessionExceptionpublic java.lang.String tryGetInternalPathInDataStore()
throws InvalidSessionException,
EnvironmentFailureException
IDataSetDss
Caution: using the return value of this methods to perform any operation on the dataset,
e.g. in your own scripts, scripts opens you to a set of race conditions, e.g. when the
dataset is moved to another share or deleted. Consider using
IDataSetDss.tryLinkToContents(String) if you are actually interested in the data set
content.
tryGetInternalPathInDataStore in interface IDataSetDssInvalidSessionExceptionEnvironmentFailureExceptionpublic java.io.File getLinkOrCopyOfContents(java.lang.String overrideStoreRootPathOrNull,
java.io.File downloadDir)
throws java.lang.IllegalArgumentException,
InvalidSessionException
IDataSetDssFile, 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.getLinkOrCopyOfContents in interface IDataSetDssoverrideStoreRootPathOrNull - 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.java.lang.IllegalArgumentExceptionInvalidSessionExceptionpublic java.io.File getLinkOrCopyOfContent(java.lang.String overrideStoreRootPathOrNull,
java.io.File downloadDir,
java.lang.String pathInDataSet)
throws java.lang.IllegalArgumentException,
InvalidSessionException
IDataSetDssFile, 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.getLinkOrCopyOfContent in interface IDataSetDssoverrideStoreRootPathOrNull - 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.java.lang.IllegalArgumentExceptionInvalidSessionExceptionpublic ch.systemsx.cisd.openbis.dss.client.api.v1.impl.AuthenticatedState getParent()
public IDssServiceRpcGeneric getService()
public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String getSessionURLForFile(java.lang.String path)
throws java.lang.IllegalArgumentException,
InvalidSessionException
IDataSetDssgetSessionURLForFile in interface IDataSetDsspath - 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().java.lang.IllegalArgumentExceptionInvalidSessionExceptionpublic java.lang.String getURLForFileWithTimeout(java.lang.String path,
long validityDurationInSeconds)
throws java.lang.IllegalArgumentException,
InvalidSessionException
IDataSetDssgetURLForFileWithTimeout in interface IDataSetDsspath - 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().validityDurationInSeconds - The number of seconds for which the URL is valid.java.lang.IllegalArgumentExceptionInvalidSessionException