Package com.databricks.jdbc.api.impl.volume

## Class DatabricksUCVolumeClient

- java.lang.Object
- - com.databricks.jdbc.api.impl.volume.DatabricksUCVolumeClient

All Implemented Interfaces:
  `IDatabricksUCVolumeClient`

    public class DatabricksUCVolumeClient
    extends Object
    implements IDatabricksUCVolumeClient

Implementation for DatabricksUCVolumeClient

### Constructor Summary

Constructors
`DatabricksUCVolumeClient​(Connection connection)`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `deleteObject​(String catalog, String schema, String volume, String objectPath)` deleteObject(): Remove an object from a specified path within a UC Volume
`org.apache.http.entity.InputStreamEntity` `getObject​(String catalog, String schema, String volume, String objectPath)` getObject(): Retrieves an object as input stream from the UC Volume
`boolean` `getObject​(String catalog, String schema, String volume, String objectPath, String localPath)` getObject(): Retrieves an object (file) from the UC Volume and stores it in the local path
`List<String>` `listObjects​(String catalog, String schema, String volume, String prefix)`
`List<String>` `listObjects​(String catalog, String schema, String volume, String prefix, boolean caseSensitive)` listObjects(): Lists all filenames in the UC Volume that start with a specified prefix.
`boolean` `objectExists​(String catalog, String schema, String volume, String objectPath)`
`boolean` `objectExists​(String catalog, String schema, String volume, String objectPath, boolean caseSensitive)` objectExists(): Determines if a specific object (file) exists in the UC Volume The object that we are looking for must match the file name exactly
`boolean` `prefixExists​(String catalog, String schema, String volume, String prefix)`
`boolean` `prefixExists​(String catalog, String schema, String volume, String prefix, boolean caseSensitive)` prefixExists(): Determines if a specific prefix (folder-like structure) exists in the UC Volume The prefix that we are looking for must be a part of the file name.
`boolean` `putObject​(String catalog, String schema, String volume, String objectPath, InputStream inputStream, long contentLength, boolean toOverwrite)` putObject(): Upload data from an input stream to a specified path within a UC Volume.
`boolean` `putObject​(String catalog, String schema, String volume, String objectPath, String localPath, boolean toOverwrite)` putObject(): Upload data from a local path to a specified path within a UC Volume.
`boolean` `volumeExists​(String catalog, String schema, String volumeName)`
`boolean` `volumeExists​(String catalog, String schema, String volumeName, boolean caseSensitive)` volumeExists(): Determines if a specific volume exists in the given catalog and schema.

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

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

### Constructor Detail

#### DatabricksUCVolumeClient

    public DatabricksUCVolumeClient​(Connection connection)

### Method Detail

#### prefixExists

    public boolean prefixExists​(String catalog,
                                String schema,
                                String volume,
                                String prefix)
                         throws SQLException

Throws:
  `SQLException`

#### prefixExists

    public boolean prefixExists​(String catalog,
                                String schema,
                                String volume,
                                String prefix,
                                boolean caseSensitive)
                         throws SQLException

Description copied from interface: `IDatabricksUCVolumeClient`
prefixExists(): Determines if a specific prefix (folder-like structure) exists in the UC Volume The prefix that we are looking for must be a part of the file name.

Specified by:
  `prefixExists` in interface `IDatabricksUCVolumeClient`
Parameters:
  `catalog` - the catalog name of the cloud storage
  `schema` - the schema name of the cloud storage
  `volume` - the UC volume name of the cloud storage
  `prefix` - the prefix to check for existence along with the relative path from the volume as the root directory
  `caseSensitive` - a boolean indicating whether the check should be case-sensitive or not
Returns:
  a boolean indicating whether the prefix exists or not
Throws:
  `SQLException`

#### objectExists

    public boolean objectExists​(String catalog,
                                String schema,
                                String volume,
                                String objectPath,
                                boolean caseSensitive)
                         throws SQLException

Description copied from interface: `IDatabricksUCVolumeClient`
objectExists(): Determines if a specific object (file) exists in the UC Volume The object that we are looking for must match the file name exactly

Specified by:
  `objectExists` in interface `IDatabricksUCVolumeClient`
Parameters:
  `catalog` - the catalog name of the cloud storage
  `schema` - the schema name of the cloud storage
  `volume` - the UC volume name of the cloud storage
  `objectPath` - the path of the object (file) from the volume as the root directory to check for existence within the volume (inside any sub-folder)
  `caseSensitive` - a boolean indicating whether the check should be case-sensitive or not
Returns:
  a boolean indicating whether the object exists or not
Throws:
  `SQLException`

#### objectExists

    public boolean objectExists​(String catalog,
                                String schema,
                                String volume,
                                String objectPath)
                         throws SQLException

Throws:
  `SQLException`

#### volumeExists

    public boolean volumeExists​(String catalog,
                                String schema,
                                String volumeName,
                                boolean caseSensitive)
                         throws SQLException

Description copied from interface: `IDatabricksUCVolumeClient`
volumeExists(): Determines if a specific volume exists in the given catalog and schema. The volume that we are looking for must match the volume name exactly.

Specified by:
  `volumeExists` in interface `IDatabricksUCVolumeClient`
Parameters:
  `catalog` - the catalog name of the cloud storage
  `schema` - the schema name of the cloud storage
  `volumeName` - the name of the volume to check for existence
  `caseSensitive` - a boolean indicating whether the check should be case-sensitive or not
Returns:
  a boolean indicating whether the volume exists or not
Throws:
  `SQLException`

#### volumeExists

    public boolean volumeExists​(String catalog,
                                String schema,
                                String volumeName)
                         throws SQLException

Throws:
  `SQLException`

#### listObjects

    public List<String> listObjects​(String catalog,
                                    String schema,
                                    String volume,
                                    String prefix,
                                    boolean caseSensitive)
                             throws SQLException

Description copied from interface: `IDatabricksUCVolumeClient`
listObjects(): Lists all filenames in the UC Volume that start with a specified prefix. The prefix that we are looking for must be a part of the file path from the volume as the root.

Specified by:
  `listObjects` in interface `IDatabricksUCVolumeClient`
Parameters:
  `catalog` - the catalog name of the cloud storage
  `schema` - the schema name of the cloud storage
  `volume` - the UC volume name of the cloud storage
  `prefix` - the prefix of the filenames to list. This includes the relative path from the volume as the root directory
  `caseSensitive` - a boolean indicating whether the check should be case-sensitive or not
Returns:
  a list of strings indicating the filenames that start with the specified prefix
Throws:
  `SQLException`

#### listObjects

    public List<String> listObjects​(String catalog,
                                    String schema,
                                    String volume,
                                    String prefix)
                             throws SQLException

Throws:
  `SQLException`

#### getObject

    public boolean getObject​(String catalog,
                             String schema,
                             String volume,
                             String objectPath,
                             String localPath)
                      throws SQLException

Description copied from interface: `IDatabricksUCVolumeClient`
getObject(): Retrieves an object (file) from the UC Volume and stores it in the local path

Specified by:
  `getObject` in interface `IDatabricksUCVolumeClient`
Parameters:
  `catalog` - the catalog name of the cloud storage
  `schema` - the schema name of the cloud storage
  `volume` - the UC volume name of the cloud storage
  `objectPath` - the path of the object (file) from the volume as the root directory
  `localPath` - the local path where the retrieved data is to be stored
Returns:
  a boolean value indicating status of the GET operation
Throws:
  `SQLException`

#### getObject

    public org.apache.http.entity.InputStreamEntity getObject​(String catalog,
                                                              String schema,
                                                              String volume,
                                                              String objectPath)
                                                       throws SQLException

Description copied from interface: `IDatabricksUCVolumeClient`
getObject(): Retrieves an object as input stream from the UC Volume

Specified by:
  `getObject` in interface `IDatabricksUCVolumeClient`
Parameters:
  `catalog` - the catalog name of the cloud storage
  `schema` - the schema name of the cloud storage
  `volume` - the UC volume name of the cloud storage
  `objectPath` - the path of the object (file) from the volume as the root directory
Returns:
  an instance of input stream entity
Throws:
  `SQLException`

#### putObject

    public boolean putObject​(String catalog,
                             String schema,
                             String volume,
                             String objectPath,
                             String localPath,
                             boolean toOverwrite)
                      throws SQLException

Description copied from interface: `IDatabricksUCVolumeClient`
putObject(): Upload data from a local path to a specified path within a UC Volume.

Specified by:
  `putObject` in interface `IDatabricksUCVolumeClient`
Parameters:
  `catalog` - the catalog name of the cloud storage
  `schema` - the schema name of the cloud storage
  `volume` - the UC volume name of the cloud storage
  `objectPath` - the destination path where the object (file) is to be uploaded from the volume as the root directory
  `localPath` - the local path from where the data is to be uploaded
  `toOverwrite` - a boolean indicating whether to overwrite the object if it already exists
Returns:
  a boolean value indicating status of the PUT operation
Throws:
  `SQLException`

#### putObject

    public boolean putObject​(String catalog,
                             String schema,
                             String volume,
                             String objectPath,
                             InputStream inputStream,
                             long contentLength,
                             boolean toOverwrite)
                      throws SQLException

Description copied from interface: `IDatabricksUCVolumeClient`
putObject(): Upload data from an input stream to a specified path within a UC Volume.

Specified by:
  `putObject` in interface `IDatabricksUCVolumeClient`
Parameters:
  `catalog` - the catalog name of the cloud storage
  `schema` - the schema name of the cloud storage
  `volume` - the UC volume name of the cloud storage
  `objectPath` - the destination path where the object (file) is to be uploaded from the volume as the root directory
  `inputStream` - the input stream from where the data is to be uploaded
  `contentLength` - the length of the input stream
  `toOverwrite` - a boolean indicating whether to overwrite the object if it already exists
Returns:
  a boolean value indicating status of the PUT operation
Throws:
  `SQLException`

#### deleteObject

    public boolean deleteObject​(String catalog,
                                String schema,
                                String volume,
                                String objectPath)
                         throws SQLException

Description copied from interface: `IDatabricksUCVolumeClient`
deleteObject(): Remove an object from a specified path within a UC Volume

Specified by:
  `deleteObject` in interface `IDatabricksUCVolumeClient`
Parameters:
  `catalog` - the catalog name of the cloud storage
  `schema` - the schema name of the cloud storage
  `volume` - the UC volume name of the cloud storage
  `objectPath` - the path of the object (file) from the volume as the root directory to delete
Returns:
  a boolean value indicating status of the DELETE operation
Throws:
  `SQLException`