Package fr.gouv.vitam.worker.core.impl

# Class HandlerIOImpl

java.lang.Object
fr.gouv.vitam.worker.core.impl.HandlerIOImpl

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

public class HandlerIOImpl extends Object implements HandlerIO, VitamAutoCloseable
Handler input and output parameter

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `NOT_CONFORM_PARAM`
  Not Conform Param

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `HandlerIOImpl(WorkFlowExecutionContext workFlowExecutionContext, WorkspaceClientFactory workspaceClientFactory, WorkspaceCollectClientFactory workspaceCollectClientFactory, LogbookLifeCyclesClientFactory logbookLifeCyclesClientFactory, MetaDataClientFactory metaDataClientFactory, String containerName, String workerId, List<String> objectIds)`
  `HandlerIOImpl(WorkFlowExecutionContext workFlowExecutionContext, WorkspaceClientFactory workspaceClientFactory, WorkspaceCollectClientFactory workspaceCollectClientFactory, LogbookLifeCyclesClientFactory logbookLifeCyclesClientFactory, String containerName, String workerId, List<String> objectIds)`
  Constructor with workspaceClient, local root path he is used for test purpose
  `HandlerIOImpl(WorkFlowExecutionContext workFlowExecutionContext, String containerName, String workerId, List<String> objectIds)`
  Constructor with local root path

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addInIOParameters(List<IOParameter> list)`
  Add Input parameters
  `void`
  `addOutIOParameters(List<IOParameter> list)`
  Add Output parameters
  `HandlerIO`
  `addOutputResult(int rank, Object object)`
  `HandlerIO`
  `addOutputResult(int rank, Object object, boolean asyncIO)`
  Add one output result (no delete)
  `HandlerIO`
  `addOutputResult(int rank, Object object, boolean deleteLocal, boolean asyncIO)`
  Add one output result
  `boolean`
  `checkHandlerIO(int outputNumber, List<Class<?>> clasz)`
  Check if input and output have the very same number of elements and for Input the associated types
  `void`
  `close()`
  `void`
  `consumeAnyEntityAndClose(jakarta.ws.rs.core.Response response)`
  Consume any entity and close response
  `void`
  `enableAsync(boolean async)`
  If true then start async manager, if false then waitEndOfTransfer and stop asyncManager
  `AdminManagementClient`
  `getAdminManagementClient()`
  `AdminManagementClientFactory`
  `getAdminManagementClientFactory()`
  `BatchReportClient`
  `getBatchReportClient()`
  `BatchReportClientFactory`
  `getBatchReportClientFactory()`
  `CollectInternalClient`
  `getCollectInternalClient()`
  `CollectInternalClientFactory`
  `getCollectInternalClientFactory()`
  `String`
  `getContainerName()`
  `File`
  `getFile(int rank)`
  `File`
  `getFileFromWorkspace(WorkFlowExecutionContext executionContext, String objectName)`
  Helper to load a file from Workspace (or local cache) and save it into local cache.
  To be used when not specified within the Input parameters
  `File`
  `getFileFromWorkspace(String objectName)`
  Helper to load a file from Workspace (or local cache) and save it into local cache.
  To be used when not specified within the Input parameters
  `Map<String,Long>`
  `getFilesWithParamsFromWorkspace(WorkFlowExecutionContext executionContext, String containerName, String folderName)`
  get Map of File With Params From folder in Workspace
  `Map<String,Long>`
  `getFilesWithParamsFromWorkspace(String containerName, String folderName)`
  get Map of File With Params From folder in Workspace
  `LogbookLifeCyclesClientHelper`
  `getHelper()`
  `List<Object>`
  `getInput()`
  `Object`
  `getInput(int rank)`
  Return one Object from input
  `<T> T`
  `getInput(int rank, Class<T> type)`
  Return one Object casted to type from input
  `InputStream`
  `getInputStreamFromWorkspace(WorkFlowExecutionContext executionContext, String objectName)`
  Helper to get an InputStream (using local cache if possible) from Workspace
  To be used when not specified within the Input parameters
  `InputStream`
  `getInputStreamFromWorkspace(String objectName)`
  Helper to get an InputStream (using local cache if possible) from Workspace
  To be used when not specified within the Input parameters
  `com.fasterxml.jackson.databind.JsonNode`
  `getJsonFromWorkspace(WorkFlowExecutionContext executionContext, String jsonFilePath)`
  Retrieve a json file as a `JsonNode` from the workspace.
  `com.fasterxml.jackson.databind.JsonNode`
  `getJsonFromWorkspace(String jsonFilePath)`
  Retrieve a json file as a `JsonNode` from the workspace.
  `LogbookLifeCyclesClient`
  `getLifeCyclesClient()`
  `LogbookLifeCyclesClientFactory`
  `getLifeCyclesClientFactory()`
  `LogbookOperationsClient`
  `getLogbookOperationsClient()`
  `LogbookOperationsClientFactory`
  `getLogbookOperationsClientFactory()`
  `MetaDataClient`
  `getMetaDataClient()`
  `MetaDataClientFactory`
  `getMetaDataClientFactory()`
  `File`
  `getNewLocalFile(WorkFlowExecutionContext executionContext, String name)`
  `File`
  `getNewLocalFile(String name)`
  `List<ProcessingUri>`
  `getOutput()`
  `ProcessingUri`
  `getOutput(int rank)`
  Return one ProcessingUri from output
  `StorageClient`
  `getStorageClient()`
  `StorageClientFactory`
  `getStorageClientFactory()`
  `List<URI>`
  `getUriList(String containerName, String folderName)`
  `String`
  `getWorkerId()`
  `WorkFlowExecutionContext`
  `getWorkFlowExecutionContext()`
  `WorkspaceClient`
  `getWorkspaceClient()`
  `WorkspaceClient`
  `getWorkspaceClient(WorkFlowExecutionContext executionContext)`
  `WorkspaceClientFactory`
  `getWorkspaceClientFactory()`
  `WorkspaceClient`
  `getWorkspaceCollectClient()`
  `WorkspaceCollectClientFactory`
  `getWorkspaceCollectClientFactory()`
  `boolean`
  `isExistingFileInWorkspace(String workspacePath)`
  `void`
  `partialClose()`
  Close the HandlerIO, including temporary files and directories at the end of the step Workflow execution, but do not close the WorkspaceClient
  `boolean`
  `removeFolder(String folderName)`
  Remove a specific folder
  `void`
  `reset()`
  Reset after each Action
  `void`
  `setCurrentObjectId(String currentObjectId)`
  `void`
  `transferAtomicFileToWorkspace(String workspacePath, File sourceFile)`
  `void`
  `transferFileToWorkspace(String workspacePath, File sourceFile, boolean toDelete, boolean asyncIO)`
  Helper to write a file to Workspace
  To be used when not specified within the Output Parameters
  `void`
  `transferInputStreamToWorkspace(String workspacePath, InputStream inputStream, Path filePath, boolean asyncIO)`
  Helper to write an InputStream to Workspace
  To be used when not specified within the Output Parameters
  `void`
  `transferJsonToWorkspace(WorkFlowExecutionContext executionContext, String collectionName, String objectName, com.fasterxml.jackson.databind.JsonNode jsonNode, boolean toDelete, boolean asyncIO)`
  Helper to convert and write a file to Workspace
  `void`
  `transferJsonToWorkspace(String collectionName, String objectName, com.fasterxml.jackson.databind.JsonNode jsonNode, boolean toDelete, boolean asyncIO)`
  Helper to convert and write a file to Workspace
  `void`
  `unzipInputStreamOnWorkspace(String container, String folderName, String archiveMimeType, InputStream uploadedInputStream, boolean asyncIO)`

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

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

- ## Field Details

  - ### NOT_CONFORM_PARAM

    public static final String NOT_CONFORM_PARAM
    Not Conform Param
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### HandlerIOImpl

    public HandlerIOImpl(WorkFlowExecutionContext workFlowExecutionContext, String containerName, String workerId, List<String> objectIds)
    Constructor with local root path
    Parameters:
      `workFlowExecutionContext` -
      `containerName` - the container name
      `workerId` - the worker id
      `objectIds` -

  - ### HandlerIOImpl

    public HandlerIOImpl(WorkFlowExecutionContext workFlowExecutionContext, WorkspaceClientFactory workspaceClientFactory, WorkspaceCollectClientFactory workspaceCollectClientFactory, LogbookLifeCyclesClientFactory logbookLifeCyclesClientFactory, String containerName, String workerId, List<String> objectIds)
    Constructor with workspaceClient, local root path he is used for test purpose
    Parameters:
      `workFlowExecutionContext` -
      `workspaceClientFactory` -
      `workspaceCollectClientFactory` -
      `logbookLifeCyclesClientFactory` -
      `containerName` - the container name
      `workerId` - the worker id
      `objectIds` -

  - ### HandlerIOImpl

    public HandlerIOImpl(WorkFlowExecutionContext workFlowExecutionContext, WorkspaceClientFactory workspaceClientFactory, WorkspaceCollectClientFactory workspaceCollectClientFactory, LogbookLifeCyclesClientFactory logbookLifeCyclesClientFactory, MetaDataClientFactory metaDataClientFactory, String containerName, String workerId, List<String> objectIds)

- ## Method Details

  - ### getHelper

    public LogbookLifeCyclesClientHelper getHelper()
    Specified by:
      `getHelper` in interface `HandlerIO`
    Returns:
      the helper for bulk lifecycle for LifecyclesClient

  - ### addInIOParameters

    public void addInIOParameters(List<IOParameter> list)
    Description copied from interface: `HandlerIO`
    Add Input parameters
    Specified by:
      `addInIOParameters` in interface `HandlerIO`
    Parameters:
      `list` -

  - ### addOutIOParameters

    public void addOutIOParameters(List<IOParameter> list)
    Description copied from interface: `HandlerIO`
    Add Output parameters
    Specified by:
      `addOutIOParameters` in interface `HandlerIO`
    Parameters:
      `list` -

  - ### reset

    public void reset()
    Description copied from interface: `HandlerIO`
    Reset after each Action
    Specified by:
      `reset` in interface `HandlerIO`

  - ### close

    public void close()
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `VitamAutoCloseable`

  - ### partialClose

    public void partialClose()
    Close the HandlerIO, including temporary files and directories at the end of the step Workflow execution, but do not close the WorkspaceClient

  - ### getInput

    public List<Object> getInput()
    Specified by:
      `getInput` in interface `HandlerIO`
    Returns:
      list of input

  - ### getInput

    public Object getInput(int rank)
    Description copied from interface: `HandlerIO`
    Return one Object from input
    Specified by:
      `getInput` in interface `HandlerIO`
    Parameters:
      `rank` -
    Returns:
      the rank-th object

  - ### getInput

    public <T> T getInput(int rank, Class<T> type)
    Description copied from interface: `HandlerIO`
    Return one Object casted to type from input
    Specified by:
      `getInput` in interface `HandlerIO`
    Parameters:
      `rank` -
    Returns:
      the rank-th object

  - ### getFile

    public File getFile(int rank)
    Specified by:
      `getFile` in interface `HandlerIO`

  - ### getOutput

    public List<ProcessingUri> getOutput()
    Specified by:
      `getOutput` in interface `HandlerIO`
    Returns:
      list of output

  - ### getOutput

    public ProcessingUri getOutput(int rank)
    Description copied from interface: `HandlerIO`
    Return one ProcessingUri from output
    Specified by:
      `getOutput` in interface `HandlerIO`
    Parameters:
      `rank` -
    Returns:
      the rank-th ProcessingUri

  - ### addOutputResult

    public HandlerIO addOutputResult(int rank, Object object) throws ProcessingException
    Specified by:
      `addOutputResult` in interface `HandlerIO`
    Throws:
      `ProcessingException`

  - ### addOutputResult

    public HandlerIO addOutputResult(int rank, Object object, boolean asyncIO) throws ProcessingException
    Description copied from interface: `HandlerIO`
    Add one output result (no delete)
    Specified by:
      `addOutputResult` in interface `HandlerIO`
    Parameters:
      `rank` - the position in the output
      `object` - the result to store (WORKSPACE to workspace and must be a File, MEMORY to memory whatever it is)
      `asyncIO` - asynchronously send to the workspace
    Returns:
      this
    Throws:
      `ProcessingException`

  - ### addOutputResult

    public HandlerIO addOutputResult(int rank, Object object, boolean deleteLocal, boolean asyncIO) throws ProcessingException
    Description copied from interface: `HandlerIO`
    Add one output result
    Specified by:
      `addOutputResult` in interface `HandlerIO`
    Parameters:
      `rank` - the position in the output
      `object` - the result to store (WORKSPACE to workspace and must be a File, MEMORY to memory whatever it is)
      `deleteLocal` - if true, will delete the local file in case of WORKSPACE only
      `asyncIO` - asynchronously send to the workspace
    Returns:
      this
    Throws:
      `ProcessingException`

  - ### getContainerName

    public String getContainerName()
    Specified by:
      `getContainerName` in interface `HandlerIO`
    Returns:
      the container Name

  - ### getWorkerId

    public String getWorkerId()
    Specified by:
      `getWorkerId` in interface `HandlerIO`
    Returns:
      the worker Id

  - ### getNewLocalFile

    public File getNewLocalFile(String name)
    Specified by:
      `getNewLocalFile` in interface `HandlerIO`
    Parameters:
      `name` -
    Returns:
      a File pointing to a local path in Tmp directory under protected Worker instance space

  - ### getNewLocalFile

    public File getNewLocalFile(WorkFlowExecutionContext executionContext, String name)
    Specified by:
      `getNewLocalFile` in interface `HandlerIO`
    Parameters:
      `executionContext` - the execution context
      `name` -
    Returns:
      a File pointing to a local path in Tmp directory under protected Worker instance space

  - ### checkHandlerIO

    public boolean checkHandlerIO(int outputNumber, List<Class<?>> clasz)
    Description copied from interface: `HandlerIO`
    Check if input and output have the very same number of elements and for Input the associated types
    Specified by:
      `checkHandlerIO` in interface `HandlerIO`
    Parameters:
      `outputNumber` - the number of outputArguments
      `clasz` - the list of Class that should be in the InputParameters
    Returns:
      true if everything ok

  - ### isExistingFileInWorkspace

    public boolean isExistingFileInWorkspace(String workspacePath) throws ProcessingException
    Specified by:
      `isExistingFileInWorkspace` in interface `HandlerIO`
    Throws:
      `ProcessingException`

  - ### transferFileToWorkspace

    public void transferFileToWorkspace(String workspacePath, File sourceFile, boolean toDelete, boolean asyncIO) throws ProcessingException
    Description copied from interface: `HandlerIO`
    Helper to write a file to Workspace
    To be used when not specified within the Output Parameters
    Specified by:
      `transferFileToWorkspace` in interface `HandlerIO`
    Parameters:
      `workspacePath` - path within the workspath, without the container (implicit)
      `sourceFile` - the source file to write
      `toDelete` - if True, will delete the local file
      `asyncIO` - asynchronously send to the workspace
    Throws:
      `ProcessingException`

  - ### transferAtomicFileToWorkspace

    public void transferAtomicFileToWorkspace(String workspacePath, File sourceFile) throws ProcessingException
    Specified by:
      `transferAtomicFileToWorkspace` in interface `HandlerIO`
    Throws:
      `ProcessingException`

  - ### transferInputStreamToWorkspace

    public void transferInputStreamToWorkspace(String workspacePath, InputStream inputStream, Path filePath, boolean asyncIO) throws ProcessingException
    Description copied from interface: `HandlerIO`
    Helper to write an InputStream to Workspace
    To be used when not specified within the Output Parameters
    Specified by:
      `transferInputStreamToWorkspace` in interface `HandlerIO`
    Parameters:
      `workspacePath` - path within the workspath, without the container (implicit)
      `inputStream` - the source InputStream to write
      `asyncIO` - asynchronously send to the workspace
    Throws:
      `ProcessingException`

  - ### getFileFromWorkspace

    public File getFileFromWorkspace(String objectName) throws IOException, ContentAddressableStorageNotFoundException, ContentAddressableStorageServerException
    Description copied from interface: `HandlerIO`
    Helper to load a file from Workspace (or local cache) and save it into local cache.
    To be used when not specified within the Input parameters
    Specified by:
      `getFileFromWorkspace` in interface `HandlerIO`
    Parameters:
      `objectName` -
    Returns:
      file if found
    Throws:
      `IOException`
      `ContentAddressableStorageNotFoundException`
      `ContentAddressableStorageServerException`

  - ### getFileFromWorkspace

    public File getFileFromWorkspace(WorkFlowExecutionContext executionContext, String objectName) throws IOException, ContentAddressableStorageNotFoundException, ContentAddressableStorageServerException
    Description copied from interface: `HandlerIO`
    Helper to load a file from Workspace (or local cache) and save it into local cache.
    To be used when not specified within the Input parameters
    Specified by:
      `getFileFromWorkspace` in interface `HandlerIO`
    Parameters:
      `executionContext` -
      `objectName` -
    Returns:
      file if found
    Throws:
      `IOException`
      `ContentAddressableStorageNotFoundException`
      `ContentAddressableStorageServerException`

  - ### getInputStreamFromWorkspace

    public InputStream getInputStreamFromWorkspace(String objectName) throws IOException, ContentAddressableStorageNotFoundException, ContentAddressableStorageServerException
    Description copied from interface: `HandlerIO`
    Helper to get an InputStream (using local cache if possible) from Workspace
    To be used when not specified within the Input parameters
    Specified by:
      `getInputStreamFromWorkspace` in interface `HandlerIO`
    Parameters:
      `objectName` -
    Returns:
      the InputStream
    Throws:
      `IOException`
      `ContentAddressableStorageNotFoundException`
      `ContentAddressableStorageServerException`

  - ### getInputStreamFromWorkspace

    public InputStream getInputStreamFromWorkspace(WorkFlowExecutionContext executionContext, String objectName) throws IOException, ContentAddressableStorageNotFoundException, ContentAddressableStorageServerException
    Description copied from interface: `HandlerIO`
    Helper to get an InputStream (using local cache if possible) from Workspace
    To be used when not specified within the Input parameters
    Specified by:
      `getInputStreamFromWorkspace` in interface `HandlerIO`
    Parameters:
      `executionContext` -
      `objectName` -
    Returns:
      the InputStream
    Throws:
      `IOException`
      `ContentAddressableStorageNotFoundException`
      `ContentAddressableStorageServerException`

  - ### consumeAnyEntityAndClose

    public void consumeAnyEntityAndClose(jakarta.ws.rs.core.Response response)
    Description copied from interface: `HandlerIO`
    Consume any entity and close response
    Specified by:
      `consumeAnyEntityAndClose` in interface `HandlerIO`
    Parameters:
      `response` -

  - ### getJsonFromWorkspace

    public com.fasterxml.jackson.databind.JsonNode getJsonFromWorkspace(String jsonFilePath) throws ProcessingException
    Description copied from interface: `HandlerIO`
    Retrieve a json file as a `JsonNode` from the workspace.
    Specified by:
      `getJsonFromWorkspace` in interface `HandlerIO`
    Parameters:
      `jsonFilePath` - path in workspace of the json File
    Returns:
      JsonNode of the json file
    Throws:
      `ProcessingException` - throws when error occurs

  - ### getJsonFromWorkspace

    public com.fasterxml.jackson.databind.JsonNode getJsonFromWorkspace(WorkFlowExecutionContext executionContext, String jsonFilePath) throws ProcessingException
    Description copied from interface: `HandlerIO`
    Retrieve a json file as a `JsonNode` from the workspace.
    Specified by:
      `getJsonFromWorkspace` in interface `HandlerIO`
    Parameters:
      `executionContext` - the execution context
      `jsonFilePath` - path in workspace of the json File
    Returns:
      JsonNode of the json file
    Throws:
      `ProcessingException` - throws when error occurs

  - ### getUriList

    public List<URI> getUriList(String containerName, String folderName) throws ProcessingException
    Specified by:
      `getUriList` in interface `HandlerIO`
    Parameters:
      `containerName` -
      `folderName` -
    Returns:
      List a list of uri of object in SIP folder
    Throws:
      `ProcessingException`

  - ### transferJsonToWorkspace

    public void transferJsonToWorkspace(String collectionName, String objectName, com.fasterxml.jackson.databind.JsonNode jsonNode, boolean toDelete, boolean asyncIO) throws ProcessingException
    Description copied from interface: `HandlerIO`
    Helper to convert and write a file to Workspace
    Specified by:
      `transferJsonToWorkspace` in interface `HandlerIO`
    Parameters:
      `collectionName` - : collection type
      `objectName` - path within the workspacepath, without the container (implicit)
      `jsonNode` - the json file to write
      `toDelete` - if True, will delete the local file
      `asyncIO` - asynchronously send to the workspace
    Throws:
      `ProcessingException`

  - ### transferJsonToWorkspace

    public void transferJsonToWorkspace(WorkFlowExecutionContext executionContext, String collectionName, String objectName, com.fasterxml.jackson.databind.JsonNode jsonNode, boolean toDelete, boolean asyncIO) throws ProcessingException
    Description copied from interface: `HandlerIO`
    Helper to convert and write a file to Workspace
    Specified by:
      `transferJsonToWorkspace` in interface `HandlerIO`
    Parameters:
      `executionContext` - the execution context
      `collectionName` - : collection type
      `objectName` - path within the workspacepath, without the container (implicit)
      `jsonNode` - the json file to write
      `toDelete` - if True, will delete the local file
      `asyncIO` - asynchronously send to the workspace
    Throws:
      `ProcessingException`

  - ### unzipInputStreamOnWorkspace

    public void unzipInputStreamOnWorkspace(String container, String folderName, String archiveMimeType, InputStream uploadedInputStream, boolean asyncIO) throws ContentAddressableStorageException
    Specified by:
      `unzipInputStreamOnWorkspace` in interface `HandlerIO`
    Parameters:
      `container` -
      `folderName` -
      `archiveMimeType` -
      `uploadedInputStream` -
      `asyncIO` - asynchronously send and unzip file to/in the workspace
    Throws:
      `ContentAddressableStorageException`

  - ### enableAsync

    public void enableAsync(boolean async) throws WorkerspaceQueueException
    Description copied from interface: `HandlerIO`
    If true then start async manager, if false then waitEndOfTransfer and stop asyncManager
    Specified by:
      `enableAsync` in interface `HandlerIO`
    Parameters:
      `async` -
    Throws:
      `WorkerspaceQueueException`

  - ### removeFolder

    public boolean removeFolder(String folderName) throws ContentAddressableStorageException
    Description copied from interface: `HandlerIO`
    Remove a specific folder
    Specified by:
      `removeFolder` in interface `HandlerIO`
    Parameters:
      `folderName` - the folderName to delete
    Returns:
      true if the folder was removed, false if it does not exist
    Throws:
      `ContentAddressableStorageException` - when storage error occurs

  - ### setCurrentObjectId

    public void setCurrentObjectId(String currentObjectId)
    Specified by:
      `setCurrentObjectId` in interface `HandlerIO`

  - ### getFilesWithParamsFromWorkspace

    public Map<String,Long> getFilesWithParamsFromWorkspace(WorkFlowExecutionContext executionContext, String containerName, String folderName) throws ProcessingException
    Description copied from interface: `HandlerIO`
    get Map of File With Params From folder in Workspace
    Specified by:
      `getFilesWithParamsFromWorkspace` in interface `HandlerIO`
    Parameters:
      `executionContext` -
      `containerName` -
      `folderName` -
    Returns:
    Throws:
      `ProcessingException`

  - ### getFilesWithParamsFromWorkspace

    public Map<String,Long> getFilesWithParamsFromWorkspace(String containerName, String folderName) throws ProcessingException
    Description copied from interface: `HandlerIO`
    get Map of File With Params From folder in Workspace
    Specified by:
      `getFilesWithParamsFromWorkspace` in interface `HandlerIO`
    Parameters:
      `containerName` -
      `folderName` -
    Returns:
    Throws:
      `ProcessingException`

  - ### getLifeCyclesClientFactory

    public LogbookLifeCyclesClientFactory getLifeCyclesClientFactory()
    Specified by:
      `getLifeCyclesClientFactory` in interface `HandlerIO`
    Returns:
      the LogbookLifeCyclesClientFactory for the current execution context

  - ### getLifeCyclesClient

    public LogbookLifeCyclesClient getLifeCyclesClient()
    Specified by:
      `getLifeCyclesClient` in interface `HandlerIO`
    Returns:
      the HandlerIO LifecycleClient

  - ### getWorkspaceClientFactory

    public WorkspaceClientFactory getWorkspaceClientFactory()
    Specified by:
      `getWorkspaceClientFactory` in interface `HandlerIO`
    Returns:
      the WorkspaceClientFactory for the current execution context

  - ### getWorkspaceCollectClientFactory

    public WorkspaceCollectClientFactory getWorkspaceCollectClientFactory()
    Specified by:
      `getWorkspaceCollectClientFactory` in interface `HandlerIO`
    Returns:
      the WorkspaceCollectClientFactory for the current execution context

  - ### getWorkspaceClient

    public WorkspaceClient getWorkspaceClient(WorkFlowExecutionContext executionContext)
    Specified by:
      `getWorkspaceClient` in interface `HandlerIO`
    Parameters:
      `executionContext` - the execution context
    Returns:
      the WorkspaceClient for a given execution context

  - ### getWorkspaceClient

    public WorkspaceClient getWorkspaceClient()
    Specified by:
      `getWorkspaceClient` in interface `HandlerIO`
    Returns:
      the WorkspaceClient for the current execution context

  - ### getWorkspaceCollectClient

    public WorkspaceClient getWorkspaceCollectClient()
    Specified by:
      `getWorkspaceCollectClient` in interface `HandlerIO`
    Returns:
      the WorkspaceCollectClient for the current execution context

  - ### getMetaDataClientFactory

    public MetaDataClientFactory getMetaDataClientFactory()
    Specified by:
      `getMetaDataClientFactory` in interface `HandlerIO`
    Returns:
      the metadata client for the current execution context

  - ### getMetaDataClient

    public MetaDataClient getMetaDataClient()
    Specified by:
      `getMetaDataClient` in interface `HandlerIO`
    Returns:
      the metadata client for the current execution context

  - ### getAdminManagementClientFactory

    public AdminManagementClientFactory getAdminManagementClientFactory()
    Specified by:
      `getAdminManagementClientFactory` in interface `HandlerIO`
    Returns:
      the metadata client for the current execution context

  - ### getAdminManagementClient

    public AdminManagementClient getAdminManagementClient()
    Specified by:
      `getAdminManagementClient` in interface `HandlerIO`
    Returns:
      the metadata client for the current execution context

  - ### getBatchReportClientFactory

    public BatchReportClientFactory getBatchReportClientFactory()
    Specified by:
      `getBatchReportClientFactory` in interface `HandlerIO`
    Returns:
      the batch report client factory for the current execution context

  - ### getBatchReportClient

    public BatchReportClient getBatchReportClient()
    Specified by:
      `getBatchReportClient` in interface `HandlerIO`
    Returns:
      the batch report client for the current execution context

  - ### getLogbookOperationsClientFactory

    public LogbookOperationsClientFactory getLogbookOperationsClientFactory()
    Specified by:
      `getLogbookOperationsClientFactory` in interface `HandlerIO`
    Returns:
      the logbook operations client factory for the current execution context

  - ### getLogbookOperationsClient

    public LogbookOperationsClient getLogbookOperationsClient()
    Specified by:
      `getLogbookOperationsClient` in interface `HandlerIO`
    Returns:
      the logbook operations client for the current execution context

  - ### getStorageClientFactory

    public StorageClientFactory getStorageClientFactory()
    Specified by:
      `getStorageClientFactory` in interface `HandlerIO`
    Returns:
      the storage client factory for the current execution context

  - ### getStorageClient

    public StorageClient getStorageClient()
    Specified by:
      `getStorageClient` in interface `HandlerIO`
    Returns:
      the storage client for the current execution context

  - ### getCollectInternalClientFactory

    public CollectInternalClientFactory getCollectInternalClientFactory()
    Specified by:
      `getCollectInternalClientFactory` in interface `HandlerIO`
    Returns:
      the collect internal client factory for the current execution context

  - ### getCollectInternalClient

    public CollectInternalClient getCollectInternalClient()
    Specified by:
      `getCollectInternalClient` in interface `HandlerIO`
    Returns:
      the collect internal client for the current execution context

  - ### getWorkFlowExecutionContext

    public WorkFlowExecutionContext getWorkFlowExecutionContext()
    Specified by:
      `getWorkFlowExecutionContext` in interface `HandlerIO`