Package fr.gouv.vitam.cas.container.swift

# Class OpenstackSwift

java.lang.Object
fr.gouv.vitam.common.storage.cas.container.api.ContentAddressableStorageAbstract
fr.gouv.vitam.common.storage.cas.container.api.ContentAddressableStorageJcloudsAbstract
fr.gouv.vitam.cas.container.swift.OpenstackSwift

All Implemented Interfaces:
  `VitamAutoCloseable`, `ContentAddressableStorage`, `AutoCloseable`

public class OpenstackSwift extends ContentAddressableStorageJcloudsAbstract
Creates `BlobStoreContext` configured on `StorageConfiguration` storage.conf file . This can be used to make an information about container.

See Also:
  - `SwiftApi`
  - `BlobStoreContext`
  - https://github.com/jclouds/jclouds/pull/1046

    Managing the header name in the TempAuth (Identity Protocol v1)

- ## Field Summary

  ### Fields inherited from class fr.gouv.vitam.common.storage.cas.container.api.ContentAddressableStorageJcloudsAbstract

  `context`

  ### Fields inherited from class fr.gouv.vitam.common.storage.cas.container.api.ContentAddressableStorageAbstract

  `LISTING_MAX_RESULTS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `OpenstackSwift(StorageConfiguration configuration)`
  `OpenstackSwift(StorageConfiguration configuration, org.jclouds.openstack.swift.v1.SwiftApi swiftApi, org.jclouds.openstack.swift.v1.features.ContainerApi containerApi, org.jclouds.openstack.swift.v1.features.AccountApi accountApi)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `void`
  `closeContext()`
  Close context according to implementation (http client not closed)
  `void`
  `createContainer(String containerName)`
  Creates a container
  `ContainerInformation`
  `getContainerInformation(String containerName)`
  Get container information like capacity
  `org.jclouds.blobstore.BlobStoreContext`
  `getContext(StorageConfiguration configuration)`
  enables the connection to a storage service with the param provided
  `int`
  `getMaxResults()`
  `MetadatasObject`
  `getObjectMetadata(String containerName, String objectId, boolean noCache)`
  get metadata of the object

  ### Methods inherited from class fr.gouv.vitam.common.storage.cas.container.api.ContentAddressableStorageJcloudsAbstract

  `checkObjectDigestAndStoreDigest, deleteObject, getObject, getObjectDigest, isExistingContainer, isExistingObject, listContainer, writeObject`

  ### Methods inherited from class fr.gouv.vitam.common.storage.cas.container.api.ContentAddressableStorageAbstract

  `cacheExistsContainer, computeObjectDigest, computeObjectDigestAndSize, disableContainerCaching, getConfiguration, isExistingContainerInCache`

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

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

  ### Methods inherited from interface fr.gouv.vitam.common.storage.cas.container.api.ContentAddressableStorage

  `checkAccessRequestStatuses, checkObjectAvailability, createAccessRequest, putObject, removeAccessRequest`

- ## Constructor Details

  - ### OpenstackSwift

    public OpenstackSwift(StorageConfiguration configuration)
    Parameters:
      `configuration` -

  - ### OpenstackSwift

    public OpenstackSwift(StorageConfiguration configuration, org.jclouds.openstack.swift.v1.SwiftApi swiftApi, org.jclouds.openstack.swift.v1.features.ContainerApi containerApi, org.jclouds.openstack.swift.v1.features.AccountApi accountApi)

- ## Method Details

  - ### getContainerInformation

    public ContainerInformation getContainerInformation(String containerName) throws ContentAddressableStorageNotFoundException
    Description copied from interface: `ContentAddressableStorage`
    Get container information like capacity
    Specified by:
      `getContainerInformation` in interface `ContentAddressableStorage`
    Specified by:
      `getContainerInformation` in class `ContentAddressableStorageJcloudsAbstract`
    Parameters:
      `containerName` - the container name
    Returns:
      container information like usableSpace
    Throws:
      `ContentAddressableStorageNotFoundException` - Thrown when the container cannot be located.

  - ### getContext

    public org.jclouds.blobstore.BlobStoreContext getContext(StorageConfiguration configuration)
    Description copied from class: `ContentAddressableStorageJcloudsAbstract`
    enables the connection to a storage service with the param provided
    Specified by:
      `getContext` in class `ContentAddressableStorageJcloudsAbstract`
    Parameters:
      `configuration` - the storage configuration
    Returns:
      BlobStoreContext

  - ### closeContext

    public void closeContext()
    Description copied from class: `ContentAddressableStorageJcloudsAbstract`
    Close context according to implementation (http client not closed)
    Specified by:
      `closeContext` in class `ContentAddressableStorageJcloudsAbstract`

  - ### close

    public void close()

  - ### createContainer

    public void createContainer(String containerName)
    Description copied from interface: `ContentAddressableStorage`
    Creates a container
    Specified by:
      `createContainer` in interface `ContentAddressableStorage`
    Overrides:
      `createContainer` in class `ContentAddressableStorageJcloudsAbstract`
    Parameters:
      `containerName` - name of container to create

  - ### getMaxResults

    public int getMaxResults()
    Returns:
      the maxResults

  - ### getObjectMetadata

    public MetadatasObject getObjectMetadata(String containerName, String objectId, boolean noCache) throws ContentAddressableStorageException
    Description copied from interface: `ContentAddressableStorage`
    get metadata of the object
    Parameters:
      `containerName` - the container name
      `objectId` - the objectId to check
    Returns:
      MetadatasObjectResult
    Throws:
      `ContentAddressableStorageException` - Thrown when get action failed due some other failure