Class DSFileSpec

java.lang.Object
com.isomorphic.datasource.DSFileSpec

public class DSFileSpec extends Object
Specifies a file stored in a DataSource.
  • Constructor Details

    • DSFileSpec

      public DSFileSpec(String dsName, String dsFileName)
      Specify a file with the given DataSource name and filename, without specifying a fileType or fileFormat.
      Parameters:
      dsName - The name of the DataSource
      dsFileName - The name of the file, without any extension for type or format
    • DSFileSpec

      public DSFileSpec(String dsName, String dsFileName, String dsFileType)
      Specify a file with the given DataSource name, filename, and fileType, without specifying a fileFormat.
      Parameters:
      dsName - The name of the DataSource
      dsFileName - The name of the file, without any extension for type or format
      dsFileType - The fileType (e.g. "ds" for datasource)
    • DSFileSpec

      public DSFileSpec(String dsName, String dsFileName, String dsFileType, String dsFileFormat)
      Specify a file with the given DataSource name, filename, fileType, and fileFormat.
      Parameters:
      dsName - The name of the DataSource
      dsFileName - The name of the file, without any extension for type or format
      dsFileType - The fileType (e.g. "ds" for datasource)
      dsFileFormat - The fileFormat (e.g. "xml" or "js")
    • DSFileSpec

      public DSFileSpec(String dsName, String dsFileName, String dsFileType, String dsFileFormat, String tenantId)
      Specify a file with the given DataSource name, filename, fileType, fileFormat, and tenant ID. The tenant ID is available as part of Multi-Tenant DataSource support.
      Parameters:
      dsName - The name of the DataSource
      dsFileName - The name of the file, without any extension for type or format
      dsFileType - The fileType (e.g. "ds" for datasource)
      dsFileFormat - The fileFormat (e.g. "xml" or "js")
      tenantId - The tenant to specify for the file accses
    • DSFileSpec

      public DSFileSpec(String dsName, String dsFileName, String dsFileType, String dsFileFormat, DSRequest request)
      Specify a file with the given DataSource name, filename, fileType, fileFormat and requestContext.
      Parameters:
      dsName - The name of the DataSource
      dsFileName - The name of the file, without any extension for type or format
      dsFileType - The fileType (e.g. "ds" for datasource)
      dsFileFormat - The fileFormat (e.g. "xml" or "js")
      request - The DSRequest which provides security context for this DSFileSpec.
    • DSFileSpec

      public DSFileSpec(String dsName, String dsFileName, String dsFileType, String dsFileFormat, String tenantId, DSRequest request)
      Specify a file with the given DataSource name, filename, fileType, fileFormat, tenant ID, and requestContext. The tenant ID is available as part of Multi-Tenant DataSource support.
      Parameters:
      dsName - The name of the DataSource
      dsFileName - The name of the file, without any extension for type or format
      dsFileType - The fileType (e.g. "ds" for datasource)
      dsFileFormat - The fileFormat (e.g. "xml" or "js")
      tenantId - The tenant to specify for the file accses
      request - The DSRequest which provides security context for this DSFileSpec.
    • DSFileSpec

      public DSFileSpec(Map record)
      Specify a file from a Map specifying one or more of fileName, fileType and fileFormat.
      Parameters:
      record - A Map specifying one or more of fileName, fileType and fileFormat.
    • DSFileSpec

      public DSFileSpec(String dsName, Map record)
      Specify a file from a dsName and a Map specifying one or more of fileName, fileType and fileFormat.
      Parameters:
      dsName - The name of the DataSource
      record - A Map specifying one or more of fileName, fileType and fileFormat.
    • DSFileSpec

      public DSFileSpec(String dsName, Map record, DSRequest request)
      Specify a file from a dsName and a Map specifying one or more of fileName, fileType and fileFormat.
      Parameters:
      dsName - The name of the DataSource
      record - A Map specifying one or more of fileName, fileType and fileFormat.
      request - The DSRequest which provides security context for this DSFileSpec.
    • DSFileSpec

      public DSFileSpec(String url)
      Construct a DSFileSpec from a URL-like string.
      Parameters:
      url - URL-like specification for the file.

      To specify both the dsName and the filename, use a URL that looks like ds://datasourceName/fileName.type.format -- e.g. "ds://projects/bigProject.proj.xml"). Note that the fileType and fileFormat should not have any spaces.

      If you want a DSFileSpec that only parses the filename, then just specify the filename, like this "fileName.type.format".

    • DSFileSpec

      public DSFileSpec(String url, DSRequest request)
      Construct a DSFileSpec from a URL-like string.
      Parameters:
      url - URL-like specification for the file.
      request - The DSRequest which provides security context for this DSFileSpec.

      To specify both the dsName and the filename, use a URL that looks like ds://datasourceName/fileName.type.format -- e.g. "ds://projects/bigProject.proj.xml"). Note that the fileType and fileFormat should not have any spaces.

      If you want a DSFileSpec that only parses the filename, then just specify the filename, like this "fileName.type.format".

  • Method Details

    • getDataSourceName

      public String getDataSourceName()
      Returns:
      The name of the DataSource in which to find the file
    • setDataSourceName

      public void setDataSourceName(String name)
      Parameters:
      name - The name of the DataSource in which to find the file
    • getRequestContext

      public DSRequest getRequestContext()
      Returns:
      The request which should be consulted for security context when using this DSFileSpec.
    • setRequestContext

      public void setRequestContext(DSRequest context)
      Parameters:
      context - The DSRequest which provides security context for this DSFileSpec.
    • getFileName

      public String getFileName()
      Returns:
      The fileName, without any extension for type or format.
    • setFileName

      public void setFileName(String name)
      Parameters:
      name - The fileName, without any extension for type or format.
    • getFileType

      public String getFileType()
      Returns:
      The fileType, e.g. "ds"
    • setFileType

      public void setFileType(String type)
      Parameters:
      type - The fileType, e.g. "ds"
    • getFileFormat

      public String getFileFormat()
      Returns:
      The fileFormat, e.g. "xml" or "js"
    • setFileFormat

      public void setFileFormat(String format)
      Parameters:
      format - The fileFormat, e.g. "xml" or "js"
    • getFileTenantId

      public String getFileTenantId()
      Returns:
      The tenant ID
    • hasFileTenantId

      public boolean hasFileTenantId()
      Returns:
      Whether fileSpec specifies a tenant ID
    • setFileTenantId

      public void setFileTenantId(DSRequest request)
      Sets the tenant ID based on the supplied DSRequest. This is different than setting the request on the fileSpec, since binding the request to the fileSpec may change the transaction associated with the operation, etc.
      Parameters:
      request - request checked for an authenticated tenant ID
    • setFileTenantId

      public void setFileTenantId(String tenantId)
      Parameters:
      tenantId - The tenant ID to use for the file lookup
    • hasFileTenantIdField

      public boolean hasFileTenantIdField()
      Does the DataSource associated with this DSFileSpec have a Tenant ID field?
      Returns:
      has a Tenant ID field
    • getMatchNullTenantId

      public boolean getMatchNullTenantId()
      Whether or not when a tenant ID has been specified for this fileSpec, the criteria also allows the tenant ID to be null. This lets a common fallback definition to be provided.
      Returns:
      Whether to match null too
    • setMatchNullTenantId

      public void setMatchNullTenantId(boolean matchNullTenantId)
      Setter for null tenant ID matching mode. See getMatchNullTenantId().
      Parameters:
      matchNullTenantId - Whether to match null too
    • getOwnerId

      public String getOwnerId()
      Returns:
      The ownerId
    • setOwnerId

      public void setOwnerId(String ownerId)
      Parameters:
      ownerId - The ownerId